Skip to content

Instantly share code, notes, and snippets.

@tyuki39
tyuki39 / HowToRunProject.groovysh
Created February 27, 2011 10:01
Jenkinsで他のプロジェクトのビルドを実行する方法
// 他のプロジェクトのビルドを実行する方法
// 以下は groovy plugin の Execute system Groovy script の中で使用して
// TEST プロジェクトのビルドを実行する例
def jobname = "TEST"
hudson.model.Hudson.instance.getItem(jobname).scheduleBuild()
@tyuki39
tyuki39 / HowToGetProjectSpecificEnvironmentVariables.groovysh
Created February 27, 2011 08:25
Jenkinsでプロジェクト固有の環境変数を取得する方法
// プラクティスとして良いかどうかは別として、他のプロジェクト固有の環境変数を得る方法
// 以下は groovy plugin の Execute system Groovy script の中で使用して
// TEST プロジェクトの WORKSPACE 環境変数の情報を得る例
def jobname = "TEST"
def envname = "WORKSPACE"
def job = hudson.model.Hudson.instance.getItem(jobname)
def envVars= job.lastBuild.properties.get("envVars")
println envVars[envname]
@tyuki39
tyuki39 / waitjob.groovysh
Created February 26, 2011 14:16
Jenkinsで、指定ジョブがビルド中でない場合は即実行、指定ジョブがビルド中の場合は待って実行する例
//
// 1. depjobnameで指定したジョブよりも自分自身が先にキューに入った場合は、自分自身のビルドを即実行する。
// 2. depjobnameで指定したジョブよりも自分自身が後にキューに入った場合は、depjobnameの終了を待つ。
// 2-1. ポーリング方式で終了を待つ
// 2-2. 最大リトライ回数は retrycount で指定
// 2-3. リトライ間隔は sleeptime で指定(単位はミリ秒)
// 3. depjobnameで指定したジョブが存在しなかった場合は、ビルドを失敗させるためにあえて例外が発生する
// ようにしています。
// 4. 設定手順
// 4-1. Groovy Pluginをインストールする
@tyuki39
tyuki39 / jenkins_job_isbuilding.groovysh
Created February 26, 2011 04:56
Jenkinsのビルド中ジョブ または キューに入っているジョブを取得する
// Jenkinsのビルド中のジョブを取得する
def jobs = hudson.model.Hudson.instance.items.findAll { it.isBuilding() }
jobs.each { println it.name }