printf "\nPOST result to GitHub\n\n"
if [ $(cat RUBOCOP_RESULT) == "0" ]; then
RESULT="success"
else
RESULT="failure"
fi
GITHUB_TOKEN=$(cat /etc/github_access_token)
GITHUB_STATUS_API="https://api.github.com/repos/FOO-ORG/FOO-REPO/contents/PATH/TO/status.sh"
curl --silent --location --header "Accept: application/vnd.github.v3.raw" --user $GITHUB_TOKEN:x-oauth-basic \
$GITHUB_STATUS_API | bash -e -s -- "composition" $GIT_COMMIT "Rubocop" $RESULT "jenkins/rubocop"
status.sh
#!/bin/bash
function setStatus()
{
local REPO=$1
local COMMIT_HASH=$2
local MESSAGE=$3
local TYPE=pending
local GITHUB_TOKEN=$(cat /etc/github_access_token)
local CONTEXT=continuous-integration/jenkins
if [ ! -z "$4" ]; then
TYPE=$4
fi
if [ ! -z "$5" ]; then
CONTEXT=$5
fi
GITHUB_STATUS_ENDPOINT=https://api.github.com/repos/FOO-ORG/$REPO/statuses
STATUS="{\"state\": \"$TYPE\",\"target_url\": \"$BUILD_URL\",\"description\": \"$MESSAGE\",\"context\": \"$CONTEXT\"}"
curl -u FOOUSER:$GITHUB_TOKEN -X POST -d "$STATUS" --header 'Content-Type: application/json' $GITHUB_STATUS_ENDPOINT/$COMMIT_HASH > /dev/null
}
setStatus "$1" "$2" "$3" "$4" "$5"