groovy 用嵌套环境变量填充加载的变量

vqlkdk9b  于 2022-11-01  发布在  其他
关注(0)|答案(1)|浏览(150)

我在我的管道中有一个groovy脚本,它从一个json文件中加载一些文本。现在我想将这个加载的文本与现有的环境变量组合起来,但是它不会填充占位符。我做什么:

json
{
  "resource": {
    "SERVICE_API_URL":"http://my-service-svc.${KUBERNETES_HOST}:5000"
  }
}

script {
  env.KUBERNETES_HOST = "myjenkins"
  env.JSONSTRING = readFile(file: 'pipeline/pipeline.config')
  def propsen = readJSON text: "${env.JSONSTRING}"

  env.test = propsen.resource.SERVICE_API_URL
  echo "${test}"
}

我希望这将回显"http://my-service-svc.myjenkins:5000",但它仍然回显"http://my-service-svc.${KUBERNETES_HOST}:5000"
那么,有没有一个技巧,如何在动态加载的变量中填充这个“嵌套”变量呢?

wgx48brx

wgx48brx1#

尝试将env添加到*.json文件中的变量中,如下所示:

{
  "resource": {
    "SERVICE_API_URL":"http://my-service-svc.${env.KUBERNETES_HOST}:5000"
  }
}

相关问题