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

ワークアイテムの取得

プロジェクトのID({projectId})が既知とすると、プロジェクトのワークアイテムは以下のように取得できます。

プロジェクトの取得

プロジェクトを取得します。

GET /api/project/projects/{projectId}

ルートアイテムのIdを取得

取得したプロジェクトの WorkItemRootFolderId フィールドからプロジェクトのルートアイテムのIDを取得します。

子アイテムの取得

取得したIDをパスパラメータ {workitemId} に指定して、子アイテムの取得のAPIを実行します。

GET /api/workitem/workitems/{workitemId}/subitems
  • fields クエリパラメータに取得するフィールドを指定できます。省略した場合はすべてのフィールドが返ります。
  • depth クエリパラメータに何回層目までのアイテムを取得するか指定できます。省略した場合は末端まで取得します。
注意
  • ルート直下のアイテムのみ取得する場合は depth=1 を指定します(ルートを 0 と数えます)。
  • depth はパスパラメータの {workitemId} で指定した親ワークアイテムからの相対値でなく常にプロジェクトのルートからの絶対値です。
    そのため、親が2階層目のアイテムのときに depth=1 を指定すると子は取得できません。
GET /api/workitem/workitems/{workitemId}/subitems?depth=1

以下のようなレスポンスが返ります。

Response
[
{
"fields":{
"Id": "60",
"Name": "R商品開発",
...,

"SubItems":[
{
"fields":{
"Id": "2020",
...
},
},
...,
{
...
}
],.
},
...
}
]
注意

配列になっていますが、要素数は 1 で、その要素はパスパラメータの {workitemId} で指定した親アイテムになっています。
子のアイテムは response[0].fields.SubItems に含まれます。

例えば、最後の子アイテムの ID は以下のように取得できます。

c#
var parent = response[0];
var children = parent.fields.SubItems;
var childCount = children.length;
var child = children[childCount - 1];
var workitemId = child.fields.Id;