タスクの作成
タスクの作成
タスクを作成するには、タスクのactionと、タスクの追加先となるファイルを表すitemを指定してPOST /tasks APIを呼び出す必要があります。
curl -i -X POST "https://api.box.com/2.0/tasks" \
-H "authorization: Bearer <ACCESS_TOKEN>" \
-H "content-type: application/json" \
-d '{
"item": {
"id": "11446498",
"type": "file"
},
"action": "review"
}'await client.tasks.createTask({
item: {
type: 'file' as CreateTaskRequestBodyItemTypeField,
id: file.id,
} satisfies CreateTaskRequestBodyItemField,
message: 'test message',
dueAt: dateTime,
action: 'review' as CreateTaskRequestBodyActionField,
completionRule: 'all_assignees' as CreateTaskRequestBodyCompletionRuleField,
} satisfies CreateTaskRequestBody);client.tasks.create_task(
CreateTaskItem(type=CreateTaskItemTypeField.FILE, id=file.id),
action=CreateTaskAction.REVIEW,
message="test message",
due_at=date_time,
completion_rule=CreateTaskCompletionRule.ALL_ASSIGNEES,
)await client.Tasks.CreateTaskAsync(requestBody: new CreateTaskRequestBody(item: new CreateTaskRequestBodyItemField() { Type = CreateTaskRequestBodyItemTypeField.File, Id = file.Id }) { Message = "test message", DueAt = dateTime, Action = CreateTaskRequestBodyActionField.Review, CompletionRule = CreateTaskRequestBodyCompletionRuleField.AllAssignees });try await client.tasks.createTask(requestBody: CreateTaskRequestBody(item: CreateTaskRequestBodyItemField(type: CreateTaskRequestBodyItemTypeField.file, id: file.id), message: "test message", dueAt: dateTime, action: CreateTaskRequestBodyActionField.review, completionRule: CreateTaskRequestBodyCompletionRuleField.allAssignees))client.getTasks().createTask(new CreateTaskRequestBody.Builder(new CreateTaskRequestBodyItemField.Builder().id(file.getId()).type(CreateTaskRequestBodyItemTypeField.FILE).build()).action(CreateTaskRequestBodyActionField.REVIEW).message("test message").dueAt(dateTime).completionRule(CreateTaskRequestBodyCompletionRuleField.ALL_ASSIGNEES).build())await client.Tasks.CreateTaskAsync(requestBody: new CreateTaskRequestBody(item: new CreateTaskRequestBodyItemField() { Type = CreateTaskRequestBodyItemTypeField.File, Id = file.Id }) { Message = "test message", DueAt = dateTime, Action = CreateTaskRequestBodyActionField.Review, CompletionRule = CreateTaskRequestBodyCompletionRuleField.AllAssignees });await client.tasks.createTask({
item: {
type: 'file' as CreateTaskRequestBodyItemTypeField,
id: file.id,
} satisfies CreateTaskRequestBodyItemField,
message: 'test message',
dueAt: dateTime,
action: 'review' as CreateTaskRequestBodyActionField,
completionRule: 'all_assignees' as CreateTaskRequestBodyCompletionRuleField,
} satisfies CreateTaskRequestBody);タスクのアクション
Boxは現在、action値によって定義される、reviewとcompleteという2種類のタスクをサポートしています。
タスクのタイプによって、タスクがなりうる解決状態と、ウェブアプリおよびモバイルアプリでユーザーに表示されるインターフェースが決まります。
| タスクのアクション | 考えられる解決状態 |
|---|---|
review | incomplete, approved, rejected |
complete | incomplete, complete |
reviewタスクはincomplete状態で開始され、incomplete、approved、またはrejectedとしてマークすることができます。ユーザーインターフェースには、テキストボックスのほか、タスクを承認または拒否する1組のボタンが表示されます。
completeタスクはincomplete状態で開始され、incompleteまたはcompletedとしてマークすることができます。このタスクが完了としてマークされると、タスクの状態をそれ以上変更することはできなくなります。ユーザーインターフェースには、テキストボックスのほか、タスクを完了としてマークするためのボタンが表示されます。
完了のル ール
ファイルに関連するタスクは、そのファイルの複数のコラボレータに割り当てることができます。また、タスクのcompletion_ruleを使用すると、タスクを完了する必要があるのはタスクが割り当てられているすべてのユーザー (all_assignees) か1人の担当者のみ (any_assignee) かを定義できます。