問題タブ [jenkins-groovy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
batch-file - Jenkins groovy run バットファイルをループで実行
.txt ファイルを使用して、彼の各行を調べ、各行をバット スクリプトの引数として送信します。
次のコードを実行すると、最初の引数を受け取りますが、bat が最初に失敗すると、残りのファイル行の実行を続行できなくなります。
出力例:
次のように切り替えると、完全なリストが出力されることに注意してください。
私が間違っていることは何ですか?
git - GitChangeSet オブジェクトのリポジトリ名または URL を取得するにはどうすればよいですか?
私はGitChangeSet
オブジェクトを持っています(最終的にはビルドから来ました)。そのコミットに関連付けられているリポジトリ名または URL を見つけたいと思います。ただし、オブジェクトのどのプロパティも、このコミットが最終的にどこから来たのかを示唆しているようには見えません。例えば:
私はこの commit オブジェクトを繰り返し処理して取得しましたbuild.changeSets
(これは class から来ていると思いますhudson.model.AbstractBuild
)。この特定のコミットが、このビルドに関連付けられたメイン リポジトリではなく、グローバルな共有ライブラリ リポジトリからのものであることは知っていますが、その情報をプログラムで抽出する明らかな方法は見当たりません。 オブジェクト (または一般的に他のオブジェクト) がどのリポジトリから来たかをプログラムで特定するにはどうすればよいですか?GitChangeSet
hudson.model.AbstractBuild.changeSets
参考までに、失敗したビルドに関する電子メール レポートを作成しています。このレポートでは、特に、失敗したビルドに関連するコミットのリストを収集しています。ジョブ間に複雑なアップストリーム/ダウンストリームの関係があるため、ビルドが成功するとアップストリームのジョブに依存するダウンストリーム ジョブがトリガーされるため、1 つのリポジトリでコミットすると一連のビルドがトリガーされる場合があります。さらに、ビルドに関連付けられた他のリポジトリ、特にグローバルな共有ライブラリ リポジトリがあります。現在のビルドに至る一連のビルドの最終的な責任を負うのはどのコミットかについて、レポートで言及したいと思います。これらの上流のコミットを見つけることは、今のところそれほど苦痛ではありません (おかげでUpstreamJobCause
)、しかし、私はそれらのコミットが最終的にどこから来たのかを判断することに夢中になりました。述べたように私の質問に対する答えがわからない場合は、コメントでこの問題に対する代替アプローチに関する提案をいただければ幸いです。