pipeline {
stages {
stage('abort jobs') {
steps {
script {
Jenkins.instance.getAllItems(Job.class).collectMany { job ->
// ビルド一覧にflattenする
job.builds
}.findAll { build ->
// ビルド中のジョブに絞る
build.building
}.each { build ->
// ジョブを停止する
build.doStop()
}
}
}
}
}
}
- groovyの記法で、
.getXXX()
は.XXX
でプロパティアクセスできる
reference
- Groovy スクリプトで Jenkins 上のすべての Job を制御する | まくまくいろいろノート
- Mirantis Documentation: Abort a hung build in Jenkins
- jenkinsでジョブがチェックアウトするブランチを一括設定する · GitHub
- https://javadoc.jenkins-ci.org/jenkins/model/Jenkins.html
- https://javadoc.jenkins.io/hudson/model/Job.html#getBuilds()
- https://javadoc.jenkins.io/hudson/model/Run.html#isBuilding()
- https://javadoc.jenkins.io/hudson/model/AbstractBuild.html#doStop()