Можно ли использовать внешние баночки через @grab изнутри плагин Jenkins Groovy Postbuild? - PullRequest
0 голосов
/ 17 сентября 2018

Я хочу отправить некоторые конкретные уведомления (REST API) обратно на наш сервер, что вызвало наши задания по сборке Jenkins через REST API. Для этого я собираюсь добавить собственную банку, в которой есть много удобных методов. Я могу использовать jar-файлы внутри Groovy Script, используя @Grab, это нормально.

Но, похоже, он не работает из Groovy Postbuild Plugin. Он даже не распознает ссылочные файлы сценариев из другого пакета, который находится рядом с файлом сценария.

Есть ли обходной путь? Как я могу отправить свое конкретное уведомление, используя java или groovy и методы, предоставленные в нашем собственном jar? Нужно ли мне писать плагин Jenkins для этого (надеюсь, нет). Заранее спасибо, Энн

1 Ответ

0 голосов
/ 17 сентября 2018

Я бы порекомендовал сменить работу на декларативный конвейер Jenkins. Затем вы можете использовать обработку сообщений, встроенную в язык конвейера Jenkins. Затем у вас есть несколько вариантов. Вы можете использовать шаги конвейера, предоставляемые плагином HTTP Request, для вызова API REST, создать инструмент Java для вызова ваших API REST, используя вашу библиотеку Jar (установить как пользовательский инструмент, который можно использовать из конвейера), или написать собственный плагин для предоставления шаги трубопровода. Если вы решили написать плагин, взгляните на плагин Webhook Step, чтобы узнать, как это сделать - https://github.com/jenkinsci/webhook-step-plugin. Лучшим вариантом может быть пользовательский инструмент командной строки Java, вызываемый из шага оболочки конвейера (sh или bat) в зависимости от на агенте / ведомой ОС, которую вы используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...