Проверка идентификатора JIRA в сообщении фиксации git - PullRequest
0 голосов
/ 14 февраля 2020

Я использую приведенный ниже шаблон Regex в приложении Bitbucket для проверки идентификатора Jira в сообщении фиксации

[A-Z][A-Z_0-9]+-[0-9]

Пример сообщения фиксации:

CLB-181 CLB-168 CLB-84 :: **** test 3 jira id CRE-507 validation

Необходимо проверить идентификаторы Jira до ::, т.е. CLB-181 CLB-168 CLB-84::, но не после ::** Testing 3 jira id CRE-507 validation.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2020

Многие люди зацикливаются на этих проблемах, пытаясь сопоставить всю строку. Измените проблему, чтобы ее было легче решить. В этом случае делайте шаги назад.

Разбейте сообщение коммита, чтобы получить только часть, которая вас интересует. Сохранение первого элемента от разбиения на :: - это один из способов сделать это:

my( $preamble ) = split /::/, $commit_message;

Теперь, когда у вас есть первая часть сообщения фиксации, получите идентификаторы Jira. Соответствующие группы непробельных символов в контексте списка возвращают все совпадения:

my @jira_ids = $preamble =~ m/(\S+)/g;

Теперь проверьте все, что есть в @jira_ids.

Есть много других способов сделать то же самое, поэтому выберите тот, который прост и отображает, как вы и окружающие думаете о проблеме (с учетом переопределения проблемы:)

0 голосов
/ 14 февраля 2020

Возможно, это то, что вы ищете

.+(?=::)
a= 'CLB-181 CLB-168 CLB-84:: testing 3 jira id CRE-507 validation'
re.findall(r'(.+(?=::)', a )

выход -> ['CLB-181 CLB-168 CLB-84']

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...