Azure DevOps发布任务-从输入字段中提取选择列表选项的值

时间:2019-06-05 00:01:09

标签: azure-devops azure-pipelines-release-pipeline

我们有一个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),但都没有用。

1 个答案:

答案 0 :(得分:0)

instanceNameFormat是任务在构建或发布步骤列表中的显示方式,您可以通过使用$(variablename)使用变量值。如果要设置值,则需要实现脚本。请参阅azure-devops-extension-tasks

您可以创建一个脚本文件并添加如下代码:

    // Get category
    const inputCategory = tl.getInput("category", false);
    tl.setVariable("category", inputCategory);

在这里,方法 setVariable 将输入值设置为名为 category 的变量。