2016-04-29 7 views

ответ

6

DSL не предоставляет возможности других плагинов, он просто предоставляет их возможности сценарию. Плагины все еще необходимо установить.

В соответствии с Документами DSL API, DSL имеет поддержку Jenkins mailer plugin (входит в стандартную комплектацию),

job('example') { 
    publishers { 
     mailer('[email protected]', true, true) 
    } 
} 

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

email extension plugin также поддерживается DSL:

job('example') { 
    publishers { 
     extendedEmail { 
      recipientList('[email protected]') 
      defaultSubject('Oops') 
      defaultContent('Something broken') 
      contentType('text/html') 
      triggers { 
       beforeBuild() 
       stillUnstable { 
        subject('Subject') 
        content('Body') 
        sendTo { 
         developers() 
         requester() 
         culprits() 
        } 
       } 
      } 
     } 
    } 
} 

Чтобы отправить по электронной почте после того, как каждый строить независимо от статуса, используя адрес электронной-вн, вы можете использовать always trigger (вместо stillUnstable триггера в приведенном выше примере)

(примеры кода. скопированные из связанной документации для выживания простоев)

0

Я использую Pipeline/Workflow DSL и получил эту работу:

mail from: "", 
    to: "[email protected]", 
    subject: """Jenkins ${env.JOB_NAME} [${env.BUILD_NUMBER}]""", 
    mimeType: "text/html", 
    body: """Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p> 
    <p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p> 
    <pre>${summary}</pre>"""