Jenkins 如何在groovy中替换yaml文件中的字符串?

Jenkins 如何在groovy中替换yaml文件中的字符串?,jenkins,groovy,yaml,Jenkins,Groovy,Yaml,samle jules.yaml文件: sealId: 222222 node: java-11 && maven-3 baseVersion: 1.0.0 aws: endpointType: codedeploy appspec: mapping: - name: master awsDeployment: - env: dev accountId: '122121212' regions:

samle jules.yaml文件:

sealId: 222222
node: java-11 && maven-3 
baseVersion: 1.0.0
aws:
  endpointType: codedeploy
  appspec: 
mapping:
  - name: master
    awsDeployment:
      - env: dev
        accountId: '122121212'
        regions:
          - region: us-east-1
            codedeploy:
              - application: cdp-agent-codedeploy
                deploymentGroup: cdp-agent-codedeploy-gp
我需要用不同的值替换应用程序和部署组。我像下面那样试过,但没有成功

我的詹金斯文件代码:

julesnew = readYaml file: "jules.yml"
       
          julesnew.mapping[0].awsDeployment.env[0].regions[0].codedeploy.deploymentGroup ="new-deploymentgroup"

writeYaml file: 'juels-new.yaml', data: julesnew
          sh "cat juels-new.yaml"

请指导我。

您的过程是正确的,但您需要正确导航原始YAML结构。我想你需要

julesnew.mapping[0].awsDeployment[0].regions[0].codedeploy[0].deploymentGroup = "new-deploymentgroup"

虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-谢谢你的提示。我在这里太快了:用完整的说明更新了答案。