我正在尝试创建一个接收两个参数的TeamCity构建:第一个是由逗号(或任何其他字符)分隔的值列表,第二个将是单个值。然后,作业应该拆分第一个列表,并为第一个列表中的每个值调用第二个作业。
实施例:
Job1“value1,value2,value3”,“other_value”
应排队三个新版本:
Job2“value1”,“other_value”
Job2“value2”,“other_value”
Job2“value3”,“other_value”
Job2已在服务器中定义,我不想更改它。对于Job1来说,这是我到目前为止所得到的:
Param([string]$teamcity_url, [string]$user, [string]$pass, [string]$values, [string]$other_value)
$envs = $values.Split(',');
foreach ($env in $envs) {
$req = $teamcity_url + "/httpAuth/action.html?add2Queue=<id>&name=env&value=" + $env + "&name=other&value=" + $other_value
$web = New-Object System.Net.WebClient
$web.Credentials = New-Object System.Net.NetworkCredential($user, $pass)
$web.DownloadString($req)
}
我想传递$ user和$传递与触发Job1的用户相同的用户名和密码。我知道如何获取用户名: teamcity.build.triggeredBy.username ,但我不知道如何获取密码。我理解安全问题。
如果没有这个,我还可以用什么其他选项来完成同样的工作?