如何在 VSTS 构建任务输入 PickList 中显示 "Area path"?

How to display "Area path" in VSTS build task input PickList?

我需要在 VSTS 构建任务输入 PickList 中显示 "Area path",以便我可以从我的构建任务中检索用户选择的 "Area path" 值并将其设置在生成的工作项中通过构建任务。现有的 VSTS API 是否可行?如果可以,该怎么做?

我认为这是在“实用程序”部分的“复制文件”任务中完成的。

提前致谢。

是的,是的。您可以在 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"
        }
    ],

你会得到这样的构建任务:

但是,由于classification nodes api的响应中的数据结构,当子区域的级别越多时,您必须添加更多的输入。