2014年12月13日土曜日

GradleでJenkinsのメッセージを取得する

このエントリーをはてなブックマークに追加 はてなブックマーク - GradleでJenkinsのメッセージを取得する

GradleでJenkinsのコミットメッセージを取りたかった(deploygateのメッセージにJenkinsのコミットメッセージとビルド番号を入れたかった)のでGradleスクリプトを作ったのでメモ。

Gitsにも置きました。

toshihirock / JenkinsGradle

// something

// jenkins
import groovy.json.*

ext {
    jenkinsUrl = 'http://localhost:8080'
    buildNumber = System.getenv("BUILD_NUMBER");
    jobName = System.getenv("JOB_NAME");
    println "build number is ${buildNumber}"
    println "jobName is ${jobName}"
}

def getJson(url) {
    println "start getJson $url"
    def response = new URL(url).text
    return new JsonSlurper().parseText(response)
}

def getJenkinsMessage(message)  {
    def url = "${jenkinsUrl}/job/${jobName}/${buildNumber}/api/json"
    def items = getJson(url)['changeSet']['items']
    items.eachWithIndex() { obj, i ->
        message += obj['msg'] + ' '
    }

    return message
}

task jenkins << {
    String message = "B${buildNumber} "
    println getJenkinsMessage(message)
}

参考

【初心者でも】やろうぜGroovy!〜ファイル読み書きしたり、Web APIたたいたり、レスポンスの中身確認したり〜編【今すぐ使える】

Groovy-Looping

0 件のコメント:

コメントを投稿