ワークアイテムの追加
説明
指定した ID のワークアイテムの直下にアイテムを追加します。
fieldsパラメータの詳細は「ワークアイテムAPIのフィールドについて」を参照してください。
必要権限
プロジェクトの編集
URL
POST /workitem/workItems/{workItemId}/subItems
パスパラメーター
名前 | 型 | 必須か | 説明 |
---|---|---|---|
workItemId | string | ○ | ワークアイテムID |
リクエストボディ
名前 | 型 | 必須か | 説明 |
---|---|---|---|
fields | <string, object> | ○ | 追加時に設定するフィールド アイテムタイプIDの指定は必須 |
fieldCalcTypes | <string, string> | × | 追加時に設定するフィールドのフィールド決定方法 [Standard エディションの制約事項] ActualProgress 以外のフィールドを設定した場合はエラーになります。 |
subItems | AddWorkItemRequest[] | × | 同時に追加する子アイテム |
assignments | AssignmentAdd[] | × | 追加するアイテムの割り当て |
metadata | <string, string> | × | キーと値のコレクション - 追加時 : 値が null の項目を除いて設定する - 更新時 : キーが指定されなかった項目は変更しない。値が null に指定された項目は削除する |
orderBefore | string | × | 指定したアイテムの直前に挿入される ※orderBefore=0の場合、末尾に挿入 |
orderAfter | string | × | 指定したデータの直後に挿入される ※orderAfter=0の場合、先頭に挿入 |
orderFirst | boolean | × | true の場合、先頭に移動する true でない場合は何もしない |
orderLast | boolean | × | true の場合、末尾に移動する true でない場合は何もしない |
レスポンス
名前 | 型 | 説明 |
---|---|---|
items | <string, object>[] | 追加したワークアイテムのフィールド |
エラーケース
- プロジェクトがロックされている
- 指定したユーザーが存在しない
- 工程分類が利用可能でない
- 作業分類が利用可能でない
- アイテムタイプが利用可能でない
- ステータスタイプが利用可能でない
- フォルダでないアイテムに対して、フォルダのアイテムを追加した
- 実績入力済みアイテムに対して、アイテムを追加した
- プロジェクトメンバでないユーザーがリーダーに指定された
- プロジェクトメンバでないユーザーが割り当てに指定された
- プロジェクトメンバでないユーザーグループが割り当てに指定された
- 計画工数の粒度がシステム設定で定義された値と一致しない
- フィールド決定方法で指定した値が値域外である
特記事項
- ワークアイテムの積み上げは、遅延して処理されます。
- コスト権限がない場合は以下のフィールド設定は無視されます。
- 実績コスト(ActualCost)
- 計画コスト(PlannedCost)
[Standard エディションの制約事項]
- 子を持つアイテムは名前、コード、説明以外のフィールドは変更できません。
- 子を持たないアイテムに子を新規で作成した場合、以下のフィールドについては、値が設定されていなければ親のフィールド値を子に反映します。
- 工程分類、作業分類、色、マイルストーンか、計画工数、開始日、終了日、進捗率(決定方法が「ユーザー入力値」だった場合)、残り作業時間、計画成果量、実績成果量、規模単位、成果物情報、リーダー、期間が固定されているか、実績入力がロックされているか、完了日、チェックアイテム、割り当て
- Professional エディションで作成したアイテムタイプは利用できません。
サンプル
親のワークアイテムを指定して、そのワークアイテムに子アイテムを追加する
リクエスト
POST /workitem/workItems/708/subItems
{ fields:{ Id:"-1", Name:"案件D", ItemTypeId:"3" }, subItems:[ { parentId:"-1", fields:{ Name:"基本設計", ItemTypeId:"3" } }, { parentId:"-1", fields:{ Name:"詳細設計", ItemTypeId:"3" } }, { parentId:"-1", fields:{ Name:"製作", ItemTypeId:"3" } } ] }
レスポンス
200 OK { "items":[ { "id":"2058", "itemNumber":653, "treePath":"0/653/", "displayOrder":0.9921875, "progressCalcType":"ProgressWeightedAverage", "treeDepth":0, "createdAt":"2019-02-19T01:58:31", "updatedAt":"2019-02-19T01:58:31", "statusTypeId":"1", "actualProgress":0.0, "projectId":"20", "aclId":null, "hasSubItem":true, "createdBy":"21", "updatedBy":"21" }, { "id":"2059", "itemNumber":654, "treePath":"0/653/654/", "displayOrder":0.5, "progressCalcType":"UserInput", "treeDepth":0, "createdAt":"2019-02-19T01:58:31", "updatedAt":"2019-02-19T01:58:31", "statusTypeId":"1", "actualProgress":0.0, "projectId":"20", "aclId":null, "name":"基本設計", "createdBy":"21", "updatedBy":"21" }, { "id":"2060", "itemNumber":655, "treePath":"0/653/655/", "displayOrder":0.75, "progressCalcType":"UserInput", "treeDepth":0, "createdAt":"2019-02-19T01:58:31", "updatedAt":"2019-02-19T01:58:31", "statusTypeId":"1", "actualProgress":0.0, "projectId":"20", "aclId":null, "name":"詳細設計", "createdBy":"21", "updatedBy":"21" }, { "id":"2061", "itemNumber":656, "treePath":"0/653/656/", "displayOrder":0.875, "progressCalcType":"UserInput", "treeDepth":0, "createdAt":"2019-02-19T01:58:31", "updatedAt":"2019-02-19T01:58:31", "statusTypeId":"1", "actualProgress":0.0, "projectId":"20", "aclId":null, "name":"製作", "createdBy":"21", "updatedBy":"21" } ], "affectedItems":[ { "updatedAt":"2019-02-19T01:58:31", "id":"708" } ], "addedTimeEntryIds":[], "addedScheduleDependencyIds":[] }
型定義
AssignmentAdd
名前 | 型 | 必須か | 説明 |
---|---|---|---|
partyType | string | × | ユーザータイプ User:ユーザーを指定する場合 UserGroup:ユーザーグループを指定する場合 |
user | string | × | ユーザー ・接頭辞「#」で始まらない場合はユーザーの割り当てとします。 ユーザーの「ログイン名」、「LDAPログイン名」、「メールアドレス」、「名前」に完全一致するユーザーのIDを割り当てのユーザーIDとして追加処理を行います。 |
partyId | string | × | パーティID |
plannedTime | int | × | 計画工数 |
AddWorkItemRequest
名前 | 型 | 必須か | 説明 |
---|---|---|---|
subItems | AddWorkItemRequest[] | × | 追加子アイテム |
fields | <string, object> | × | 追加時に設定するフィールド アイテムタイプIDの指定は必須 |
assignments | AssignmentAdd[] | × | 追加割り当て |
parentId | string | × | 追加先の親アイテムのID |
orderBefore | string | × | このアイテムIDの兄として追加 |
orderAfter | string | × | このアイテムIDの弟として追加 |
orderFirst | boolean | × | 先頭にアイテムを追加 |
orderLast | boolean | × | 最後尾にアイテムを追加 |
updateToTreeDepth | int | × | 連鎖更新上限のツリーの深さ |