Я пытаюсь сделать остальные вызовы API, чтобы вызвать работу Дженкинса.это задание может существовать в 2 состояниях:
- Во время первого запуска вы можете запустить его с помощью следующего вызова скрипта Python:
subprocess.call (['curl', '-X', 'POST', '-H', 'Jenkins-Crumb: cdf99f1d3924f50d7db20bdb7ca47ff6', 'jenkinsPath = "https://user_jenkins:d547e0393635027f0f26859211b200cb@jenkins.host/job/Testing/job/script-Testing/view/change-requests/job/PR-115/build'])
Во время последующих запусков то же самое задание получает рабочее пространство, которое необходимо стереть, поэтому я могу запустить его в python следующим образом:
subprocess.call (['curl', '-X ',' POST ',' -H ',' Jenkins-Crumb: cdf99f1d3924f50d7db20bdb7ca47ff6 ',' jenkinsPath = "https://user_jenkins:d547e0393635027f0f26859211b200cb@jenkins.host/job/Testing/job/script-Testing/view/change-requests/job/PR-115/buildWithParameters?WIPE_WORKSPACE'])
Поскольку я не знаю, в каком состоянии в данный момент существует работа Jenkins, яя выполняю свой сценарий, я хочу выполнить задание в обоих направлениях и хочу, чтобы неправильный URL-адрес перехватывал ошибку, чтобы она не создавала шума и не нарушала мой сценарий.
Я попытался использовать следующий коддля одного сегмента, но он не может поймать ошибку Дженкинса, если встретит ее.
try:
subprocess.call(['curl', '-X', 'POST', '-H', 'Jenkins-Crumb:cdf99f1d3924f50d7db20bdb7ca47ff6', 'jenkinsPath="https://user_jenkins:d547e0393635027f0f26859211b200cb@jenkins.host/job/Testing/job/script-Testing/view/change-requests/job/PR-115/buildWithParameters?WIPE_WORKSPACE'])
except OSError:
print "jenkins job has different set of parameters"
pass
Что я делаю не так? Заранее спасибо!