#!/bin/bash -e

set +x 
[ -z "${JENKINS_HOST}" ] && JENKINS_HOST='https://pipeline.theorchard.io'

curl "${JENKINS_HOST}/jnlpJars/jenkins-cli.jar" --output jenkins-cli.jar

java -version

# Replace the service name 
sed -i 's/@SERVICE@/'"${SERVICE}"'/g' kafka-infra/pipeline-builder.xml
sed -i 's/@GITHUB_CREDENTIAL_ID@/'"${GITHUB_CREDENTIAL_ID}"'/g' kafka-infra/pipeline-builder.xml

# Check whether the pipeline already exists, and create it if not.
for job in $(java -jar jenkins-cli.jar -s "${JENKINS_HOST}" -ssh -user "${CLI_USER}" -i "${CLI_CREDENTIALS}" list-jobs); do
  if [ "${job}" = "${SERVICE}-pipeline" ]; then
    printf '%s\n' 'Pipeline job for this service already exists!'
    exit 0
  fi
done

java -jar jenkins-cli.jar -s "${JENKINS_HOST}" -ssh -user "${CLI_USER}" -i "${CLI_CREDENTIALS}" create-job "${SERVICE}-pipeline" < kafka-infra/pipeline-builder.xml
printf '%s\n' "Created ${SERVICE}-pipeline job."
