Не удается получить поле описания задания или параметра Jenkins

#jenkins #jenkins-plugins

#дженкинс #дженкинс-плагины

Вопрос:

Возможно ли получить описание задания или описание параметра задания во время выполнения или позже, например BUILD_ID или JOB_NAME?

Я ищу плагины или обходные пути и ничего.

Спасибо.

Комментарии:

1. Вы пытались проверить, какие глобальные переменные доступны? Например, если вы используете конвейер Jenkins, вы можете проверить: https://<<yourjenkinsdomain>>/pipeline-syntax/globals#env и оттуда вы можете использовать ${currentBuild. описание} и / или ${currentBuild.number}. Если вам нужно JOB_NAME, правильный синтаксис должен быть $ {env.JOB_NAME} или ${JOB_NAME} во время выполнения (по крайней мере, в нашей конфигурации).

2. Для описания задания / параметра отсутствует глобальная переменная / env

Ответ №1:

Это было бы подсказкой / обходным путем

 https://<<yourjenkinsdomain>>/job/<<yourjobname>>/configure (will open the configuration of your job)
  

Однако

 https://<<yourjenkinsdomain>>/job/<<yourjobname>>/config.xml (will give the job configuration in an xml format)
  

Вы можете загрузить этот xml через curl во время выполнения или с помощью jenkins cli и использовать grep с опцией -B для поиска описания по значению.

Учитывая, что вы скопировали с именем «config.xml «

 cat config.xml | grep -B 1 "description"
  

Предоставит вам описание и имя параметра сборки

  Grep command 
 -B NUM, --before-context=NUM
          Print  NUM  lines  of  leading  context  before  matching lines.
          Places  a  line  containing  a  group  separator  (--)   between
          contiguous  groups  of  matches.  With the -o or --only-matching
          option, this has no effect and a warning is given.
  

Пример вывода :

 cat config.xml | grep -B 1 "description"

<actions/>
<description>Job description : Automation </description>
--
<name>branch</name>
<description>mandatory parameter , used for automation</description>
  

Альтернатива :

jenkins cli имеет возможность задавать значение

 set-build-description   Sets the description of a build.
set-build-parameter Update/set the build parameter of the current build in progress. [deprecated]
  

вы можете написать небольшой скрипт и преобразовывать значения в переменные и использовать их

Комментарии:

1. Несмотря на то, что это обходной путь, кажется возможным, получение конфигурационного xml. Не самое чистое решение, но спасибо.