Pivotal Tracker peut analyser les validations git et modifier le statut du ticket en conséquence. J'écris un script PHP qui exécute post-commit. Il recherche le message de validation et s'il trouve la bonne référence de Pivotal Ticket, il l'enregistre dans l'API PT. Je vais un peu fou essayer de comprendre l'expression rationnelle.Correspondance Regex pour Pivotal Tracker
Actuellement, j'ai:
preg_match('/^\[#([0-9]{1,16})\]/', $commit['message'], $matches);
Ainsi, l'exemple le plus simple d'un laissez-passer commit:
[#12345678] Made a commit
Mais ce que je dois passer sont les suivantes:
1: [finished #12345678] Made a commit //'fixed', 'complete', or 'finished' changes the status
2: I made a commit [#12345678] to a story //Can occur anywhere in the commit
Retirez l'ancre '^' car votre référence ne commence pas au début de la chaîne. Peut-être voulez-vous '\ [(? :(?: finished | fixed | complete))?) # ([0-9] {1,16}) \]' – chris85
Y a-t-il des occurrences où une chaîne se trouve avant le # 'à l'intérieur de l'expression entre crochets et ce n'est pas' finished', 'complete', ou' fixed'?Voulez-vous capturer uniquement la sous-chaîne du nombre préfixé du hashtag, ou voulez-vous le mot principal lorsqu'il existe? Veuillez inclure toutes les chaînes "gotcha" qui doivent être évitées. Veuillez clarifier votre résultat attendu afin que nous puissions offrir une solution vraiment raffinée. Le mieux votre question, la qualité supérieure de notre réponse peut être. – mickmackusa
Existe-t-il des expressions entre crochets qui ne doivent pas correspondre? – mickmackusa