【发布时间】:2019-09-01 10:56:34
【问题描述】:
我们的团队正在迁移到 BitBucket。我们的工作流程需要对合并到主源代码库的代码的提交消息进行某种格式设置。
每个开发人员都有一个(或多个)分叉。我们的工作流程是将功能/错误分支推送到分支并从该分支创建拉取请求。其他两个开发人员必须审核并 +1 拉取请求才能合并。
当有人点击 Merge 时,BitBucket 会显示一个标题为“Merge Pull Request”的对话框。此时,开发人员可以在单击第二个合并按钮之前编辑为合并记录的文本消息。这是需要符合特定格式的消息。
我已阅读此处的文档:https://scriptrunner.adaptavist.com/latest/bitbucket/StashMergeChecks.html 它有几个非常具体的示例,但与我们的用例无关。我还没有找到关于如何创建合并检查的良好通用参考。
我可以编写一个检查特定字符串值的条件:
mergeRequest.message == "My Message"
但我需要它来检查正则表达式。 如果消息不符合正则表达式,我如何编写预合并挂钩来拒绝合并?
加法
从文档看来,条件检查脚本代码似乎是执行此条件的正确位置。脚本可以添加到Repository Settings > SCRIPTRUNNER > Script Merge Checks > Conditional merge check。为条件合并检查显示了一长串示例,包括:
- 特定组中的当前用户
- 更改的文件包含 .XYZ 文件
- 敏感目录中的文件已更改
- 目标分支是发布
经过一些搜索和实验,我发现我可以根据提交消息阻止合并。但到目前为止,我只找到了将整个字符串与常量字符串表达式进行比较的示例。我还没有找到如何在这个比较中使用正则表达式。
【问题讨论】:
标签: bitbucket