|
5 | 5 | Перем КомандыПлагина; |
6 | 6 | Перем ВызватьОшибку; |
7 | 7 | Перем ПрефиксЗадачи; |
| 8 | +Перем ПаттернЗадачи; |
8 | 9 | Перем МинимальноеКоличествоЗадач; |
9 | 10 | Перем МаксимальноеКоличествоЗадач; |
10 | 11 | Перем ВыводитьПредставление; |
|
85 | 86 | КлассРеализации.Опция("task-prefix", "", "[*check-comments] Префикс задачи.") |
86 | 87 | .ВОкружении("GITSYNC_TASK_PREFIX") |
87 | 88 | .Обязательный(Ложь); |
| 89 | + |
| 90 | + КлассРеализации.Опция("task-pattern", "", "[*check-comments] Паттерн задачи.") |
| 91 | + .ВОкружении("GITSYNC_TASK_PATTERN") |
| 92 | + .Обязательный(Ложь); |
88 | 93 |
|
89 | 94 | КлассРеализации.Опция("min-task-count", 0, СтрШаблон("[*check-comments] Минимальное количество упоминаний задач")) |
90 | 95 | .ТЧисло() |
|
114 | 119 |
|
115 | 120 | ПрефиксЗадачи = ПараметрыКоманды.Параметр("task-prefix", ""); |
116 | 121 | Лог.Отладка("Получаю параметр <task-prefix> значение <%1>", ПрефиксЗадачи); |
| 122 | + |
| 123 | + ПаттернЗадачи = ПараметрыКоманды.Параметр("task-pattern", ""); |
| 124 | + Лог.Отладка("Получаю параметр <task-pattern> значение <%1>", ПаттернЗадачи); |
117 | 125 |
|
118 | 126 | МинимальноеКоличествоЗадач = ПараметрыКоманды.Параметр("min-task-count", 0); |
119 | 127 | Лог.Отладка("Получаю параметр <min-task-count> значение <%1>", МинимальноеКоличествоЗадач); |
|
159 | 167 |
|
160 | 168 | Процедура ПроверитьКомментарийНаНаличиеУпоминанийЗадач(СтрокаВерсии, СледующаяВерсия) |
161 | 169 |
|
162 | | - Если ПустаяСтрока(ПрефиксЗадачи) Или ПустаяСтрока(СтрокаВерсии.Комментарий) Тогда |
| 170 | + Если (ПустаяСтрока(ПрефиксЗадачи) и ПустаяСтрока(ПаттернЗадачи)) Или ПустаяСтрока(СтрокаВерсии.Комментарий) Тогда |
163 | 171 | Возврат; |
164 | 172 | КонецЕсли; |
165 | 173 |
|
166 | | - РВ = Новый РегулярноеВыражение(СтрШаблон("%1-%2", ПрефиксЗадачи, "\d")); |
| 174 | + Если НЕ ПустаяСтрока(ПаттернЗадачи) Тогда |
| 175 | + РВ = Новый РегулярноеВыражение(ПаттернЗадачи); |
| 176 | + ИспользуемыйШаблон = "соответствующих паттерну """ + ПаттернЗадачи + """"; |
| 177 | + Иначе |
| 178 | + РВ = Новый РегулярноеВыражение(СтрШаблон("%1-%2", ПрефиксЗадачи, "\d")); |
| 179 | + ИспользуемыйШаблон = ПрефиксЗадачи; |
| 180 | + КонецЕсли; |
| 181 | + |
167 | 182 | Совпадения = РВ.НайтиСовпадения(СтрокаВерсии.Комментарий); |
168 | 183 | КоличествоВхождений = Совпадения.количество(); |
169 | 184 |
|
170 | 185 | Если КоличествоВхождений < МинимальноеКоличествоЗадач Тогда |
171 | 186 | СтрокаОшибки = СтрШаблон("Версия <%1> от автора <%2>: количество упоминаний задач %3 (%4) меньше требуемого (%5)", |
172 | 187 | СледующаяВерсия, |
173 | | - Автор(СтрокаВерсии), ПрефиксЗадачи, КоличествоВхождений, МинимальноеКоличествоЗадач); |
| 188 | + Автор(СтрокаВерсии), ИспользуемыйШаблон, КоличествоВхождений, МинимальноеКоличествоЗадач); |
174 | 189 |
|
175 | 190 | Лог.КритичнаяОшибка(СтрокаОшибки); |
176 | 191 |
|
|
185 | 200 | Если КоличествоВхождений > МаксимальноеКоличествоЗадач Тогда |
186 | 201 | СтрокаОшибки = СтрШаблон("Версия <%1> от автора <%2>: количество упоминаний задач %3 (%4) больше требуемого (%5)", |
187 | 202 | СледующаяВерсия, |
188 | | - Автор(СтрокаВерсии), ПрефиксЗадачи, КоличествоВхождений, МаксимальноеКоличествоЗадач); |
| 203 | + Автор(СтрокаВерсии), ИспользуемыйШаблон, КоличествоВхождений, МаксимальноеКоличествоЗадач); |
189 | 204 |
|
190 | 205 | Лог.КритичнаяОшибка(СтрокаОшибки); |
191 | 206 |
|
|
0 commit comments