Как использовать условие if-else (в нижестоящем задании) для проверки параметров, переданных из вышестоящего задания в jenkins? - PullRequest
1 голос
/ 20 мая 2019

Я пытаюсь настроить почтовые уведомления с успешным / неудачным статусом задания Jenkins. У меня есть отдельная работа для запуска почты.

Мне нужно вызвать две разные почты для сценариев неудачи и успеха. Для этого у меня есть ниже код

import javax.mail.*
import javax.mail.internet.*

def  d_email = "noreply@kpn.com",
     d_uname = "noreply@kpn.com",
     d_password = "",
     d_host = "safemail.kpnxchange.com",
     d_port  = "25", //465,587
     m_to = "abc@kpn.com",
     m_subject = "Deployment status Jenkins Job: ${params.JobID}#${params.BuildNumber}- ${params.Status}",
     m_text_success = "Success mail"
     m_text_fail = " failure mail "

def props = new Properties();
props.setProperty("mail.smtp.host", d_host)
def session = Session.getDefaultInstance(props)
session.setDebug(true);

try {
    def msg = new MimeMessage(session)

    if (${params.status} == "Success") {
        msg.setText(m_text_success)
    } else {
        msg.setText(m_text_fail)
    }
    msg.setSubject(m_subject)
    msg.setFrom(new InternetAddress(d_email))
    msg.addRecipient(Message.RecipientType.TO, new InternetAddress(m_to))
    Transport.send(msg);
    System.out.println('message sent');
} catch (MessagingException mex) {
    mex.printStackTrace(); 
}

Здесь в приведенном выше задании ${params.Status} - это переменная, которая передается из вышестоящего задания. И мне нужно проверить, если значение ${params.Status} поступает в нисходящий поток как Success, тогда оно должно установить msg.setText(m_text_success), а если значение ${params.Status} поступает в нисходящий поток как Fail, то оно должно установить msg.setText(m_text_success)

Я не могу получить условие if-else в рабочем состоянии.

1 Ответ

0 голосов
/ 20 мая 2019

Если вы status строка, то это должно работать

if (params.status.equalsIgnoreCase('success')) {

И примечание: параметры / параметры, как известно, чувствительны к регистру, проверьте, не используете ли вы точно такое же имя.

...