我在Jenkins 2中有一個多分支管道作業,連接到一個GitHub存儲庫(可用here)。 GitHub倉庫中的每個pull請求都會在Jenkins中創建一個新的「job」,但作業從pull請求編號繼承它的名字(即作業被稱爲PR-1,PR-2等等),這在Jenkins中是沒有意義的上下文。 是否有可能(以及如何)配置作業或Jenkinsfile爲每個拉取請求添加作業描述?如何在Jenkins 2多分支管道中添加工作描述?
1
A
回答
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
}
這使得其從作業總覽頁面可直接職位描述(如本例:https://ci.rssw.eu/job/sonar-openedge/)
的完整的提交和Jenkinsfile都可以在這裏: https://github.com/Riverside-Software/sonar-openedge/commit/e2c76ca58b812e4ceac65c406f0b2aae9fbf3f5f
+0
也是itm.setDescription(...)的作品。 (只是不要調用itm.save()) – Akom
相關問題
- 1. 多分支管道與管道作業
- 2. 管道多個jenkins工作
- 3. Jenkins多分支管道工作空間位置:shell與Groovy
- 4. 多分支管道jenkins工作與[ci跳過]
- 5. 如何避免Jenkins多分支管道作業觸發本身
- 6. Jenkins存檔下游多分支管道
- 7. Jenkins管道 - git分支
- 8. 在Jenkins中,多分支管道是否支持Git標記?
- 9. Jenkins 2管道工作區xxx @腳本
- 10. 如何只在Jenkins多分支管道作業中建立一個目錄?
- 11. 多分支管道插件每個分支加載多個jenkins文件
- 12. 如何獲取Jenkins管道或多分支管道內的SCM URL?
- 13. 如何調試Jenkins多分支掃描 - 不處理新分支
- 14. 如何限制Jenkins併發多分支管道構建?
- 15. 如何使用Gitlab觸發Jenkins多分支管道Webhook
- 16. 如何使用帶monorepo的jenkins多分支管道
- 17. Jenkins multibranch:change從Groovy的工作描述
- 18. 可視化Jenkins流水線或多分支管道作業
- 19. Jenkins多分支管道作業CHANGE_ID未設置
- 20. 在Jenkins的多分支管道中刪除分支時執行代碼
- 21. git中的分支描述
- 22. 如何在Swashbuckle中添加API描述?
- 23. 如何在git中添加長描述
- 24. Jenkins多分支管道:構建結束時清理工作區/刪除目錄
- 25. Jenkins描述
- 26. 如何配置Jenkins多分支管道作爲子模塊構建?
- 27. 如何獲取Jenkins多分支管道作業的顯示名稱
- 28. 通過Jenkins管道合併分支
- 29. Jenkins管道自動分支檢測
- 30. Jenkins管道分支名稱返回null
複製? http://stackoverflow.com/questions/38532119/set-the-pipeline-name-and-description-from-jenkinsfile – MaTePe
不完全是我在找什麼,但讓我走上正軌。使用'Jenkins.instance.getItemByFullName(「xxx/PR-zz」)。setDisplayName(「任何描述...」)只會改變顯示名稱。爲了從GitHub獲取拉請求描述,我將添加更多代碼,並在此處作出答案。 –