Есть ли функция в любом API Jenkins, которая предоставляет мне подчиненные узлы COMPUTERNAME / Hostname - PullRequest
0 голосов
/ 13 июня 2019

Мне нужно собрать список всех имен хостов подчиненных узлов jenkins, установленных на моем главном узле jenkins.Многие из узлов настроены с именами, такими как SLAVE NODE EXAMPLE, вместо того, чтобы иметь имя сервера в качестве имени узла.Я знаю, как добраться до этого из интерфейса.Однако мне нужно получить доступ к этому через python, так как у меня настроено много узлов, и каждый из них будет проходить долго.

Я использую API-интерфейс python-jenkins, у которого есть функция, которая заставляет менявсе узлы и их конфигурации.используя get_node_config(name).Однако это не дает мне COMPUTERNAME.Я не могу найти файл, который содержит эту информацию в домашнем каталоге Jenkins.

Ответы [ 2 ]

0 голосов
/ 14 июня 2019

Вот отличный скрипт, если это поможет.Запустите из консоли.Примечание: узлы должны быть в режиме онлайн для запроса.

Jenkins.instance.slaves.each {
   print it.getNodeName() + ' : '
   if ( it.getComputer().isOnline() ) {
      println it.getComputer().getHostName() + ' : ' + it.getComputer().getOSDescription()
   } else {
      println ' - offline -'
   }    
}
return 0

См. API Jenkins - Компьютер

0 голосов
/ 13 июня 2019

Как только вы получите имя узла, вы можете использовать это имя, чтобы получить больше информации о с get_node_info (имя, глубина = 0)

nodes = get_nodes()
for n in nodes:
   info = get_node_info(n[name])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...