簡體   English   中英

Jenkins 多分支:從 Groovy 更改工作描述

[英]Jenkins multibranch: change Job description from Groovy

我在 Jenkins 中的多分支項目工作正常,但我想修改工作描述,默認情況下為“完整項目名稱:xxxx/”,使其更有意義。

我可以使用執行我的Jenkinfile時可用的currentBuild變量輕松更改構建描述,但我不知道如何修改父作業描述。

我的用例是我的存儲庫的每個分支都有一個關聯的容器,當它完成時更新為最新的構建。 因此,我的多分支項目中的每個工作都有自己的容器和 Web URI,我想將它們放入工作描述中。

這可能嗎?

如何使用 Jenkins Api 更新當前工作的描述? 類似的東西:

更新頂級多分支項目描述:

def jobName = "${env.JOB_NAME}"
Jenkins.instance.getItem(jobName.split('/')[0]).description = "hi"

要在多分支項目中更新特定分支項目的描述:

def jobName = "${env.JOB_NAME}"
Jenkins.instance.getItem(jobName.split('/')[0]).getItem("${env.BRANCH_NAME}").description = "hi"

注意:您需要通過“Manage Jenkins”->“In process Script Approval”來批准幾個功能

我已經寫了這個函數。 它支持文件夾中的作業。 不要忘記從沙箱允許:管理 Jenkins”->“進程內腳本批准”

@NonCPS
def setJobDescription(text){
    def jobNameTable = env.JOB_NAME.split('/')
    def it=Jenkins.instance
    for(name in jobNameTable){
       it=it.getItem(name)
    }
    it.description = text
}

首先,轉到“管理Jenkins”->“進程內腳本批准”->“Aprove”:簽名:方法org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper getRawBuild

然后將此添加到您的 jenkins 文件(聲明性管道)

steps {
    script {
        currentBuild.rawBuild.project.description = 'NEW JOB DESCRIPTION'
        currentBuild.rawBuild.project.setDisplayName('NEW JOB DISPLAY NAME')
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM