Как отключить одну джобу из другой джобы автоматически?

План прост, а значит крассив. При выполнении цепочки задач необходимо отключить автоматический запуск одной джобы (не upstream и не downstream). А потом снова включить его. Как решали задачу?
Были идеи инжектить файл (как семафор, если файл есть, то джоба не бежит и абортится), но это как-то не по джентельменски, так что хочется какой-то вариант красивее.

Через

  1. внутренний апи Using Jenkins API — JenkinsAPI 0.3.4 documentation
  2. jenkins-jar `java -jar jenkins-cli.jar -s http://jenkins/ disable-job job_name
  3. rest api
1 лайк

Чем этот плагин не нравится? Вроде специально для этого.

На плагины не хватает прав доступа. Дженкинс овнится не тест тимой.

1 не подходит по той же причине что и в предыдущем посте. Операции с мастером невозможны.
2. Возможно мой вариант, попробую. Как раз успел его на стековерфлов найти к этому времени
3. Надо будет где-то хранить аккаунт где-то и использовать его в скрипте, а не хочется, так как это нарушает безопасность интранета.

3 → не нарушаешь, в апи можно авторизоваться по токену, причем двумя вариантами

  1. Jenkins : Remote access API
  2. через http://user:hash@jenkins.com

Во втором случае хэш берешь с аккаунта в https://%jenkins%/user/%username%/configure:

Теоретически можно даже через сертификат настроить (следующая настройки, add credentials). Но не пробовал :slight_smile:

Но что хеш, что токен придется вшивать в джобу. И используя его какой-то говнюк может получить доступ к дженкинсу с моим аккаунтом (в случае с токеном), ну или как минимум конфигурировать другие джобы от моего имени (в случае с хэшем).

Можно сконфигурировать отдельного бот-юзера с дорступом только к нужной джобе.