Page tree
Skip to end of metadata
Go to start of metadata

常用检查配置,这些可以在push或者merge中有用。

说明事例
Syntax check如果启用此选项,相关文本字段应包含一个正则表达式,该表达式将定义提交消息的语法。

如果设置了选项,并且给出了以下正则表达式,

^\[([A-Z]+)-(\d+)\](.|\n)+

然后,每个commit 都必须以一个Jira issue key开头,该key位于括号中。此外,在key后面必须有进一步的说明(例如,“[test-1] 修改的内容 ”将被接受。只有“[TEST-1]”作为提交消息将不被接受。此外,“ TEST-1和其他一些文本”也将不被接受,因为缺少括号。如果提交消息不匹配,则会阻止pull 或 merge。

Issue status

如果启用此选项,相关文本字段应包含一个正则表达式,该表达式将定义问题密钥引用的有效状态。

如果设置了选项,并且给出了以下正则表达式

Reviewed|Integration Request

只有当问题状态为“已审核”或“集成请求”时,才能进行合并或推送。(当然,也可以使用更复杂的正则表达式。)

Attention

如果您有一家国际公司,并且您将支持不同的语言,那么您必须在正则表达式中尊重这一点。例如正则表达式

To Do| Done
JQL check如果启用此选项,则相关文本字段应包含有效的JIRA JQL表达式。只有当所有issue key引用都与给定的JQL匹配时,才接受提交

如果设置了该选项,并且给出了以下JQL

(assignee=benni and fixVersion is not EMPTY)

然后将使用这个JQL检查给定的问题引用。因此,只有当受让者是用户“benni”并且修复版本设置为任何版本时,合并或推送才是可能的.

(assignee=$currentUser)

您还可以使用关键字“$currentUser”,它将被替换为执行合并或推送的用户。因此,JQL确保合并/推送只能由问题的受让人完成

Issue-key Check

如果设置了此选项,则必须存在issue key 。此外,issue key必须引用JIRA中的有效问题。

有三种方法可以检查issue key

  • 在任何推送提交中,必须至少有一个issue key引用可用
  • push 的所有提交都必须具有有效的issue key引用
  • 每个分支名称应包含有效的issue key
示例至少有一个全部分支
git checkout -b my-branch/something
git commit -m 'TEST-1 this is a example'
git push
ACCPETED
ACCPETED
ACCPETED
git checkout -b my-branch/something
git commit -m 'TEST-1 This is a example'
git commit -m 'This is a example'
git push


ACCPETED
ACCPETED
ACCPETED
git checkout -b my-branch/TEST-1
git commit -m 'This is a example'
git push
ACCPETEDACCPETEDACCPETED
  • No labels