Jira le numéro git commit message
À notre entreprise, nous sommes en mouvement à partir de svn à git.
Pour le numéro de suivi que nous utilisons JIRA d'Atlassian.
Maintenant nous voulons nous assurer que chaque commit message contient un numéro (comme nous l'avons fait avec svn).
Nous avons trouvé le commit-msg crochet que nous utilisons pour rejeter l'engager si elle ne contient pas une question de nombre.
JIRA utilise Fisheye pour analyser le repo git. Si un commit message contient un numéro, puis les modifications sont présentées en vertu de cette question.
Le problème est que l'hameçon n'est pas copiée lors d'un dépôt git est cloné. Donc le numéro numéros dans les messages de validation ne sont pas appliquées. Cela signifie que lorsqu'un nouveau commit est poussé en amont Jira peut pas la liste des modifications en vertu d'un problème.
La question est: sommes-nous à l'aide de Git en quelque sorte dans le mauvais sens et est-il possible de vraiment faire exécuter un numéro dans le message de commit? Ou n'importe avez simplement avoir un script/crochet (autres que le commit-msg crochet) qui accomplit cette?
- N'ayant toujours pas une bonne réponse. Quelqu'un a un bon côté serveur crochet? Le crochet doit être exécuté sur l'origine, c'est à dire que nous pousser à.
Vous devez vous connecter pour publier un commentaire.
J'ai utilisé git-jira-crochet et l'a modifié pour mes besoins, ce qui devrait également fonctionner pour vous. Pour vos besoins, il suffit de retirer les pièces où il se connecte à Jira pour vérifier si le jira numéro regexed à partir du message de commit est valide. Si vous n'aimez pas python (git-jira-crochet est écrit en python) et préfèrent bash, vous devriez être en mesure d'adapter les scripts d'exemple dans chacun des pensions de l' .git/hooks dir à vos besoins.
À mettre en place quelque chose qui va travailler pour tout le monde, vous souhaitez utiliser git-jira-crochet comme la "mise à jour" crochet sur vos amont repos. Ceci bloquer la pousse qui contiennent des messages de commit qui manquent de bon jira références sur le problème. Depuis, il est plus commode pour obtenir des commentaires sur le manque de références sur le problème au moment de la validation (plutôt qu'à pousser le temps), vous aurez besoin pour obtenir votre développeurs d'installer git-jira-crochet comme leur commit-msg crochet. J'expliquerai plus tard comment cela peut être fait à l'échelle mondiale.
Voici comment j'ai résolu ce problème:
Privé des pensions de s'engager à-msg crochet:
J'ai modifié git-jira-crochet de vérifier pour jira références sur le problème de la notation que nous utilisons. Ensuite, j'ai envoyé le crochet avec des instructions à tout le monde de vous expliquer comment installer le crochet à l'échelle mondiale, comme il est expliqué dans cette SORTE de question. Si vous installez le crochet à l'échelle mondiale, puis il sera utilisé dans tous les futurs clones, et peut être facilement appliquée à déjà cloné repos à l'aide de git init.
En amont des pensions de mise à jour de crochet:
J'ai utilisé le déjà modifié git-jira-crochet de script et l'a installé dans chacun de nos titres. Je ne pouvais pas la interactif d'authentification bits de travail sur l'amont des pensions (un lien symbolique), donc j'ai créé à la place d'une des autorisations restreintes Jira de l'utilisateur et codés en dur d'authentification dans le script.
Si vous utilisez npm vous pouvez utiliser https://github.com/typicode/husky avec https://github.com/marionebl/commitlint
De créer le fichier: commitlint.config.js
et ajouter config pour le crochet dans le paquet.json
commit-msg: commitlint -E HUSKY_GIT_PARAMS
Vous pouvez avoir de serveur-côté crochets ainsi, pré-recevoir-crochet ou quelque chose, mais ce n'est pas évident si vous avez utilisé pour github.
À défaut, je pourrais envisager de fournir une "install-crochets' option de compilation (comme une tâche rake, faire la tâche, ou quoi que ce soit), bien que cela me ferait se sentir un peu "sale" parce que maintenant, mon build est lié à la version du système de contrôle...
Il existe un add-on pour que: Commettre Politique Plugin pour JIRA!
Il ne vérifie seulement si le JIRA question clé est "officiellement" inclus dans le message, mais vérifie également si le numéro correspondant(s) correspond à une JQL requête. En utilisant cela, vous avez une multitude de possibilités, pour permettre de vérifier que contre certains types de demande, les questions de certains statuts, les problèmes dans le courant de Scrum sprint, les questions de ciblage de la prochaine version et ainsi de suite.
Comme un bonus, il travaille à la fois avec votre original (Subversion) et la cible de système de contrôle de version (Git), ce qui rend votre travail contrôlé, même pendant la période de transition.
Vous pouvez installer le script hook à la sainte repo, et pour toutes les fourches. Malheureusement, les scripts de hook ne sont pas dupliqués lors du clonage d'un repo avec Git, mais nous étudions actuellement des solutions de contournement pour ce.
Plein de docs: http://www.midori-global.com/products/jira-commit-policy-plugin/documentation/
Avertissement: ceci est un commercial, et soutenu add-on pour JIRA, et je suis un développeur travaillant sur elle.
Si vous êtes par défaut à l'aide de crochets .git dossier, puis les modifications que vous apportez dans l'on ne serait pas indexé qui signifie simplement qu'ils ne peuvent pas être vérifiés ou cloné.
vous pouvez déplacer votre livraison-raccordement de message dans un autre dossier nommé "crochets" et commettre de sorte qu'il serait de remplacer la valeur par défaut des hooks .git.
Nous afficher une boîte de message comme une erreur si la validation ne contient pas une question de nombre, de sorte que l'utilisateur peut toujours aller de l'avant si il n'a pas besoin d'avoir un outil de suivi nombre (travaux en cas de patch /correctif)