На работе есть такой комплекс, который зовётся Jenkins. Это система непрерывной интеграции. Мы в нём запускаем нажатием кнопки процессы билда и\или деплоя. Процессы там относительно долгие и держать открытой вкладку браузера чтоб следать когда оно закончилось или упало - влом. А когда одновременно запускает 2-3-5 процессов - то вообще тратишь время только на то, чтоб за этим следить.
Потому я около месяца назад написал бота, которому кормишь название задачи, он ищет запущенные билды по ней и за ними следит, сообщая когда падает или исполняется успещно.
Вот поюзали мы его месяц и подумали, а зачем вообще кормить ему название задач, ведь можно просто из API Дженкинса вытаскивать всё то, что запустил конкретный юзер и ему сообщать статус.
И вот проблема, API делал какой-то аутист и оно весьма ограничено.
Например:
Получить все запущенные билды от конкретного юзера - нельзя.
Получить все запущенные билды вообще - нельзя.
Можно получить все билды по конкретной задаче и запросить инфу по каждому из билдов, посмотрев там юзера, которым оно было запущено. (но это долго для регулярного поллинга, а в нём и смысл)
Коллбеков у дженкинса нет.
Есть задачи, которые комбинируют в себя с десяток других задач, и если я сделаю саму простую логику, то запустив одно родительскую задачу, бот будет спамить всем, что дочернее. Отделить мух от котлет я не понимаю как.
а можно получить названия задач?