我知道Bitbucket中的插件很少,例如YACC,您可以直接将其安装在Bitbucket中,并且可用于存储库以启用jira预接收提交挂钩。 Github有任何类似的东西吗? 我正在寻找的是在Github中启用某种挂钩的最佳,最可行的解决方案,该挂钩强制所有提交的内容都需要具有有效的jira发行密钥。如果有什么也可以创建分支,但目前对我来说不重要的事情,那会更好。
请提供有关如何在Github Enterprise中启用该功能的步骤的帮助。
答案 0 :(得分:0)
Github无法做到这一点。
只有Github Enterprise支持pre-receive
钩子,甚至提供了一个在提交消息中执行JIRA问题实施的示例-https://github.com/github/platform-samples/blob/master/pre-receive-hooks/require-jira-issue.sh
或者,您可以让您的团队成员设置本地pre-push
或pre-commit
挂钩来执行。
答案 1 :(得分:0)
此功能可以通过集中式解决方案来解决,如Datree.io这样的服务器端git-hooks。 它具有内置策略,例如:
免责声明:我是Datrees创始人之一
答案 2 :(得分:0)
如果您设置了CI来对分支进行检查,那么我已经按照如下方法完成了一个分支管道:
- npm ci
- npm run lint
- npm test
# == Check that all commits since the base branch (dev) contain ACME- for ticket reference ==
# Fetch the merge base for our project
- git fetch origin dev:dev
- >
echo "-- Checking ACME- prefix on commits --"
&& [[ `git log --oneline dev.. | grep -v 'ACME-' | wc -l` -eq 0 ]]
&& echo "Passed"
|| (echo "Failed for the following commits:"
&& git log --oneline dev.. | grep -v 'ACME-'
&& [[ 0 -eq 1 ]])
自然地,您可以避免||。 &&体操,如果您将其提取到shell脚本文件中。
答案 3 :(得分:0)
如果您的意思是GitHub Enterprise,则可以使用similar tools you already mentioned on the Jira side根据Jira信息验证提交详细信息。
对于托管的GitHub版本,您将选择本地钩子(如前所述)。 (最有效的方法是同时使用服务器端钩子和本地钩子)。如果不确定如何构造和安装本地钩子脚本this tool has a "wizard",该脚本将指导您完成一些步骤并最终吐出脚本。< / p>