План прост, а значит крассив. При выполнении цепочки задач необходимо отключить автоматический запуск одной джобы (не upstream и не downstream). А потом снова включить его. Как решали задачу?
Были идеи инжектить файл (как семафор, если файл есть, то джоба не бежит и абортится), но это как-то не по джентельменски, так что хочется какой-то вариант красивее.
Через
- внутренний апи Using Jenkins API — JenkinsAPI 0.3.4 documentation
- jenkins-jar `java -jar jenkins-cli.jar -s http://jenkins/ disable-job job_name
- rest api
Чем этот плагин не нравится? Вроде специально для этого.
На плагины не хватает прав доступа. Дженкинс овнится не тест тимой.
1 не подходит по той же причине что и в предыдущем посте. Операции с мастером невозможны.
2. Возможно мой вариант, попробую. Как раз успел его на стековерфлов найти к этому времени
3. Надо будет где-то хранить аккаунт где-то и использовать его в скрипте, а не хочется, так как это нарушает безопасность интранета.
3 → не нарушаешь, в апи можно авторизоваться по токену, причем двумя вариантами
Во втором случае хэш берешь с аккаунта в https://%jenkins%/user/%username%/configure:
Теоретически можно даже через сертификат настроить (следующая настройки, add credentials). Но не пробовал
Но что хеш, что токен придется вшивать в джобу. И используя его какой-то говнюк может получить доступ к дженкинсу с моим аккаунтом (в случае с токеном), ну или как минимум конфигурировать другие джобы от моего имени (в случае с хэшем).
Можно сконфигурировать отдельного бот-юзера с дорступом только к нужной джобе.