問題: スクリプトを使用して、一定量のジョブが SUCCESS 状態にあるかどうかを判断しています。cloudbees フォルダー プラグインを使用していない限り、問題なく動作しました。プロジェクトのリストを簡単に取得し、プロジェクトの結果を取得できました。しかし、ジョブを cloudbee フォルダーに移動した後、ジョブとその結果が利用できなくなりました。
Q : Cloudbees フォルダーにあるジョブから groovy を使用してジョブの結果を取得する方法はありますか?
問題: スクリプトを使用して、一定量のジョブが SUCCESS 状態にあるかどうかを判断しています。cloudbees フォルダー プラグインを使用していない限り、問題なく動作しました。プロジェクトのリストを簡単に取得し、プロジェクトの結果を取得できました。しかし、ジョブを cloudbee フォルダーに移動した後、ジョブとその結果が利用できなくなりました。
Q : Cloudbees フォルダーにあるジョブから groovy を使用してジョブの結果を取得する方法はありますか?
def job = Jenkins.instance.getItemByFullName('foldername/jobname');
フォルダー プラグインは、getItems()
フォルダーの下にあるすべての即時アイテム (ジョブ/フォルダー) を取得するために使用できるメソッドを提供します。
folder.getItems()
このリンクをチェックして、Jenkins のすべてのフォルダーをトラバースします。
以下のコード スニペットを表示すると、
import jenkins.*
import jenkins.model.*
import hudson.*
import hudson.model.*
import hudson.scm.*
import hudson.tasks.*
import com.cloudbees.hudson.plugins.folder.*
jen = Jenkins.instance
jen.getItems().each{
if(it instanceof Folder){
processFolder(it)
}else{
processJob(it)
}
}
void processJob(Item job){
}
void processFolder(Item folder){
folder.getItems().each{
if(it instanceof Folder){
processFolder(it)
}else{
processJob(it)
}
}
}