我们需要定期运行构建配置,其中包括重新创建令牌/登录等。我们希望将这些配置作为环境变量保存回Team City。我们随后执行的构建将要查看此Environment Variable存储,并根据需要在我们的配置中执行字符串替换。
我已经看过了:
##teamcity[setParameter name='env.TEST' value='test']
但是从阅读文档来看,这仅用于在同一构建中的构建步骤之间传递变量。它实际上并没有将变量保存回Team City。
是否有任何方法(最好来自powershell脚本),调用Team City并告诉它添加环境变量(或任何其他变量)。
答案 0 :(得分:6)
为了将值保留回参数,您必须调用REST API。
我使用PowerShell脚本充当PowerShell 3+中Invoke-RestMethod
cmdlet的包装器,可以在构建步骤中重复使用,以实现您的目标。
第1步。
将脚本保存到PowerShell文件并将其添加到源代码管理rest-api-wrapper.ps1
第2步。
创建引用脚本的PowerShell构建步骤,并传入以下参数,根据您的具体情况进行调整
%teamcity.serverUrl%/ httpAuth /应用程序/静止/项目/ PROJECT_ID /参数/ PARAMETER_NAME
“用户名”
“密码”
“PUT”
“TheValueToSave”
更多细节可以在这里找到 - TeamCity Documentation
希望这有帮助