Jenkins共享库 - 访问Git Changeset相关信息

时间:2018-05-30 18:11:31

标签: git jenkins

我有一个Jenkins共享库,其中包含一堆Git repos。

  • 回购1: Jenkins共享库回购,它在Jenkins中全局配置。
  • 回购2:应用程序代码仓库,其中包含实际的应用程序代码。
  • 回购3:应用程序配置存储,其中包含应用程序各种环境的配置文件。

管道有各种步骤,如结账,构建,代码质量检查,单元测试,构建和部署。

我们在共享库中使用Jenkins提供的电子邮件模板来通知构建状态。示例代码:

def nTo = globalNotificationSettings.mail.to ?: ""
def nEnabled = globalNotificationSettings.mail.enabled ?: false
def nSubject = "${nBuildStatus}: Job ${env.JOB_NAME} Build #${env.BUILD_NUMBER}"
def nBody = '''${SCRIPT, template="groovy-html.template"}'''

if(nTo && nEnabled) {
    emailext body: nBody, \
        subject: nSubject,\
        to: nTo, \
        mimeType : 'text/html'
}

生成的电子邮件最终会显示合并到一个表中的所有更改,并且不会显示每个存储库的更改。有关电子邮件模板的快速参考,请访问Jenkins CI github

经过进一步分析,显然电子邮件扩展程序使用GitChangeSet object,而且似乎没有关于变更集来自哪个存储库的信息。

是否有人可以建议在共享库中获取以下信息?

  • 在回购级别由构建处理的变更集列表
  • 我不是在寻找修改模板的解决方案。相反,我需要有关如何使用Jenkins共享库在repo级别访问变更集的帮助/指导。特别是,访问在Jenkins全局配置的Jenkins共享库的回购信息。

1 个答案:

答案 0 :(得分:0)

您是否尝试查看getKind()方法从每个变更集中返回给您什么?

http://javadoc.jenkins-ci.org/hudson/scm/ChangeLogSet.html引用了