|
@@ -10,14 +10,12 @@
|
|
|
#
|
|
|
# EDIT THE FOLLOWING VARIABLES TO FIT YOUR NEEDS
|
|
|
# THE KEY SHOULD ALSO BE KNOWN ON THE SERVER THAT LISTENS TO SUBMITS
|
|
|
-SECRET_KEY=VERYSECRETLONGKEYYOUSHOULDDEFINITELYEDIT
|
|
|
-SUBMIT_HOST=192.168.1.100
|
|
|
-SUBMIT_PORT=5000
|
|
|
+SECRET_KEY=MOO_RONJA_FOO
|
|
|
+SUBMIT_HOST=127.0.0.1
|
|
|
+SUBMIT_PORT=8080
|
|
|
GITURL="git@yourhost.domain:oz123/frank.git"
|
|
|
-
|
|
|
-
|
|
|
-JSON_TO_SUBMIT=""
|
|
|
-
|
|
|
+FILES=()
|
|
|
+TO_SUBMIT="["
|
|
|
for HEAD in $@; do
|
|
|
# We love bash too, but there a really fancy basename
|
|
|
BRANCH=`basename $HEAD`
|
|
@@ -29,21 +27,27 @@ for HEAD in $@; do
|
|
|
#BRANCH=($HEAD)
|
|
|
#BRANCH=${BRANCH[2]}
|
|
|
REST_OF_JSON=$(git --no-pager log -n 1 --format='{"hashes":{"commit":"%H", "tree":"%T", "parents":"%P" }, "author":{"date": "%ai", "name":"%an", "email":"%ae" }, "committer":{"date": "%ci", "name": "%cn", "email":"%ce" }')
|
|
|
- REST_OF_JSON=$REST_OF_JSON,\"branch\":\""${BRANCH}"\"
|
|
|
- #REST_OF_JSON=$REST_OF_JSON,\"giturl\":\"$GITURL\"
|
|
|
+ REST_OF_JSON=$REST_OF_JSON,\"branch\":\""${BRANCH}"\",
|
|
|
+ REST_OF_JSON=$REST_OF_JSON,\"giturl\":\"$GITURL\",
|
|
|
JSON_TO_SUBMIT=$JSON_TO_SUBMIT{\"$BRANCH\":$REST_OF_JSON\}
|
|
|
JSON_TO_SUBMIT=$JSON_TO_SUBMIT}
|
|
|
REST_OF_JSON=""
|
|
|
+ TO_SUBMIT=$TO_SUBMIT$JSON_TO_SUBMIT","
|
|
|
+ JSON_TO_SUBMIT=""
|
|
|
done
|
|
|
|
|
|
-t=`mktemp`
|
|
|
-echo $JSON_TO_SUBMIT > $t
|
|
|
-# Calculate the digest of JSON
|
|
|
-SECRET=$(echo -n $JSON_TO_SUBMIT | openssl dgst -sha1 -hmac $SECRET_KEY)
|
|
|
+# BASH sourcery to remove the last character
|
|
|
+TO_SUBMIT=${TO_SUBMIT%?}"]"
|
|
|
+all=`mktemp`
|
|
|
+echo $TO_SUBMIT > $all
|
|
|
+SECRET=$(echo -n $TO_SUBMIT | openssl dgst -sha1 -hmac $SECRET_KEY)
|
|
|
+# Why does this produce a different digest?
|
|
|
+# SECRET1=$(openssl dgst -sha1 -hmac $SECRET_KEY $all)
|
|
|
+# echo $SECRET
|
|
|
+# echo $SECRET1
|
|
|
SECRET=`echo $SECRET | cut -d'=' -f2`
|
|
|
-# TODO: Consider submiting to HTTPS!
|
|
|
-# Github uses X-Hub-Signature, we use X-Secret
|
|
|
-curl -H "Content-Type: application/json" -H "X-Secret:${SECRET}" -X POST http://${SUBMIT_HOST}:${SUBMIT_PORT}/ --data @$t
|
|
|
+set -x
|
|
|
+curl -H "Content-Type: application/json" -H "X-Secret:${SECRET}" -X POST http://${SUBMIT_HOST}:${SUBMIT_PORT}/ --data @$all
|
|
|
if [ $? -eq 0 ]; then
|
|
|
- rm $t
|
|
|
+ rm $all
|
|
|
fi
|