タスク割り当て状態の変更
タスク割り当て状態の変更
タスク割り当ての状態を更新するには、PUT /tasks/:task_id/assignments
APIを呼び出し、completed
、incomplete
、approved
、rejected
などのresolution_state
を含めます。
cURL
curl -i -X PUT "https://api.box.com/2.0/task_assignments/12345" \
-H "authorization: Bearer <ACCESS_TOKEN>" \
-H "content-type: application/json" \
-d '{
"message": "New message",
"resolution_state": "completed"
}'
TypeScript Gen
await client.taskAssignments.updateTaskAssignmentById(taskAssignment.id!, {
requestBody: {
message: 'updated message',
resolutionState:
'approved' as UpdateTaskAssignmentByIdRequestBodyResolutionStateField,
} satisfies UpdateTaskAssignmentByIdRequestBody,
} satisfies UpdateTaskAssignmentByIdOptionalsInput);
Python Gen
client.task_assignments.update_task_assignment_by_id(
task_assignment.id,
message="updated message",
resolution_state=UpdateTaskAssignmentByIdResolutionState.APPROVED.value,
)
.NET Gen
await client.TaskAssignments.UpdateTaskAssignmentByIdAsync(taskAssignmentId: NullableUtils.Unwrap(taskAssignment.Id), requestBody: new UpdateTaskAssignmentByIdRequestBody() { Message = "updated message", ResolutionState = UpdateTaskAssignmentByIdRequestBodyResolutionStateField.Approved });
Java
String assignmentID = "12345";
BoxTaskAssignment taskAssignment = new BoxTaskAssignment(api, assignmentID);
BoxTaskAssignment.Info info = taskAssignment.getInfo();
info.setResolutionState(BoxTaskAssignment.ResolutionState.APPROVED);
taskAssignment.updateInfo(info);
Python
from boxsdk.object.task_assignment import ResolutionState
updated_task = {'resolution_state': ResolutionState.APPROVED}
updated_assignment = client.task_assignment(assignment_id='12345').update_info(data=updated_task)
print(f'Assignment ID is {updated_assignment.id} and resolution state is {updated_assignment.resolution_state}')
.NET
var requestParams = new BoxTaskAssignmentUpdateRequest()
{
Id = "12345",
ResolutionState = ResolutionStateType.approved
};
BoxTaskAssignment updatedAssignment = await client.TasksManager.UpdateTaskAssignmentAsync(requestParams);
Node
// Complete a task
client.tasks.updateAssignment(
'12345',
{
message: 'Done!',
resolution_state: client.tasks.resolutionStates.COMPLETE
})
.then(assignment => {
/* assignment -> {
type: 'task_assignment',
id: '12345',
item:
{ type: 'file',
id: '33333',
sequence_id: '0',
etag: '0',
sha1: '7840095ee096ee8297676a138d4e316eabb3ec96',
name: 'script.js' },
assigned_to:
{ type: 'user',
id: '22222',
name: 'Sample Assignee',
login: 'assignee@exmaple.com' },
message: 'Done!',
completed_at: null,
assigned_at: '2013-05-10T11:43:41-07:00',
reminded_at: null,
resolution_state: 'complete',
assigned_by:
{ type: 'user',
id: '33333',
name: 'Example User',
login: 'user@example.com' } }
*/
});
解決状態
Boxは現在、action
値によって定義される、review
とcomplete
という2種類のタスクをサポートしています。
タスクのタイプによって、タスクがなりうる解決状態と、ウェブアプリおよびモバイルアプリでユーザーに表示されるインターフェースが決まります。
タスクのアクション | 考えられる解決状態 |
---|---|
review | incomplete , approved , rejected |
complete | incomplete , complete |
review
タスクはincomplete
状態で開始され、incomplete
、approved
、またはrejected
としてマークすることができます。ユーザーインターフェースには、テキストボックスのほか、タスクを承認または拒否する1組のボタンが表示されます。
complete
タスクはincomplete
状態で開始され、incomplete
またはcompleted
としてマークすることができます。このタスクが完了としてマークされると、タスクの状態をそれ以上変更することはできなくなります。ユーザーインターフェースには、テキストボックスのほか、タスクを完了としてマークするためのボタンが表示されます。