Ich habe Jenkins-Pipeline mit einem Input-Schritt, und ich möchte diese Eingabe (einzelnes String-Argument) über ein Skript übergeben. Bis jetzt versuche ich mit Curl, idealerweise werde ich es über Python Anfragen Bibliothek senden. Dies sollte eine einfache POST-Anfrage sein, aber mit CSRF wird es schwierig. Ich habe Jenkins-Crumb (mit Curl in diesem Fall, von der gleichen Maschine und der gleichen Bash-Sitzung), kann aber immer noch nicht den Inhalt senden ...Jenkins Eingang Pipeline-Schritt über POST mit CSRF gefüllt - howto?
Ich sende Jenkins-Crumb:XXX
Header, so wie es ist bei https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API
meine Anfrage erklärt sieht wie folgt aus:
curl -vvv -X POST --user '${USER}:${API_KEY}' -H "Jenkins-Crumb:${JENKINS_CRUMB}" -d 'json="{"parameter":{"name":"${PARAM_NAME}","value":"asd"},"Jenkins-Crumb":"${JENKINS_CRUMB}"}"' 'http://${JENKINS_URL}/job/${JOB_NAME}/${BUILD_NR}/input/'
die URL ich poste auf die gleiche ist, wie derjenige in Build log (Konsolenausgabe) verknüpft.
ich nicht versuche, eine parametrierte Aufgabe auslösen, sondern einen String in „Input“ Pipeline Schritt zu senden. –
Ja, aber diese Antwort ist über 2 Jahre älter als die Jenkins Wiki Seite. Außerdem führt die Verwendung von '.crumb: xxx' zu folgendem Fehler: ' In der Anfrage wurde kein gültiger Krümel enthalten, während 'Jenkins-Crumb: xxx' das nicht tut. –