Как обработать исключение RejectedAccessException при вызове шага из общей разделяемой библиотеки в Jenkins? - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь создать общую разделяемую библиотеку для общих шагов, используемых в моих сценариях Jenkins в нескольких проектах. У меня есть шаг sendBuildInfoSlack, который ранее вызывал функцию, определенную в том же JenkinsFile. Я переместил его на отдельный шаг в общей разделяемой библиотеке в папке vars.

введите описание изображения здесь

Функция вызова этого файла вызывает ту же функцию, которая раньше работала непосредственно в JenkinsFile. Однако он выдает мне эту ошибку:

Scripts not permitted to use method groovy.lang.GroovyObject invokeMethod java.lang.String java.lang.Object (org.jenkinsci.plugins.workflow.cps.CpsClosure2 sendBuildInfoSlack java.util.LinkedHashMap). Administrators can decide whether to approve or reject this signature.
Error when executing failure post condition:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use method groovy.lang.GroovyObject invokeMethod java.lang.String java.lang.Object (org.jenkinsci.plugins.workflow.cps.CpsClosure2 sendBuildInfoSlack java.util.LinkedHashMap)

Я не ожидал, что столкнусь с этой ошибкой, тем более что при объявлении глобальных конвейерных библиотек он явно говорит, что этим библиотекам будет доверять, то есть они запускать без ограничений песочницы

Кроме того, мне неясно, какой метод вызывает эту проблему.

Я бы предпочел, чтобы мне не приходилось вносить в белый список каждую функцию, поскольку я ожидаю этого Библиотека расширяется, чтобы охватить более широко используемые функции, и у меня тоже нет разрешения на добавление в белый список.

Любая помощь, пожалуйста?

...