Azure DevOps 扩展自定义 UI

Azure DevOps extension custom UI

我的任务是为 Azure DevOps 开发一个扩展来自动化构建过程——一个自定义构建任务。需要注意的是,实际上我正在开发的是一系列构建任务,每个任务都包含常规输入。但由于历史原因,所有这些构建任务都应该分组,用户可以从管道设置中任务页面的下拉列表中选择正确的任务。

问题是下拉菜单中的更改应该隐藏一些输入并显示一些其他输入 - 即我想处理下拉菜单的 CHANGE 事件并控制可见性UI 个元素。

这可能吗?

我走错路了吗?我该如何处理?

解决方案很简单,但目前还不是很明显。

每个输入都有一个 属性,称为 visibleRule,它完全满足需要:控制它所附加的输入的可见性。所以在 task.json 文件中,在 inputs 数组中,可以这样做:

定义下拉菜单:

{
  "name": "selectedOption",
  "type": "pickList",
  "label": "Options",
  "options": {
    "o1": "Option 1",
    "o2": "Option 2",
    "o3": "Option 3"
  }
},

然后像这样定义一些字段:

{
  "name": "test1",
  "type": "string",
  "label": "Option 1 test",
  "visibleRule": "selectedOption = o1"
},
{
  "name": "test2",
  "type": "string",
  "label": "Option 2 test",
  "visibleRule": "selectedOption = o2"
},

现在,只有在 selectedOption 下拉列表中选择了 o1(选项 1),才会显示 test1 输入。 test2o2 也是如此。如果 selectedOptiono3,则 test1test2 均不显示。