Я пытаюсь добавить функцию ввода статуса в мой сценический код Jenkins. Но он выдает:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: не найдено такое поле:
Я пытался записать этот блок как
catch (org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException e) {
cause = e.causes.get(0)
echo "Aborted by " + cause.getUser().toString()
if (cause.getUser().toString() != 'SYSTEM') {
startMillis = System.currentTimeMillis()
userAborted = true
} else {
endMillis = System.currentTimeMillis()
if (endMillis - startMillis >= timeoutMillis) {
echo "Approval timed out. Aborting the deployment."
userAborted = true
} else {
echo "SYSTEM aborted, but looks like timeout period didn't complete. Aborting."
userAborted = true
}
}
}
но с этим кодом, когда я прерывал работу, оно застревало.
, поэтому я изменил код, приведенный ниже: -
catch (Exception e) {
cause = e.causes.get(0)
echo "Aborted by " + cause.getUser().toString()
if (cause.getUser().toString() != 'SYSTEM') {
startMillis = System.currentTimeMillis()
userAborted = true
} else {
endMillis = System.currentTimeMillis()
if (endMillis - startMillis >= timeoutMillis) {
echo "Approval timed out. Aborting the deployment."
userAborted = true
} else {
echo "SYSTEM aborted, but looks like timeout period didn't complete. Aborting."
userAborted = true
}
}
}
Теперь работа не застревает при прерывании, но снова выдает эту ошибку при сбое задания:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Такое поле не найдено: