我正在尝试创建一个接收两个参数的 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 和 $pass 的身份传递与触发 Job1 的用户相同的用户名和密码。我知道如何获取用户名:teamcity.build.triggeredBy.username,但我不知道如何或是否可以获取密码。我理解安全问题。
在没有这个的情况下,我可以使用什么其他选项来完成相同的操作?