mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-05-12 17:04:46 +00:00
63 lines
1.5 KiB
Bash
Executable File
63 lines
1.5 KiB
Bash
Executable File
#!/bin/sh -f
|
|
|
|
# Trigger a new Travis-CI job.
|
|
|
|
# Usage:
|
|
# trigger-travis.sh [--branch BRANCH] GITHUBID GITHUBPROJECT TRAVIS_API_TOKEN [MESSAGE]
|
|
# For example:
|
|
# trigger-travis.sh typetools checker-framework `cat ~/private/.travis-access-token` "Trigger for testing"
|
|
if [ "$#" -lt 3 ] || [ "$#" -ge 7 ]; then
|
|
echo "Wrong number of arguments $# to trigger-travis.sh; run like:"
|
|
echo " trigger-travis.sh [--branch BRANCH] GITHUBID GITHUBPROJECT TRAVIS_API_TOKEN [MESSAGE]" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$1" = "--branch" ] ; then
|
|
shift
|
|
BRANCH="$1"
|
|
shift
|
|
else
|
|
BRANCH=master
|
|
fi
|
|
|
|
USER=$1
|
|
REPO=$2
|
|
TOKEN=$3
|
|
if [ $# -eq 4 ] ; then
|
|
MESSAGE=",\"message\": \"$4\""
|
|
elif [ -n "$TRAVIS_REPO_SLUG" ] ; then
|
|
MESSAGE=",\"message\": \"Triggered by ACA upstream [affected:content-ee,content-ee-apa]\""
|
|
else
|
|
MESSAGE=""
|
|
fi
|
|
## For debugging:
|
|
# echo "USER=$USER"
|
|
# echo "REPO=$REPO"
|
|
# echo "TOKEN=$TOKEN"
|
|
# echo "MESSAGE=$MESSAGE"
|
|
|
|
body="{
|
|
\"request\": {
|
|
\"branch\":\"$BRANCH\"
|
|
$MESSAGE
|
|
}}"
|
|
|
|
# "%2F" creates a literal "/" in the URL, that is not interpreted as a
|
|
# segment or directory separator.
|
|
curl -s -X POST \
|
|
-H "Content-Type: application/json" \
|
|
-H "Accept: application/json" \
|
|
-H "Travis-API-Version: 3" \
|
|
-H "Authorization: token ${TOKEN}" \
|
|
-d "$body" \
|
|
https://api.travis-ci.com/repo/${USER}%2F${REPO}/requests \
|
|
| tee /tmp/travis-request-output.$$.txt
|
|
|
|
if grep -q '"@type": "error"' /tmp/travis-request-output.$$.txt; then
|
|
exit 1
|
|
fi
|
|
if grep -q 'access denied' /tmp/travis-request-output.$$.txt; then
|
|
exit 1
|
|
fi
|
|
|