Jenkinsfile で コミットコメントを共有したい時


コミットログを commitLogs に格納する例

Jenkinsfile
// 例えば、今日コミットした一覧(commitLogs)を取得する

def commitLogs = ""

def date = new Date()
def dateFormatHyphen = new SimpleDateFormat("yyyy-MM-dd")
def todayHyphen = dateFormatHyphen.format(date)

// 今日アップしたコミットコメントを取得
def logs = sh(script: "git log --pretty=format:\"%h - %an, %ar : %s\" --after=\"${todayHyphen} 00:00:00\"", returnStdout: true).split("\r?\n")
for (log in logs) {
  // 一覧に入ってほしくないコミットコメントを除く例:Merge, Pull Requestなど
  if (!log.contains("Merge pull request") && !log.contains("Merge remote-tracking branch") && !log.contains("Merge branch")) {
    commitLogs += log + "\n"
  }
}

例えば、上記のサクセスメールのbodyにcommitLogsを追加したりして共有できます。

stage 'success mail'
mail from: "${MAIL_FROM}",
       to: "${MAIL_TO}",
  subject: "【成功】 ${MAIL_SUBJECT}",
     body: "${MAIL_BODY}\n\n【Today's Commit Logs】\n${commitLogs}",
       cc: '',
      bcc: '',
  replyTo: ''

Jenkinsfile で 成功/エラーメールを送る方法