diff options
author | Christian Poessinger <christian@poessinger.com> | 2019-09-15 12:06:35 +0200 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2019-09-15 12:29:16 +0200 |
commit | c8302cd6fcac53ce7d20e8fbfe9db5d3dc3a2cd3 (patch) | |
tree | 22394daf54fb44c3da70f6b12b1b369853378bcb | |
parent | 38f06da2873119310e1c83beb90dd3958c99a517 (diff) | |
download | vyos-build-c8302cd6fcac53ce7d20e8fbfe9db5d3dc3a2cd3.tar.gz vyos-build-c8302cd6fcac53ce7d20e8fbfe9db5d3dc3a2cd3.zip |
Jenkins: fix GitHub JSON API interface
-rw-r--r-- | Jenkinsfile | 23 |
1 files changed, 12 insertions, 11 deletions
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/" """ |