Использование HTML в описании вакансии Jenkins, созданной DSL

Я переношу некоторые задания Jenkins на код DSL из текущих ручных конфигураций. Некоторые из этих заданий имеют описания, содержащие HTML, но я не могу найти способ ввести этот HTML в исходное задание, чтобы сгенерированное задание содержало такое же описание. В одном примере текущая работа имеет следующее описание:

Multi-Platform Build <br/><br/>

Builds nightly but only if there has been SCM revisions against the application Core Trunk. <br/><br/>

This is being replaced by <a href="http://myjenkinsserver/view/application/job/application-new">application-multi-platform-new</a>

В результате получается красиво оформленное описание вакансии с разрывами строк и гиперссылкой.

Я хочу воспроизвести это, когда я создаю то же задание из сценария DSL, но, похоже, нет способа сделать это.


person shaneoh    schedule 24.11.2016    source источник


Ответы (2)


Это должно быть возможно, просто указав нужные html-теги. Какой у вас результат?

    description("""
Multi-Platform Build <br/><br/>

Builds nightly but only if there has been SCM revisions against the application Core Trunk. <br/><br/>

This is being replaced by <a href="http://myjenkinsserver/view/application/job/application-new">application-multi-platform-new</a>
    """)
person MaTePe    schedule 24.11.2016
comment
Хорошо, я пробовал это раньше, но, как и все остальное в моих сценариях DSL, мое описание содержалось в ('Multi ...'), а не в трех указанных вами двойных кавычках, что работает. Спасибо! Не уверен, почему это необходимо, и нигде не упоминал об этом. - person shaneoh; 24.11.2016
comment
Может вам понадобилось расширение? 3 или 3 '' просто означает многострочность. И «вы не получаете расширения переменных. С расширением переменных. Не уверен, была ли в этом проблема. В любом случае, здорово, что это сработало, вы также можете сделать отступ в строке, а затем stripMargin () - person MaTePe; 24.11.2016
comment
Я думаю, это была проблема, потому что, как только я верну его обратно к тому, что было до того, как оно сломалось, но делаю это по-своему - еще раз спасибо. - person shaneoh; 24.11.2016

Мне удалось найти обходной путь, но я бы предпочел сделать это напрямую.

Можно использовать приведенный ниже фрагмент:

job('multi-platform-build') {
    description(readFileFromWorkspace('description.html'))
}

Это позволяет вам иметь отдельный файл для рабочей области начального задания, которое вызывается для предоставления описания.

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

person shaneoh    schedule 24.11.2016