Мой рабочий процесс отправляет письма, когда он не работает с помощью try-catch. Я также разрешаю параллелизм, и при этом, когда несколько заданий одного и того же рабочего процесса входят в стадию дросселирования, новые отменяет старые. Это исключает "org.jenkinsci.plugins.workflow.steps.FlowInterruptedException"
И отмененные задания также запускают уведомление по электронной почте.Попадание ошибок mulitple в рабочий процесс Jenkins
Теперь я изменил свой рабочий процесс, чтобы поймать конкретное исключение FlowInterruptedException
и подавить уведомление по почте и позволить чему-либо еще инициировать почту, например.
node {
try {
// some stages for the workflow
}
catch (org.jenkinsci.plugins.workflow.steps.FlowInterruptedException e){
echo "the job was cancelled or aborted"
}
catch (err){
stage 'Send Notification'
mail (to: '[email protected]',
subject: "Job '${env.JOB_NAME}' (${env.BUILD_NUMBER}) has had an error.",
body: "Some text",
mimeType:'text/html');
currentBuild.result = 'FAILURE'
}
}
Это догоняет только FlowInterruptedException
и когда работа действительно терпит неудачу из-за какой-либо другой причине (команда опечатка, и т.д.), я ожидал, что он будет пойман другой улов и запустит код внутри него, чтобы отправьте почту. Но это не так.
Я думаю, что у моего кода есть некоторые недостатки в попытке поймать. Есть идеи?
UPDATE:
Просто упаковывают, если я использую следующий код: он просто отправить почту только о каких-либо сбоев
node {
try {
// some stages for the workflow
}
catch (err){
stage 'Send Notification'
mail (to: '[email protected]',
subject: "Job '${env.JOB_NAME}' (${env.BUILD_NUMBER}) has had an error.",
body: "Some text",
mimeType:'text/html');
currentBuild.result = 'FAILURE'
}
}
Я немного вычислил здесь. Но я бы не сказал это как решение. Фрагмент с работами 2-х ловушек, пока он возвращает некоторые конкретные исключения Хадсона (может быть, не правильный термин, я не являюсь java или groovy). Но если есть исключения, такие как исключения NoSuchMethod, ловушка не работает – OK999
Ловкость только FlowInterruptedException представляется неоднозначной, см. Https://issues.jenkins-ci.org/browse/JENKINS-34376?#comment-268093. – kadrach