我可以在 DevOps 管道中引用查找表吗?

问题描述 投票:0回答:1

我有一个 Azure DevOps 管道,其中有 2 个用户输入的变量

ProductCode
(类似“PROD001”的短字符串)和
ProductId
(与该 ProductCode 关联的 GUID)。

目前,当有人运行管道时,他们需要输入 ProductCode,然后查看单独的文档以手动查找该代码的 ProductId,并将其复制并粘贴回管道字段。

是否可以将该表存储在某处,以便用户只需要输入 ProductCode,管道操作就可以查找 Id?它需要易于访问,以便 DevOps 用户可以根据需要添加新产品(例如,不必编辑 Powershell 脚本或存储在代码分支中的文本文件)

azure-devops azure-pipelines
1个回答
0
投票

您可以使用变量组来存储

ProductCode-ProductId
对的列表,如下所示:

  1. 创建变量组(例如,

    ProductCode_ProductId
    )。该组中,变量名是
    ProductCode
    的值,变量值是对应的
    ProductId
    的值。当您有新的
    ProductCode-ProductId
    对时,您可以随时将它们添加到此组中。

    enter image description here

  2. 在 YAML 管道中,

    • 参考上面创建的变量组。
    • 设置一个参数(
      ProductCode
      )让用户输入
      ProductCode
      的值。
    • 使用表达式'
      ${{ parameters.ProductCode }}
      '获取
      ProductCode
      的值,使用表达式'
      $(${{ parameters.ProductCode }})
      '获取对应的
      ProductId
      的值。
    parameters:
    - name: ProductCode
      type: string
      default: ''
    
    variables:
    - group: ProductCode_ProductId
    
    steps:
    - checkout: none
    - bash: |
        echo "ProductCode = ${{ parameters.ProductCode }}"
        echo "ProductId = $(${{ parameters.ProductCode }})"
      displayName: 'Print ProductCode and ProductId'
    
  3. 结果。

    enter image description here


© www.soinside.com 2019 - 2024. All rights reserved.