2016-11-20 8 views
1

私はJenkins 2でGitHubリポジトリ(hereが利用可能)に接続されたマルチブランチパイプラインジョブを持っています。 GitHubリポジトリ内のプル要求ごとにJenkinsに新しい "ジョブ"が作成されますが、Jenkinsでは無意味なプルリクエスト番号(ジョブはPR-1、PR-2などと呼ばれます)からその名前を継承しますコンテキスト。 ジョブまたはJenkinsfileを設定して各プルリクエストにジョブの説明を追加することはできますか(またどのように)できますか? (この例のように:https://ci.rssw.eu/job/sonar-openedge/Jenkins 2のマルチブランチパイプラインでジョブの説明を追加するにはどうすればよいですか?

if (env.BRANCH_NAME.startsWith('PR')) { 
def resp = httpRequest url: "https://api.github.com/repos/xxx/yyy/pulls/${env.BRANCH_NAME.substring(3)}" 
    def ttl = getTitle(resp) 
    def itm = getItem(env.BRANCH_NAME) 
    itm.setDisplayName("PR '${ttl}'") 
} 
} 

@NonCPS 
def getItem(branchName) { 
    Jenkins.instance.getItemByFullName("sonar-openedge/${branchName}") 
} 

@NonCPS 
def getTitle(json) { 
    def slurper = new groovy.json.JsonSlurper() 
    def jsonObject = slurper.parseText(json.content) 
    jsonObject.title 
} 

これは仕事の概要ページから直接利用できるジョブ記述を持つことができます:ここで

+0

重複? http://stackoverflow.com/questions/38532119/set-the-pipeline-name-and-description-from-jenkinsfile – MaTePe

+0

私が探しているものではありませんが、私を軌道に乗せてください。 'Jenkins.instance.getItemByFullName(" xxx/PR-zz ")を使う。setDisplayName(" Any description ... ")'は、表示名を変更するだけです。私は、GitHubからプルリクエストの説明を取得するためにいくつかのコードを追加し、ここで答えを出します。 –

答えて

関連する問題