从Powershell将环境变量保存回Team City

时间:2015-06-30 03:10:27

标签: powershell teamcity

我们需要定期运行构建配置,其中包括重新创建令牌/登录等。我们希望将这些配置作为环境变量保存回Team City。我们随后执行的构建将要查看此Environment Variable存储,并根据需要在我们的配置中执行字符串替换。

我已经看过了:

##teamcity[setParameter name='env.TEST' value='test']

但是从阅读文档来看,这仅用于在同一构建中的构建步骤之间传递变量。它实际上并没有将变量保存回Team City。

是否有任何方法(最好来自powershell脚本),调用Team City并告诉它添加环境变量(或任何其他变量)。

1 个答案:

答案 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”

enter image description here

更多细节可以在这里找到 - TeamCity Documentation

希望这有帮助