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

标签 powershell teamcity

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

我看过了:

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

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

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

最佳答案

为了将值保存回参数,您必须调用 REST API。

我使用 PowerShell 脚本作为 PowerShell 3+ 中 Invoke-RestMethod cmdlet 的包装器,可以在构建步骤中重复使用以实现您想要的效果。

第 1 步。

将脚本保存到 PowerShell 文件并将其添加到源代码管理中 rest-api-wrapper.ps1

第 2 步。

创建一个引用脚本的 PowerShell 构建步骤并传入以下参数,根据您的情况量身定制

%teamcity.serverUrl%/httpAuth/app/rest/projects/project_id/parameters/parameter_name

“用户名”

“密码”

“放”

“保存的值(value)”

enter image description here

可在此处找到更多详细信息 - TeamCity Documentation

希望对你有帮助

关于powershell - 从 Powershell 将环境变量保存回 Team City,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31128899/

相关文章:

events - 我可以在 Microsoft Lync API 中的何处设置传入 IM 的事件处理程序?

powershell - Powershell获取计算机AD OU并与定义的字符串进行比较

powershell - 使用Powershell计划Azure DevOps版本

java - 在 Teamcity 中运行 Gradle Wrapper 时无法通过代理建立隧道

msbuild - 确定您的构建是否作为私有(private)构建运行

ios - 如何使用命令行从 iPhone 模拟器卸载应用程序?

Powershell Invoke-Command 传递环境变量

外壳缩进

TeamCity url 用于查看最新版本的报告选项卡

c# - Selenium 错误 - 对远程 WebDriver 的 HTTP 请求在 60 秒后超时