0

我在 TeamCity 的 Kotlin DSL 中有几个脚本步骤。例如,这里我更新了在以前的 buildTypes 中更改的参数。

script {
  scriptContent = """        
    TEMP_VAR=${'$'}(curl --insecure -v --Header "Content-Type: text/plain" --user '%apiName%:%apiPassNew%' <TC-url>/httpAuth/app/rest/projects/<projectName>/parameters/%$myVar%)
    echo "##teamcity[setParameter name='%$myVar%' value='${'$'}TEMP_VAR']" 
  """.trimIndent()
}

然后我有另一个脚本步骤,它运行带有 extraVars 的 ansible-playbook。我想将 JSON 从 extraVars 移动到 Kotlin 集合,但是,为此,我想使用 Kotlin 变量而不是 TeamCity 参数。我可以这样分配

val kotlinVar = "%myParameterFromTeamCity%"

但是我怎样才能在脚本块中更新这个参数的值呢?例如,我有这部分管道。

    var myVar = "%myParameterFromTeamCity%"
    steps {
      script {
        scriptContent = """        
          TEMP_VAR=${'$'}(curl --insecure -v --Header "Content-Type: text/plain" --user '%apiName%:%apiPassNew%' <TC-url>/httpAuth/app/rest/projects/<projectName>/parameters/myParameterFromTeamCity)
        """.trimIndent()
    }
      }

curl 运行后如何将 TEMP_VAR 的值设置为 myVar?

4

0 回答 0