#groovy
#groovy
Вопрос:
Я пытаюсь узнать, должен ли запрос на извлечение в Github выполнять конвейер в Jenkins или нет (в зависимости от нажатия кода или документации). Для этого у меня есть эта функция, но я не могу использовать математические шаблоны таким образом:
- «i» — это массив, где каждый элемент представляет собой измененный файл
- Если файл находится в папке doc / или .github /, предполагается, что это документация, и в Дженкинс не будет встроено выполнение.
Я внес изменения в .github/PULL_REQUESTS.md, но эта функция возвращает мне FALSE
// Compares the modified files to see if it is only documentation
def checkPRDoc(String[] prChangeLog) {
def pushing_doc = false
println("Modified files:")
for(int i in prChangeLog) {
println(i);
if ((i ==~ /doc*/) || (i ==~ /README.md/) || (i ==~ /.github*/)) {
pushing_doc = true
}
if (pushing_doc == false) {
break;
}
}
return pushing_doc
}
Любая помощь? Большое спасибо
Комментарии:
1. вы не указали пример значения, которое не соответствует регулярному выражению. вероятно, вы хотите использовать
=~
(find) вместо==~
(полное совпадение)2. Опс, извини, наверное, я плохо объяснил. Примером значения является «.github/PULL_REQUESTS.md»
3.
.
соответствует любому символу,b*
соответствуетb
нулю или более раз… так и должно быть==~ /.github.*/