如何将Github问题集成到Artifactory构建信息
主题
如何将Github问题集成到Artifactory构建信息
描述
添加JIRA问题构建信息是一个相当简单的过程,但如何Github问题?
决议
使用JFrog CLI,有一个命令允许从本地. Git目录收集Git信息,并将其添加到build-info中。它还可以收集跟踪项目问题的列表(例如,存储在JIRA或其他错误跟踪系统中的问题),并将它们添加到构建信息中。通过从本地git日志中读取git提交消息来收集问题。每个提交消息都与预先配置的正则表达式进行匹配,正则表达式检索问题ID和问题摘要。本指南假设您已经设置了JFrog CLI。
例如,如果我想从官方的JFrog图表Github存储库中收集Github问题,我需要有一个配置文件,让我们调用它issues-config.它包括以下内容:
版本:1
问题:
serverID:艺术
trackerName: GITHUB
regexp: \ # ([0 - 9] +) \ s - \ s(+)。
keyGroupIndex: 1
summaryGroupIndex: 2
trackerUrl: https://github.com/jfrog/charts/issues
总:真
使用标准的Github速记语法将Github问题链接到提交使用#和issue number,我运行以下提交消息:$ git commit -m "尝试修复#1 -测试问题"
这将把问题#1与此提交联系起来。您可以从我的regexp中看到有两个组,([0-9]+)和(.+)。这是在以下参数keyGroupIndex和summaryGroupIndex中捕获的内容。我们可以看到我的提交是“尝试修复#1 -测试问题”,因此它将从“#”匹配,并将“1”添加到第一组(keyGroupIndex),并将“测试问题”添加到第二组(summaryGroupIndex)。您可能需要使用这个正则表达式来获得适合您需要的正确格式。
例如,如果你需要在github问题之前有摘要,$ git commit -m "尝试2修复:测试问题- #1",试试这样的方法\: \ s (+) \ s - \ s # ([0 - 9] +),其中“test issue”将是组1,“1”将是组2,因此keyGroupIndex将是2,summaryGroupIndex将是1。
Github的另一个例子是GH-1而不是#1,$ git commit -m "尝试修复:测试问题- GH-1".在这种情况下,正则表达式将是:\: \ s (+) \ s - \功能减退([0 - 9]+)。同样,您需要将keyGroupIndex设置为2,将summaryGroupIndex设置为1。
稍后,keyGroupIndex将包含一个将trackerUrl与keyGroupIndex组合在一起的链接。在我们的例子中,“尝试2来修复#1 -测试问题”将把“#1”链接到Github链接中的https://github.com/jfrog/charts/issues/1。因此,在我们的构建信息中,我们将合并trackerUrl + '/' + keyGroupIndex;https://github.com/jfrog/charts/issues + '/' + 1,给出正确的链接。你需要事先去掉“#”,以符合Github的问题URL链接语法。
然后,运行正常的jfrog CLI构建命令,然后是这个新命令:$ jfrog rt包<构建名称> <构建编号>——配置问题-配置
发表后($ jfrog rt bp <构建名称> <构建编号>),导航到你的问题标签,你应该看到你的新发现的github问题。在build-info中也应该有一个问题部分。Json,看起来像这样:"问题":{
“追踪”:{
“名称”:“GITHUB”
},
“aggregateBuildIssues”:没错,
“affectedIssues”:[{
“关键”:“1”,
“url”:“https://github.com/jfrog/charts/issues/1”,
“总结”:“测试问题”,
“聚合”:假的
})
}
有关配置文件和命令的更多信息,您可以在我们的wiki中阅读,在“从Git收集信息”下面:
//m.si-fil.com/confluence/display/CLI/CLI+for+JFrog+Artifactory#CLIforJFrogArtifactory-CollectingBuildInformation
