【问题标题】:How to get maven version in Jenkins email notification when using emailext使用 emailext 时如何在 Jenkins 电子邮件通知中获取 Maven 版本
【发布时间】:2018-02-02 11:15:39
【问题描述】:

如何使用 emailext 在 Jenkins 电子邮件通知中获取 maven 版本。我需要在电子邮件通知中打印项目正在使用的 Maven 版本。 请提出建议。

【问题讨论】:

  • 我尝试在 emailext 以及 JENKINS_HOME/email-templates 下的 groovy 电子邮件模板中使用变量 $POM_VERSION

标签: jenkins-pipeline jenkins-email-ext


【解决方案1】:

如果我做对了,您可以简单地运行命令并将其放入一个变量中,然后在您发送的文本中使用它。例如。

mvnVersion = sh (
                  script: "mvn -version",
                  returnStdout: true
            ).trim()

emailText = "this is the mvn version - ${mvnVersion}"

如果您想要任何特定信息,您可以随时使用 replaceAll() 来获取它。

【讨论】:

  • 你建议我从 groovy 电子邮件模板中运行上述命令吗?
  • 是的,只需在电子邮件正文中发送 emailText,您可以通过打印 mvnVersion 来检查它得到了什么,并查看输出并提取必要的内容。
  • 它抛出错误:[找不到内容令牌(检查您的使用情况):sh]
  • 可以发截图吗
【解决方案2】:

在我的 groovy 电子邮件模板中添加了以下代码。它有效,从电子邮件中的项目 pom 中获取了 maven 版本。

<%  def variable = new XmlSlurper().parse(new File("/var/jenkins_home/jobs/projectName/pom.xml"))
       def param = new hudson.model.StringParameterValue("MAVEN_VERSION", variable.prerequisites.maven.toString())
       def version = param.getValue() %>
<tr>
      <td>Maven:</td>
      <td>${version}</td>
    </tr>

【讨论】:

    猜你喜欢
    • 2017-11-03
    • 1970-01-01
    • 2018-02-24
    • 2018-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-15
    相关资源
    最近更新 更多