Я пытаюсь настроить плагин Hockeyapp для Jenkins для получения токена API из переменной среды. До сих пор мне удалось получить что-то, что работает для начальной загрузки Jenkins , установив токен API, но если я изменю переменную среды и перезагрузлю Jenkins, новый токен не будет применен.
Мое понимание происходящего заключается в том, что мой сценарий создает новый дескриптор для Hockeyapp и сохраняет его - который работает при начальной загрузке Дженкинса, поскольку его не существует. При смене токена и перезагрузке дескриптор существует, и я не меняю его, поэтому проблема возникает со второй загрузки и далее.
import hockeyapp.*
def env = System.getenv()
def hockeyappConfig = new HockeyappRecorder.DescriptorImpl()
String apiToken = env['HOCKEYAPP_API_TOKEN'] ?: ''
if (apiToken?.trim()) {
hockeyappConfig.setDefaultToken(apiToken)
hockeyappConfig.save()
}
Кто-нибудь может объяснить, как получить существующую конфигурацию для Hockeyapp через Groovy, чтобы ее можно было редактировать, в идеале с помощью кода (мой Java не очень хорош)?
Я думаю, что ответ лежит где-то в Jenkins.getInstance()
, а затем вытаскивает конфигурацию Hockeyapp, но я немного теряю глубину из-за незнакомых как в Java / Groovy, так и в программной конфигурации Дженкинс.
Соответствующий JavaDoc: