New version of Jenkins needs CRUM in the header in the same session wiht cookies
#!/bin/bash
export JENKINS_URL='http://localhost:8080'
export JENKINS_USER='jenkins'
export JENKINS_TOKEN='11b1d065eec560d74e90346cb0b70ab396'
export COOKIE_JAR=/tmp/.cookies$$
if [ ! "$1" ] ; then
echo "$1 script not found"
exit 1
fi
export SCRIPT="$1"
JENKINS_CRUMB=$(curl --silent --cookie-jar "$COOKIE_JAR" $JENKINS_URL'/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)' -u $JENKINS_USER:$JENKINS_TOKEN)
echo $JENKINS_CRUMB
curl -H "$JENKINS_CRUMB" -u "$JENKINS_USER:$JENKINS_TOKEN" -v --cookie "$COOKIE_JAR" \
$JENKINS_URL/scriptText --data-urlencode "script=$(<./$1)"
rm -f $COOKIE_JAR
exit 0
curl -LvO http://localhost:8080/jnlpJars/jenkins-cli.jar
echo 'jenkins:11b1d065eec560d74e90346cb0b70ab396' > ~/.jenkins_secret
java -jar ./jenkins-cli.jar -s http://localhost:8080 -auth @${HOME}/.jenkins_secret who-am-i
java -jar ./jenkins-cli.jar -s http://localhost:8080 -auth @${HOME}/.jenkins_secret list-jobs
java -jar ./jenkins-cli.jar -s http://localhost:8080 -auth @${HOME}/.jenkins_secret get-jobs test1
*) Shell script to run jenkins-cli.jar
#!/bin/bash
if [ $# -eq 0 ]; then
echo "Usage: $0 <args>"
exit 1
fi
java -jar ~/bin/jenkins-cli.jar -noKeyAuth -s http://localhost:8080 -auth @${HOME}/.jenkins_secret $*
Refference https://xanderx.com/post/run-jenkins-script-console-scripts-from-command-line-without-remoting/
curl -X POST http://localhost:8080/job/job1/build \
-u "jenkins:f1499cc9852c899d327a1f644e61a64d " \
--data-urlencode json='{"parameter": [{"name":"id", "value":"100"}, {"name":"loglevel", "value":"high"}]}'