同じ問題が発生しました。限り、それはすべてのジョブとそれが実行に時間がかかる全ての実験で2つのループで構成されて
for (job in Hudson.instance.getAllItems(hudson.model.Job)) {
for (run in job.getBuilds()) {
cause = run.getCause(Cause.UpstreamCause)
if ((cause) && (cause.pointsTo(mainBuild))) {
println "Downstream for " + mainBuild.getFullDisplayName() + " is " + run.getFullDisplayName()
}
}
}
: は現在、私は解決策を次のようしています。 この検索を減らす方法を探しています。お知らせします。
UPD:終わり
私は親実行オブジェクトから下流の実行を取得する任意の効率的な方法を見つけましたが、開始時間の基準を使用して検索を繰り返しを減らすことに成功しませんでした:
int i=0;
for (job in Hudson.instance.getAllItems(hudson.model.Job)) {
laterRuns = job.getBuilds().byTimestamp(mainBuild.getStartTimeInMillis(),System.currentTimeMillis());
for (run in laterRuns) {
i++;
cause = run.getCause(Cause.UpstreamCause)
if ((cause) && (cause.pointsTo(mainBuild))) {
println "Downstream for " + mainBuild.getFullDisplayName() + " is " + run.getFullDisplayName()
}
}
}
println "Iterations - $i"
これにより、12960から57までの合計反復回数が減少しました(数字はもちろん私のJenkinsにのみ関連しています)。
ダウンストリームのビルドの詳細は取得したいが、方法をホワイトリストに登録したくないのですか?不可能です。 [Run#getEnvironment()](http://javadoc.jenkins-ci.org/hudson/model/Run.html#getEnvironment-hudson.model.TaskListener-)を承認する必要があります。 –