Получить все сборки, запущенные пользователем в Jenkins

На следующей странице в Jenkins должен быть список сборок, запущенных пользователем-пользователем.

https://<jenkins.domain>/user/<username>/builds

Но это всегда пусто для всех пользователей в моем Jenkins.

Ошибок в системном журнале или в браузере нет. Не знаю, почему эта страница всегда пуста.

Environment:

Jenkins version: 2.190.2 

Auth mechanism: LDAP

Я ищу API для выполнения всех сборок данным пользователем (или пользователем, вошедшим в систему). В идеале, если бы эта страница работала, я бы проверил API Rest, используемый страницей, по ссылке Rest API в нижнем колонтитуле Jenkins.


Вопрос такой же, как и этот 5-летний вопрос о более старой версии jenkins, на который нет ответа - Jenking не отображает историю сборки от одного пользователя

Изменить: все еще ищет способ перечислить задания конвейера, запущенные пользователем.


person Shashank V    schedule 07.08.2020    source источник
comment
Кое-что, что я бы попробовал... (1) Проверить, зарегистрирован ли я как пользователь admin (2) запустить задание как пользователь admin и одновременно проверить, отображается ли задание running в упомянутой вами ссылке.   -  person mdabdullah    schedule 08.08.2020
comment
Это работает только для администратора? Я пытаюсь выяснить пароль администратора, поскольку после первоначальной настройки у меня его больше нет. Я пытаюсь использовать учетную запись пользователя, у которой есть все права администратора.   -  person Shashank V    schedule 10.08.2020
comment
Вы правы, вашего аккаунта достаточно. Вы пробовали (2)   -  person mdabdullah    schedule 10.08.2020
comment
да. Это уже пробовал.   -  person Shashank V    schedule 10.08.2020
comment
Я думаю, что понимаю вашу проблему, указанная вами страница отображает задания на основе групп пользователя. Я только что проверил на своем и обнаружил, что когда я выполняю https://<jenkins.domain>/user/mdabdullah/builds, я получаю в списке только 1 задание, но когда я выполняю https://<jenkins.domain>/user/[email protected]/builds, я получаю в списке около 250 заданий, я бы посоветовал вам поиграть со своими учетными записями пользователей в вашей организации, чтобы найти правильную ссылку в который вы можете перечислить все рабочие места. Еще одно замечание: кажется, что он более точно перечисляет freestyle вакансий, чем pipeline вакансий.   -  person mdabdullah    schedule 11.08.2020
comment
Я пробовал все комбинации пользователя/группы, но ничего не получалось. Но ваше замечание о фристайл-работах верное. Все рабочие места в моем jenkins являются рабочими конвейерами. Поэтому я создал задание для фристайла для тестирования, и после его запуска эти задания отображаются на странице сборки. Знаете ли вы, есть ли способ получить историю заданий конвейера для пользователя? Можете ли вы добавить свой комментарий в качестве ответа, чтобы я мог его принять.   -  person Shashank V    schedule 11.08.2020
comment
Я изучил выборку pipeline jobs по username и обнаружил, что она недоступна. Я думаю, это потому, что эта функция является OOTB плагина BUILD, который доступен в заданиях типа Freestyle и Maven и недоступен в заданиях типа Pipeline. Вы можете поискать другие плагины или варианты, если вы решите загрузиться, вот что вам нужно сделать: Разработайте скрипт groovy или shell+groovy для запуска на master. Этот сценарий очищает console output истории создания каждого задания, и вы можете grep первую строку и truncate остальную часть журнала, первая строка содержит имя пользователя.   -  person mdabdullah    schedule 11.08.2020


Ответы (1)


Jenkins users может аутентифицироваться в разных областях безопасности, т. е. с групповым доступом (SAML) или аутентификацией на основе LDAP, поэтому запросы могут быть получены разными способами.

Когда я сравниваю количество заданий следующих URL-адресов, результаты на самом деле разные:

https://‹jenkins.domain›/user/‹username›/builds — возвращает только один https://‹jenkins.domain›/user/‹username›@company.com/builds — возвращает несколько

Определите формат в своем экземпляре Jenkins, чтобы найти правильную ссылку, в которой вы можете перечислить все задания.

Еще один момент, на который следует обратить внимание: на этой странице перечислены только Freestyle вакансий, а не Pipeline вакансий.

person mdabdullah    schedule 11.08.2020