From c8302cd6fcac53ce7d20e8fbfe9db5d3dc3a2cd3 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 15 Sep 2019 12:06:35 +0200 Subject: Jenkins: fix GitHub JSON API interface --- Jenkinsfile | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'Jenkinsfile') diff --git a/Jenkinsfile b/Jenkinsfile index c4993982..68e0e724 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -56,20 +56,21 @@ def setDescription() { item.save() } -def setGitHubStatus(message) { +def setGitHubStatus(state, description) { if (isCustomBuild()) return withCredentials([string(credentialsId: 'GitHub-API-Token', variable: 'TOKEN')]) { - sh "env" - sh """ - curl -XPOST -H "Authorization: token ${TOKEN}" https://api.github.com/repos/vyos/vyos-build/statuses/\$(git rev-parse HEAD) -d "{ - \"state\": \"pending\", - \"target_url\": \"${BUILD_URL}\", - \"description\": \"${message}\", - \"context\": \"continuous-integration/jenkins\" - }" - """ + def commitId = sh(returnStdout: true, script: "git rev-parse HEAD").trim() + def postBody = [ + state: "${state}", + target_url: "${BUILD_URL}", + description: "${description}", + context: 'continuous-integration/jenkins', + ] + def postBodyString = groovy.json.JsonOutput.toJson(postBody) + sh "curl 'https://api.github.com/repos/vyos/vyos-build/statuses/${commitId}?access_token=${TOKEN}' \ + -H 'Content-Type: application/json' -X POST -d '${postBodyString}' -k" } } @@ -102,7 +103,7 @@ pipeline { stage('Configure') { steps { script { - setGitHubStatus("Build is pending!") + setGitHubStatus("pending", "Build pending") sh """ ./configure --build-by="autobuild@vyos.net" --debian-mirror="http://ftp.us.debian.org/debian/" """ -- cgit v1.2.3