Last active
November 22, 2021 06:22
-
-
Save uemuraj/781f0fca02448806db960898643c582d to your computer and use it in GitHub Desktop.
Jenkins 用 Groovy Script をいくつかまとめ。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// スクリプトコンソールで使うスクリプトです。 | |
// 指定されたビューにある、無効化されたジョブに関して以下の作業をします: | |
// | |
// * ワークスペースがあれば削除します | |
// * 最後の成功ビルドと安定ビルド以外を削除します | |
// * 実際に削除する行がコメントアウトしてあるので、一度、何が消えるか確認してから、コメントを外して再実行しましょう | |
// | |
def jenkins = Jenkins.instance | |
def view = jenkins.views.find { it.name == 'ビューの名前を書きます' } | |
view.items.each { | |
if (it.isDisabled()) { | |
println(it.name) | |
def workspace = it.workspace | |
if (workspace && workspace.exists()) { | |
println(workspace) | |
// !! workspace.deleteRecursive() | |
} | |
def successful = it.lastSuccessfulBuild | |
def stable = it.lastStableBuild | |
it.builds.each { build -> | |
if (build != successful && build != stable) | |
{ | |
println(build) | |
// !! build.delete() | |
} | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// コマンドラインで CLI と一緒に使うスクリプトです。 | |
// スレイブがオンラインかどうかを返します: | |
// | |
// * 環境変数で JENKINS_URL が設定してあるとして、以下のように使います | |
// | |
// $ java -jar jenkins-cli.jar groovy slave.groovy slv01 slv02 slv03 | |
// slv01 | |
// slv03 | |
// | |
// * オンライン状態のスレイブの名前だけが返ってきますので、スクリプトの for 文で良い感じです | |
// | |
// $ for s in $(java -jar jenkins-cli.jar groovy slave.groovy slv01 slv02 slv03) | |
// > do | |
// > echo $s | |
// > done | |
// | |
// * 引数なしの場合は定義されているスレイブすべてを対象にオンライン状態のものだけを返します | |
// | |
import jenkins.model.* | |
def slave = Jenkins.instance.slaves.each { | |
if ((args.length == 0 || args.contains(it.name)) && it.getComputer().isOnline()) { | |
println it.name | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment