メインコンテンツまでスキップ

ワークアイテムのリソース割り当て

前提

  • 更新対象のワークアイテムの ID およびそのワークアイテムを保持するプロジェクトの ID は既知とします。

プロジェクトメンバーとグループの取得

ワークアイテムへの割り当ては、プロジェクトメンバーとなっているユーザー、もしくはプロジェクトのグループに対してのみ行えます。 プロジェクト外のユーザーやグループにワークアイテムを割り当てることはできません。

割り当て時にユーザーまたはグループの ID を指定する必要があるため、これらをあらかじめ取得しておく必要があります。 プロジェクトの取得の API の includes クエリパラメータに Members,UserGroups を指定すると、プロジェクトの基本情報とともにプロジェクトメンバーとグループの情報を取得できます。

GET /api/project/projects/{projectId}?includes=Members,UserGroups

リソース割り当て

ワークアイテムの割り当てを変更する場合は、ワークアイテムの更新の API の assignmentChange パラメータに追加、更新、削除するユーザーまたはグループを指定します。

PUT /api/workitem/workitems/{workitemId}
Request Body
{
"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.recalculatePlannedTimeByAssignmentfalse の場合、assignmentChange.addsassignmentChange.updates で指定した割り当てごとの計画工数の値は無視され、ワークアイテムの計画工数が分配されることに注意してください。

割り当てごとに計画工数を指定する場合は assignmentChange.recalculatePlannedTimeByAssignmenttrue にします。

注意

後からワークアイテムの計画工数を変更した場合、変更後の計画工数の値を各割り当てに分配します。 分配は、もとの割り当てごとの計画工数の比率を維持して、ワークアイテムの計画工数と割り当ての計画工数の合計が一致するように行われます。