Groovy сопоставляет файлы doc в папке

#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.*/