ワークアイテムのリソース割り当て
前提
- 更新対象のワークアイテムの ID およびそのワークアイテムを保持するプロジェクトの ID は既知とします。
プロジェクトメンバーとグループの取得
ワークアイテムへの割り当ては、プロジェクトメンバーとなっているユーザー、もしくはプロジェクトのグループに対してのみ行えます。 プロジェクト外のユーザーやグループにワークアイテムを割り当てることはできません。
割り当て時にユーザーまたはグループの ID を指定する必要があるため、これらをあらかじめ取得しておく必要があります。
プロジェクトの取得の API の includes クエリパラメータに Members,UserGroups を指定すると、プロジェクトの基本情報とともにプロジェクトメンバーとグループの情報を取得できます。
GET /api/project/projects/{projectId}?includes=Members,UserGroups
リソース割り当て
ワークアイテムの割り当てを変更する場合は、ワークアイテムの更新の API の assignmentChange パラメータに追加、更新、削除するユーザーまたはグループを指定します。
PUT /api/workitem/workitems/{workitemId}
{
"assignmentChange": {
"adds": [
{
"partyId": "21",
"partyType": "User",
"plannedTime": 320
},
{
"partyId": "96",
"partyType": "UserGroup"
}
],
"updates": [
{
"partyId": "23",
"plannedTime": 120
}
],
"removes": "13,17",
"recalculatePlannedTimeByAssignment": true
}
}
-
assignmentChange.addsには、割り当てに追加するユーザーまたはグループの情報を指定します。ユーザーまたはグループの情報として以下を指定します。partyIdにはユーザーまたはグループの ID を指定します。partyTypeには、partyIdに指定した ID がユーザーであればUser、グループであればUserGroupを指定します。plannedTimeには割り当てごとの計画工数を指定します。省略した場合は0になります。
-
assignmentChange.updatesには、更新するユーザーまたはグループの情報を指定します。partyIdには更新対象のユーザーまたはグループの ID を指定します。plannedTimeには割り当てごとの計画工数を指定します。
-
assignmentChange.removesには、割り当てから削除するユーザーまたはグループの ID を指 定します。カンマ区切りで複数の ID を指定できます。 -
assignmentChange.recalculatePlannedTimeByAssignmentはワークアイテムの計画工数をどう扱うかについて指定します。詳細は後述します。
plannedTime には分単位で値を指定します。計画工数が 8 時間の場合は 480 を指定します。
plannedTime に指定する値は、システム動作設定で指定された計画工数の入力粒度(最小単位)と合わない場合はエラーとなります。
計画工数の入力粒度が 15 に設定されている場合、指定する値は 15 の倍数である必要があります。
assignmentChange.updates に指定するユーザーまたはグループは、既にワークアイテムに割り当てられている必要があります。
新たに割り当てを追加する場合は assignmentChange.adds を使用します。
assignmentChange に指定しなかった既存の割り当ては変更されません。