我们有一个Azure DevOps发布任务,task.json文件的片段如下:
"instanceNameFormat": "Test Task - $(category)",
"inputs": [
{
"name": "category",
"type": "pickList",
"label": "Choose Category",
"required": true,
"helpMarkDown": "Select Category",
"options": {
"a": "Category A",
"b": "Category B"
}
}...
现在您可以看到,我们有一个选择列表,根据选择,我们正在填充实例名称(即,显示在任务列表上的任务名称)。现在,由于键入的选项是'a'和'b'而不是全名,因此该任务显示为'Test Task-a',而我们想要的是'Test Task-Category A'。我们如何实现呢?我尝试了$(category.name)
和$(category.value)
,但都没有用。
答案 0 :(得分:0)
instanceNameFormat
是任务在构建或发布步骤列表中的显示方式,您可以通过使用$(variablename)使用变量值。如果要设置值,则需要实现脚本。请参阅azure-devops-extension-tasks。
您可以创建一个脚本文件并添加如下代码:
// Get category
const inputCategory = tl.getInput("category", false);
tl.setVariable("category", inputCategory);
在这里,方法 setVariable 将输入值设置为名为 category 的变量。