请考虑以下任务组:
因此,EnableSonarQube控制任务是否运行。但是Azure DevOps无法将其识别为参数。如果我以EnableSonarQube的名称声明一个构建变量,它确实可以正常工作,但是该变量隐式控制了构建中该TG的所有实例。
那么,如何使Azure DevOps识别它并为我提供参数?
答案 0 :(得分:0)
如何使Azure DevOps识别它并为我提供参数?
实际上,这是一个已知的任务组限制,不会为Azure Devops中的任务组参数提取变量值。
您可以从Powershell task does not expose variables to a task group
得到类似的问题作为解决方法,我们可以添加另一个任务来显示变量,以便可以将默认值作为参数传递:
然后,当我们在构建管道中使用此任务时,我们可以覆盖它,其作用范围仅限于任务组:
更新:
作为我在your previous thread中提供的解决方法,我们还可以使用相同的方法来修改.json
文件,以在inputs
中添加参数:
更改
"inputs": []
到
"inputs": [
{
"aliases": [],
"options": {},
"properties": {},
"name": "EnableSonarQube",
"label": "EnableSonarQube",
"defaultValue": "True",
"required": true,
"type": "string",
"helpMarkDown": "",
"groupName": ""
}
],
希望这会有所帮助。