at 18.09-beta 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} 36EOF 37mycurl --silent -X PUT $URL/project/$PROJECT_NAME -d @data.json -b hydra-cookie.txt 38 39cat >data.json <<EOF 40{ 41 "description": "Trivial", 42 "checkinterval": "60", 43 "enabled": "1", 44 "visible": "1", 45 "keepnr": "1", 46 "nixexprinput": "trivial", 47 "nixexprpath": "trivial.nix", 48 "inputs": { 49 "trivial": { 50 "value": "$EXPR_PATH", 51 "type": "path" 52 } 53 } 54} 55EOF 56mycurl --silent -X PUT $URL/jobset/$PROJECT_NAME/$JOBSET_NAME -d @data.json -b hydra-cookie.txt