diff --git a/openshift/integration/koji/pipelines/templates/mbs-build.Jenkinsfile b/openshift/integration/koji/pipelines/templates/mbs-build.Jenkinsfile
index 08b08f93..607df3d7 100644
--- a/openshift/integration/koji/pipelines/templates/mbs-build.Jenkinsfile
+++ b/openshift/integration/koji/pipelines/templates/mbs-build.Jenkinsfile
@@ -60,6 +60,8 @@ pipeline {
// the return value of checkout() is unreliable.
// Not working: env.MBS_GIT_COMMIT = scmVars.GIT_COMMIT
env.MBS_GIT_COMMIT = sh(returnStdout: true, script: 'git rev-parse HEAD').trim()
+ // Set for pagure function from c3i-library
+ env.GIT_COMMIT = env.MBS_GIT_COMMIT
echo "Build ${params.MBS_GIT_REF}, commit=${env.MBS_GIT_COMMIT}"
// Is the current branch a pull-request? If no, env.PR_NO will be empty.
@@ -122,13 +124,11 @@ pipeline {
// To enable HTML syntax in build description, go to `Jenkins/Global Security/Markup Formatter` and select 'Safe HTML'.
def pagureLink = """${currentBuild.displayName}"""
try {
- def prInfo = withPagure {
- it.getPR(env.PR_NO)
- }
+ def prInfo = pagure.getPR(env.PR_NO)
pagureLink = """PR#${env.PR_NO}: ${escapeHtml(prInfo.title)}"""
// set PR status to Pending
if (params.PAGURE_API_KEY_SECRET_NAME)
- setBuildStatusOnPagurePR(null, "Build #${env.BUILD_NUMBER} in progress (commit: ${env.MBS_GIT_COMMIT.take(8)})")
+ paguer.setBuildStatusOnPR(null, "Build #${env.BUILD_NUMBER} in progress (commit: ${env.MBS_GIT_COMMIT.take(8)})")
} catch (Exception e) {
echo "Error using pagure API: ${e}"
}
@@ -138,7 +138,7 @@ pipeline {
currentBuild.description = """${currentBuild.displayName}"""
if (params.PAGURE_API_KEY_SECRET_NAME) {
try {
- flagCommit('pending', null, "Build #${env.BUILD_NUMBER} in progress (commit: ${env.MBS_GIT_COMMIT.take(8)})")
+ pagure.flagCommit('pending', null, "Build #${env.BUILD_NUMBER} in progress (commit: ${env.MBS_GIT_COMMIT.take(8)})")
echo "Updated commit ${env.MBS_GIT_COMMIT} status to PENDING."
} catch (e) {
echo "Error updating commit ${env.MBS_GIT_COMMIT} status to PENDING: ${e}"
@@ -457,7 +457,7 @@ pipeline {
// on pre-merge workflow success
if (params.PAGURE_API_KEY_SECRET_NAME && env.PR_NO) {
try {
- setBuildStatusOnPagurePR(100, "Build #${env.BUILD_NUMBER} successful (commit: ${env.MBS_GIT_COMMIT.take(8)})")
+ pagure.setBuildStatusOnPR(100, "Build #${env.BUILD_NUMBER} successful (commit: ${env.MBS_GIT_COMMIT.take(8)})")
echo "Updated PR #${env.PR_NO} status to PASS."
} catch (e) {
echo "Error updating PR #${env.PR_NO} status to PASS: ${e}"
@@ -466,7 +466,7 @@ pipeline {
// on post-merge workflow success
if (params.PAGURE_API_KEY_SECRET_NAME && !env.PR_NO) {
try {
- flagCommit('success', 100, "Build #${env.BUILD_NUMBER} successful (commit: ${env.MBS_GIT_COMMIT.take(8)})")
+ pagure.flagCommit('success', 100, "Build #${env.BUILD_NUMBER} successful (commit: ${env.MBS_GIT_COMMIT.take(8)})")
echo "Updated commit ${env.MBS_GIT_COMMIT} status to PASS."
} catch (e) {
echo "Error updating commit ${env.MBS_GIT_COMMIT} status to PASS: ${e}"
@@ -480,17 +480,17 @@ pipeline {
if (params.PAGURE_API_KEY_SECRET_NAME && env.PR_NO) {
// updating Pagure PR flag
try {
- setBuildStatusOnPagurePR(0, "Build #${env.BUILD_NUMBER} failed (commit: ${env.MBS_GIT_COMMIT.take(8)})")
+ pagure.setBuildStatusOnPR(0, "Build #${env.BUILD_NUMBER} failed (commit: ${env.MBS_GIT_COMMIT.take(8)})")
echo "Updated PR #${env.PR_NO} status to FAILURE."
} catch (e) {
echo "Error updating PR #${env.PR_NO} status to FAILURE: ${e}"
}
// making a comment
try {
- commentOnPR("""
+ pagure.commentOnPR("""
Build #${env.BUILD_NUMBER} [failed](${env.BUILD_URL}) (commit: ${env.MBS_GIT_COMMIT}).
Rebase or make new commits to rebuild.
- """.stripIndent())
+ """.stripIndent(), env.PR_NO)
echo "Comment made."
} catch (e) {
echo "Error making a comment on PR #${env.PR_NO}: ${e}"
@@ -501,7 +501,7 @@ pipeline {
// updating Pagure commit flag
if (params.PAGURE_API_KEY_SECRET_NAME) {
try {
- flagCommit('failure', 0, "Build #${env.BUILD_NUMBER} failed (commit: ${env.MBS_GIT_COMMIT.take(8)})")
+ pagure.flagCommit('failure', 0, "Build #${env.BUILD_NUMBER} failed (commit: ${env.MBS_GIT_COMMIT.take(8)})")
echo "Updated commit ${env.MBS_GIT_COMMIT} status to FAILURE."
} catch (e) {
echo "Error updating commit ${env.MBS_GIT_COMMIT} status to FAILURE: ${e}"
@@ -524,38 +524,6 @@ def getPrNo(branch) {
def prMatch = branch =~ /^(?:.+\/)?pull\/(\d+)\/head$/
return prMatch ? prMatch[0][1] : ''
}
-def withPagure(args=[:], cl) {
- args.apiUrl = env.PAGURE_API
- args.repo = env.PAGURE_REPO_NAME
- args.isFork = env.PAGURE_REPO_IS_FORK == 'true'
- def pagureClient = pagure.client(args)
- return cl(pagureClient)
-}
-def withPagureCreds(args=[:], cl) {
- def pagureClient = null
- withCredentials([string(credentialsId: "${env.PIPELINE_NAMESPACE}-${env.PAGURE_API_KEY_SECRET_NAME}", variable: 'TOKEN')]) {
- args.token = env.TOKEN
- pagureClient = withPagure(args, cl)
- }
- return pagureClient
-}
-def setBuildStatusOnPagurePR(percent, String comment) {
- withPagureCreds {
- it.updatePRStatus(username: 'c3i-jenkins', uid: "ci-pre-merge-${env.MBS_GIT_COMMIT.take(8)}",
- url: env.BUILD_URL, percent: percent, comment: comment, pr: env.PR_NO)
- }
-}
-def flagCommit(status, percent, comment) {
- withPagureCreds {
- it.flagCommit(username: 'c3i-jenkins', uid: "ci-post-merge-${env.MBS_GIT_COMMIT.take(8)}", status: status,
- url: env.BUILD_URL, percent: percent, comment: comment, commit: env.MBS_GIT_COMMIT)
- }
-}
-def commentOnPR(String comment) {
- withPagureCreds {
- it.commentOnPR(comment: comment, pr: env.PR_NO)
- }
-}
def sendBuildStatusEmail(String status) {
def recipient = params.MAIL_ADDRESS
def subject = "Jenkins job ${env.JOB_NAME} #${env.BUILD_NUMBER} ${status}."
diff --git a/openshift/integration/koji/pipelines/templates/mbs-polling-pagure.yaml b/openshift/integration/koji/pipelines/templates/mbs-polling-pagure.yaml
index 7a908fc6..577a5b6b 100644
--- a/openshift/integration/koji/pipelines/templates/mbs-polling-pagure.yaml
+++ b/openshift/integration/koji/pipelines/templates/mbs-polling-pagure.yaml
@@ -151,21 +151,19 @@ objects:
// Need to prefix the rev with origin/ for pollSCM to work correctly
def rev = "origin/${polled}"
def scmVars = c3i.clone(repo: env.GIT_URL, branch: polled, rev: rev)
- env.MBS_GIT_COMMIT = scmVars.GIT_COMMIT
+ env.GIT_COMMIT = scmVars.GIT_COMMIT
// setting build display name
def prefix = 'origin/'
def branch = scmVars.GIT_BRANCH.startsWith(prefix) ? scmVars.GIT_BRANCH.substring(prefix.size())
: scmVars.GIT_BRANCH // origin/pull/1234/head -> pull/1234/head, origin/master -> master
env.MBS_GIT_BRANCH = branch
- echo "Build on branch=${env.MBS_GIT_BRANCH}, commit=${env.MBS_GIT_COMMIT}"
+ echo "Build on branch=${env.MBS_GIT_BRANCH}, commit=${env.GIT_COMMIT}"
if (env.PAGURE_POLLING_FOR_PR == 'false') {
- currentBuild.displayName = "${env.MBS_GIT_BRANCH}: ${env.MBS_GIT_COMMIT.substring(0, 7)}"
- currentBuild.description = """${currentBuild.displayName}"""
+ currentBuild.displayName = "${env.MBS_GIT_BRANCH}: ${env.GIT_COMMIT.substring(0, 7)}"
+ currentBuild.description = """${currentBuild.displayName}"""
} else if (env.PAGURE_POLLING_FOR_PR == 'true' && branch ==~ /^pull\/[0-9]+\/head$/) {
env.PR_NO = branch.split('/')[1]
- def prInfo = withPagure {
- it.getPR(env.PR_NO)
- }
+ def prInfo = pagure.getPR(env.PR_NO)
if (prInfo.status == 'Open') {
env.PR_URL = "${env.PAGURE_REPO_HOME}/pull-request/${env.PR_NO}"
// To HTML syntax in build description, go to `Jenkins/Global Security/Markup Formatter` and select 'Safe HTML'.
@@ -225,10 +223,3 @@ objects:
}
}
}
- def withPagure(args=[:], cl) {
- args.apiUrl = env.PAGURE_API
- args.repo = env.PAGURE_REPO_NAME
- args.isFork = env.PAGURE_REPO_IS_FORK == 'true'
- def pagureClient = pagure.client(args)
- return cl(pagureClient)
- }