クライアント用のgitリポジトリの設定を自動化する処理中です。これは、TFS 2015でビルドテンプレート定義をセットアップすることです。これらのテンプレートの設定を、他の多くのビルド/デプロイメント関連ファイルと一緒に別のリポジトリに保存することを選択しました(何百ものリポジトリがあり、 )。TFS 2015チームサービスの秘密変数を設定するREST API経由でビルドする
私は(VSTS/VSOビルドシステムに非常によく似ています)新しいオンプレムTFS 2015のビルドシステムを使用して、物事のすべての種類のAPIを照会しています。 Build definitionsとBuild Definition Templatesは私が今作業しているもので、私の特定の問題がある場所です。 (保存されたビルド定義またはビルド定義テンプレートのいずれかのために)照会する
が は、TFSが正しく返し:
ビルド変数の数は、私は非公開たいAPIキーが含まれています"安全"と設定されている変数の空白文字列ですが、応答JSONには "secret"という変数への参照は含まれていません。ここでは、(ビルド定義テンプレートのその同じ)私は、ビルド定義を取得するときにJSONの抜粋が返されます:
(ドキュメントで定義された)ウリを呼び出し
GET ます。https:// {インスタンス}/DefaultCollection/{プロジェクト}/_のAPI /ビルド/定義/ {definitionId}?APIバージョン= {バージョン} [&リビジョン= {INT}]
抜粋
"variables": {
"system.debug": {
"value": "false",
"allowOverride": true
},
"system.prefergit": {
"value": "true"
},
"MySecureVariable": {
"value": ""
}
}
「isSecret」などのプロパティが存在することが予想されますが、これを参照するドキュメントや例は見つかりません。ドキュメントでは、がサポートされていないかどうかも言及していません。がサポートされているため、私は迷っています。
変数を値に設定すると(つまり、ビルド定義テンプレートを使用して新しいビルド定義を作成すると)、「秘密」オプションがUIで無効になり、キーが表示されます。あなたは、誰かがUIに入り、変数を手動で秘密にすることができると主張することもできますが、それは忘却に役立つ追加のステップです。
これらの秘密変数はパスワードセーフに保存されており、実行時にスクリプトを実行する人にパスワードを入力するよう促します(または、私はセーフからの読み込みを自動化します - まだ分かりません)。しかしそれはポイントの横にある。
セキュリティ保護された変数をAPI経由で直接設定する方法については、誰でも助言できますか?