私は、2 つのパラメーターを受け取る TeamCity ビルドを作成しようとしています。1 つ目はコンマ (またはその他の文字) で区切られた値のリストであり、2 つ目は単一の値です。次に、ジョブは最初のリストを分割し、最初のリストの値ごとに 2 番目のジョブを 1 回呼び出す必要があります。
例: Job1 "value1,value2,value3", "other_value"
3 つの新しいビルドをキューに入れる必要があります:
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)
}
Job1 をトリガーしたユーザーと同じユーザー名とパスワードを $user および $pass として渡したいと思います。ユーザー名teamcity.build.triggeredBy.usernameを取得する方法は知っていますが、パスワードを取得する方法や取得できるかどうかはわかりません。私はセキュリティ上の懸念を理解しています。
これがない場合、同じことを達成するために他にどのようなオプションを使用できますか?