ユーザーが選択した「エリア パス」の値をビルド タスクから取得し、ビルド タスクによって生成された作業項目に設定できるように、VSTS ビルド タスクの入力 PickList に「エリア パス」を表示する必要があります。これは既存の VSTS API で可能ですか? もしそうなら、これを行う方法は?
これは、Utilty セクションの Copy Files タスクで行われると思います。
前もって感謝します。
はい、そうです。これを実現するには、task.josn ファイルに次のセクションを追加します。
"inputs": [
{
"name": "rootArea",
"type": "pickList",
"label": "rootArea",
"defaultValue": "",
"required": false,
"helpMarkDown": "Select the root area.",
"properties": {
"DisableManageLink": "True"
}
},
{
"name": "childArea",
"type": "pickList",
"label": "childArea",
"defaultValue": "",
"required": false,
"helpMarkDown": "Select the child area.",
"properties": {
"DisableManageLink": "True"
}
}
],
"sourceDefinitions": [
{
"target": "rootArea",
"endpoint": "/$(system.teamProject)/_apis/wit/classificationNodes/areas?$depth=2&api-version=1.0",
"selector": "jsonpath:$.name",
"keySelector": "jsonpath:$.name",
"authKey": "tfs:teamfoundation"
},
{
"target": "childArea",
"endpoint": "/$(system.teamProject)/_apis/wit/classificationNodes/areas?$depth=2&api-version=1.0",
"selector": "jsonpath:$.children[*].name",
"keySelector": "jsonpath:$.children[*].name",
"authKey": "tfs:teamfoundation"
}
],
ただし、分類ノード apiの応答のデータ構造により、子領域のレベルが増えると入力を追加する必要があります。