ワークアイテムのリソース割り当て
前提
- 更新対象のワークアイテムの 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 に指定しなかった既存の割り当ては変更されません。
ワークアイテムの計画工数と割り当ての計画工数
ワークアイテムの計画工数と割り当ての計画工数は、assignmentChange.recalculatePlannedTimeByAssignment パラメータにより、次のように決定します。
trueの場合、割り当てごとの計画工数の合計値でワークアイテムの計画工数を更新します。falseの場合、ワークアイテムの計画工数を各割り当ての計画工数に分配します。
assignmentChange.recalculatePlannedTimeByAssignment が false の場合、assignmentChange.adds や assignmentChange.updates で指定した割り当てごとの計画工数の値は無視され、ワークアイテムの計画工数が分配されることに注意してください。
割り当てごとに計画工数を指定する場合は assignmentChange.recalculatePlannedTimeByAssignment を true にします。
後からワークアイテムの計画工数を変更した場合、変更後の計画工数の値を各割り当てに分配しま す。 分配は、もとの割り当てごとの計画工数の比率を維持して、ワークアイテムの計画工数と割り当ての計画工数の合計が一致するように行われます。