gpt4 book ai didi

powershell - TeamCity - 用 powershell 迭代 vcs 根

转载 作者:行者123 更新时间:2023-12-04 15:42:26 25 4
gpt4 key购买 nike

我试图创建一个元运行器来使用 TeamCity 中的 powershell 生成元数据文件,我想知道是否有办法遍历不同的 vcs 路由?

我的代码:

$fileName = "metadata.json"

$vcsArray = @()
for ($i = 0; $i -le 5; $i++)
{
$vcsObject= @{
"VCSNumber"="%build.vcs.number.Proj_App_TcTestApp%"
}
$vcsArray += $vcsObject
}
$content = @{
"TeamCityBuildLogUrl" = "http://teamcity.hps.com/viewLog.html?buildId=%teamcity.build.id%&tab=buildResultsDiv&buildTypeId=%system.teamcity.buildType.id%";
"TeamCityProjectName" = "%system.teamcity.projectName%";
"TeamCityBuildNumber" = "%system.build.number%";
"BuildDateGenerated" = (Get-Date).ToString();
"TeamCityExecutionAgentName" = "%teamcity.agent.name%";
"VCSes" = $vcsArray
}
}

$content = $content | Add-Member @{"VCS Version2" = "testValue"} -PassThru # How to add more members dynamically.
$content = ConvertTo-JSON $content

New-Item $fileName -type file -force -value "// Metadata file generated by TeamCity`n"
Add-Content $fileName $content

cat $fileName # Test afterwards

当我添加另一个根时,根的名称最终成为标识符,这使得迭代它们变得困难,因为我在技术上不知道根的名称。

这是一个示例用例:
我有两个 vcs 根:
%build.vcs.number.Proj_App_TcTestFW%
%build.vcs.number.Proj_App_TcTestApp%

理想情况下,我想像这样遍历它们:
$vcsArray = @()
foreach ($vcsRoot in vcsRoots)
{
$vcsObject=@{
"VCSName"= $vcsRoot;
"VCSNumber"= "%build.vcs.number." + $vcsRoot%
}

$vcsArray += $vcsObject
}

但似乎我必须在我的脚本中对名称进行硬编码,所以我目前不知所措。

TeamCity 是否以我可以迭代它们的方式公开 VCS 路由?

谢谢
亚历克斯

最佳答案

好的,我没有实际的 TeamCity 经验,但看起来您可以通过发出 REST 命令来获取根列表:

Invoke-WebRequest -Uri 'http://teamcity.hps.com/httpAuth/app/rest/vcs-roots' -Method Get

它应该返回一个包含根列表的 XML 响应:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<vcs-roots count="1">
<vcs-root id="TestProject1_TestProject1perforce"
name="test-project1-perforce"
href="/httpAuth/app/rest/vcs-roots/id:TestProject1_TestProject1perforce"/>
</vcs-roots>

这就是你要找的吗?

引用:
  • TeamCity REST API Commands
  • 关于powershell - TeamCity - 用 powershell 迭代 vcs 根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33163072/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com