# Set these to your Jenkins user and API token
JENKINS_USER=
JENKINS_API_TOKEN=

# Defaults
OUTPUT_DIR=./jenkins_configs
JENKINS_URL=https://pipeline.theorchard.io
JOB_PATTERN='^ows-accounting-.*'

mkdir -p "${OUTPUT_DIR}"

IFS=$'\n'
for JOB in $(curl -gs --user "${JENKINS_USER}:${JENKINS_API_TOKEN}" "${JENKINS_URL}/api/json?tree=jobs[name]" \
  | jq -r '.jobs[] | select(._class == "org.jenkinsci.plugins.workflow.job.WorkflowJob" or ._class == "hudson.model.FreeStyleProject").name | @uri' \
  | grep "${JOB_PATTERN}"); do
    echo "Downloading config for job ${JOB}"
    mkdir "${OUTPUT_DIR}/${JOB}"
    curl -s --user "${JENKINS_USER}:${JENKINS_API_TOKEN}" "${JENKINS_URL}/job/${JOB}/config.xml" -o "${OUTPUT_DIR}/${JOB}/config.xml"
done
