[英]Jenkins build: notify Bitbucket cloud
我正在使用 Jenkins 2.346.2
存儲庫位於 bitbucket.org(雲,不是本地服務器)上。
我希望將構建狀態發送到 bitbucket 並顯示為 PR 構建狀態。
我正在嘗試插件: https://plugins.jenkins.io/bitbucket-build-status-notifier/
配置是(多分支管道項目):
def notifyBitbucket(String state) {
notifyBitbucket(
commitSha1: 'a0e5012be0e8e89d122cc773a964c0en3a1a656b2',
credentialsId: 'jenkins_bitbucket_ssh',
disableInprogressNotification: false,
considerUnstableAsSuccess: true,
ignoreUnverifiedSSLPeer: true,
buildStatus: state,
buildName: 'Performance Testing',
buildUrl: 'https://bitbucket.org',
includeBuildNumberInKey: false,
prependParentProjectKey: false,
projectKey: '',
stashServerBaseUrl: 'https://bitbucket.org')
}
但我得到的是返回的 bitbucket 頁面顯示“找不到資源”。 目前,我可以用來連接到 bitbucket 的唯一憑據是 SSH 密鑰對。 他們可以正常提取代碼。 我也在嘗試將此密鑰用於通知插件。 這是錯的嗎?
誰能讓我知道在這種情況下如何指定項目的路徑,好嗎?
您可以考慮的一種選擇是使用 Bitbucket API,這樣就不需要外部插件了。 您需要調用的端點是:
${BITBUCKET_API_HEAD}/commit/${env.COMMIT_HASH}/statuses/build
更多關於這在文檔中。 以下是我的做法:
httpRequest([
acceptType : 'APPLICATION_JSON',
authentication : '<credentials>',
contentType : 'APPLICATION_JSON',
httpMode : 'POST',
requestBody : '''{
"key":"<unique-key>",
"name":"PR-Branch-Build",
"url":"<path-to-jenkins-build>/''' + env.BUILD_NUMBER + '''/pipeline",
"description":"Build status: '''+ BUILD_STATUS +'''",
"state":"'''+ BUILD_STATUS +'''"
}''',
responseHandle : 'NONE',
url : "${BITBUCKET_API_HEAD}/commit/${env.COMMIT_HASH}/statuses/build",
validResponseCodes: '200,201'
])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.