【发布时间】:2020-02-24 12:11:34
【问题描述】:
在 Azure DevOps 中,我创建了一个使用 newman CLI 运行 Postman 测试的任务组。作为输入,用户可以传入 Postman 集合和环境文件的路径。
由于newman CLI 是必需的,因此任务组中的第一个任务是安装它。但是,在运行多个集合的情况下,无需反复安装 CLI,因此我想提供一个复选框,然后根据该复选框的值有条件地运行安装任务。
由于任务组的 UI 非常缺乏有用的选项,我开始探索 API。我可以添加额外的输入,但将明显的 type 选项设置为 checkbox 只会产生额外的文本 (string) 输入。
POST https://dev.azure.com/{org}/{project}/_apis/distributedtask/taskgroups?api-version=5.1-preview.1
{
...
"inputs": [
{
"aliases": [],
"options": {},
"properties": {},
"name": "Rbt.Cli.Install",
"label": "Install 'newman' CLI?",
"defaultValue": true,
"required": false,
"type": "checkbox",
"helpMarkDown": "Choose whether or not to install the 'newman' CLI. You only need to install it if it hasn't already been installed by a previos task running on this job.",
"groupName": ""
},
...
],
...
}
仔细查看文档,有一个输入定义 - TaskInputDefinition。然而,看起来好像负责编写that documentation 的人有一天很早就离开了,而且从未有时间去做。根本没有描述,因此无法知道定义中属性的有效值。
如何向我的任务组添加复选框?
【问题讨论】:
-
确实如此,非常感谢。该架构正是我所追求的。
标签: azure-devops azure-devops-task-groups