首页 > 解决方案 > 如何将已从json中提取的变量键和值存储到Azure管道中另一个具有相同格式的变量中?

问题描述

我有一个变量模板

var1.yml
variables:
- name: TEST_DB_HOSTNAME
  value: 10.123.56.222
- name: TEST_DB_PORTNUMBER
  value: 1521
- name: TEST_USERNAME
  value: TEST
- name: TEST_PASSWORD
  value: TEST
- name: TEST_SCHEMANAME
  value: SCHEMA  
- name: TEST_ACTIVEMQNAME
  value: 10.123.56.223
- name: TEST_ACTIVEMQPORT
  value: 8161

当我运行以下管道时

resources:
  repositories:
  - repository: templates
    type: git
    name: pipeline_templates
    ref: refs/heads/master


trigger:
- none
variables:
  - template: templates/var1.yml@templates
pool:
  name: PoolA
steps:
- pwsh: |
    Write-Host "${{ convertToJson(variables) }}"

我得到输出

{
  build.sourceBranchName: master,
  build.reason: Manual,
  system.pullRequest.isFork: False,
  system.jobParallelismTag: Public,
  system.enableAccessToken: SecretVariable,
  TEST_DB_HOSTNAME: 10.123.56.222,
  TEST_DB_PORTNUMBER: 1521,
  TEST_USERNAME: TEST,
  TEST_PASSWORD: TEST,
  TEST_SCHEMANAME: SCHEMA,
  TEST_ACTIVEMQNAME: 10.123.56.223,
  TEST_ACTIVEMQPORT: 8161
}

如何修改管道以仅从结果集中提取键值"Test_"并以相同格式存储到另一个变量中,以便可以在同一管道中的其他任务中使用?或遍历具有键“Test_”的对象并获得相同的值?

标签: jsonazureazure-devopsjqazure-powershell

解决方案


推荐阅读