В настоящее время кодирую много groovy для очень специфических сценариев jenkins.
Проблема в том, что я должен отслеживать текущий CpsScript
— экземпляр для контекста (получение свойств, среды и т. д.) и его invokeMethod
(этапы рабочего процесса и т. п.).
В настоящее время это означает, что я передаю this
в groovy-скрипт конвейера в свой начальный класс, а оттуда он передается каждому классу отдельно, что очень раздражает.
Экземпляр скрипта создается CpsFlowExecution
и сохраняется в экземплярах Continuable
и CpsThreadGroup
, ни один из которых не позволяет вам его получить.
Кажется, что производные расширения GlobalVariable
получают его, чтобы у них был контекст, но в настоящее время я недостаточно осведомлен, чтобы написать собственное расширение, чтобы использовать это.
Итак, вопрос:
Кто-нибудь знает способ отслеживать экземпляр CpsScript
, который не требует от меня передачи его каждому новому классу, который я создаю? (Или в качестве альтернативы: получить его откуда угодно — неужели это действительно должно быть так сложно?)