Согласно https://support.cloudbees.com/hc/en-us/articles/219152268-Use-POST-Commit-Hook-with-Perforce-Triggers Я должен использовать следующее, чтобы опубликовать триггер для сборки.
#!/bin/bash
# The first argument is the change number
CHANGE=$1
# POST the payload
curl --header 'Content-Type: application/json' \
--request POST \
--data "{\"change\":$CHANGE, \"p4port\":\"localhost:1666\"}" \
http://localhost:8080/p4/change
Я немного изменил это, чтобы добавить свой порт и номер изменения, после чего он начал давать мне крошку не найден.
После прочтения этого Как запросить поставщика крошек для Дженкинса и Spinnaker: 403 В запрос не была включена допустимая крошка Сначала я попытался отключить CSRF, но это дало мне 404, так что я попытался с включенным, получил крошку и встроил его так, что снова дает мне 404.
curl -X POST http://username:password@jenkinsip:8080/p4/change -H "Jenkins-Crumb:the-crumb" --data "{\"change\":$CHANGE, \"p4port\":\"myport\"}"
Но если я попробую это, я снова получу ту же ошибку 403.
curl -X POST http://jenkinsip:8080/p4/change -H "Jenkins-Crumb:the-crumb" --data "{\"change\":$CHANGE, \"p4port\":\"myport\"}"
Так что же я делаю не так, что это дает мне 404