2013-02-25 2 views
4

Email-ext Jenkins позволяет вам написать шаблон электронной почты Jelly. Как вы пишете и тестируете один, не запуская сборку каждый раз? В принципе, я ищу 1-секундную итерацию, где я могу модифицировать скрипт Jelly, обновить обновление в браузере и автоматически отобразить шаблон на основе проекта жесткого кода и построить результат.Быстрое тестирование шаблонов Jelly в email-ext Jenkins

ответ

7

Открытый скрипт сценария Jenkins в _http: // server/script/(У Stackoverflow возникают проблемы с сохранением редактирования, когда это фактический URL-адрес).

Введите следующий код и заменить your-project-name с именем вашего проекта и [email protected] ваш адрес электронной почты:

import hudson.model.StreamBuildListener 
import hudson.plugins.emailext.ExtendedEmailPublisher 
import java.io.ByteArrayOutputStream 

def projectName = "your-project-name" 
def project = Jenkins.instance.getItem(projectName) 

try 
{ 

    def testing = Jenkins.instance.copy(project, "$projectName-Testing") 
    def build = project.lastUnsuccessfulBuild 
// see the <a href="http://javadoc.jenkins-ci.org/hudson/model/Job.html#getLastBuild()" title="Job" target="_blank">javadoc for the Job class</a> for other ways to get builds 

def baos = new ByteArrayOutputStream() 
def listener = new StreamBuildListener(baos) 

testing.publishersList.each() { p -> 
    println(p) 
    if(p instanceof ExtendedEmailPublisher) { 
    // modify the properties as necessary here 
    p.recipientList = '[email protected]' // set the recipient list while testing 

    // run the publisher 
    p.perform((AbstractBuild<?,?>)build, null, listener) 
    // print out the build log from ExtendedEmailPublisher 
    println(new String(baos.toByteArray(), "UTF-8")) 
    } 
} 

} 
finally 
{ 
    if (testing != null) 
    { 
     testing.delete() 
    } 
} 

ИСТОЧНИК: https://earl-of-code.com/2013/02/prototyping-and-testing-groovy-email-templates/

Существует также проблема, которая отслеживает делает это проще:

JENKINS-9594 - Should be able to send test e-mail based on previous build

+0

Этот ответ вряд ли поможет. Просто ссылка на трекер ошибок НЕ отвечает на вопрос вообще. –

+1

@Richard Я ОБНОВЛЯЛ ОТВЕТ, используя сценарий, который я только что провел через несколько секунд назад. Надеюсь, теперь это удовлетворительно для вас. –

6

В настоящее время существует возможность проверить te шаблоны против сборок в последних версиях плагина. Когда вы находитесь на экране задания, на левой стороне должна быть ссылка, в которой говорится, что тестирование шаблонов электронной почты. Это позволит вам снова выбрать сборку для тестирования, и она отобразит шаблон прямо там.

Смежные вопросы