at master 1.3 kB view raw
1#!/usr/bin/env bash 2# 3# This script creates a project, a jobset with an input of type local 4# path. This local path is a directory that contains a Nix expression 5# to define a job. 6# The EXPR-PATH environment variable must be set with the local path. 7 8set -e 9 10URL=http://localhost:3000 11USERNAME="admin" 12PASSWORD="admin" 13PROJECT_NAME="trivial" 14JOBSET_NAME="trivial" 15EXPR_PATH=${EXPR_PATH:-} 16 17if [ -z $EXPR_PATH ]; then 18 echo "Environment variable EXPR_PATH must be set" 19 exit 1 20fi 21 22mycurl() { 23 curl --referer $URL -H "Accept: application/json" -H "Content-Type: application/json" $@ 24} 25 26cat >data.json <<EOF 27{ "username": "$USERNAME", "password": "$PASSWORD" } 28EOF 29mycurl -X POST -d '@data.json' $URL/login -c hydra-cookie.txt 30 31cat >data.json <<EOF 32{ 33 "displayname":"Trivial", 34 "enabled":"1", 35 "visible":"1" 36} 37EOF 38mycurl --silent -X PUT $URL/project/$PROJECT_NAME -d @data.json -b hydra-cookie.txt 39 40cat >data.json <<EOF 41{ 42 "description": "Trivial", 43 "checkinterval": "60", 44 "enabled": "1", 45 "visible": "1", 46 "keepnr": "1", 47 "enableemail": true, 48 "emailoverride": "hydra@localhost", 49 "nixexprinput": "trivial", 50 "nixexprpath": "trivial.nix", 51 "inputs": { 52 "trivial": { 53 "value": "$EXPR_PATH", 54 "type": "path" 55 } 56 } 57} 58EOF 59mycurl --silent -X PUT $URL/jobset/$PROJECT_NAME/$JOBSET_NAME -d @data.json -b hydra-cookie.txt