2014-12-03 11 views
6

Używam Jenkins (v1.592) z Git Client Plugin (v1.12.0) i Git Plugin (v2.3).Jenkins Git Plugin Zbuduj Trigger RegEx uruchamia złe zadania

Mam zadanie kompilacji, które musi zostać wywołane, jeśli nastąpiły zmiany w moim repozytorium git, jeśli zmiany są wprowadzane NIE w gałęziach origin/master lub origin/name, a N jest liczbą dziesiętną.

Byłem bardzo szczęśliwy widząc, że Jenkins zezwala na wyrażenia regularne jako specyfikator gałęzi w opcji "Oddziały do ​​kompilacji". Ale niestety nie dostać mój wyraz pracować poprawnie:

Moje wyrażenie jest:

:master|name(\d+) 

ja również aktywna „Strategia wyboru co do budowy” z opcją „Inverse”.

Kiedy teraz pcham coś na moją master-build, zostanie ono wybrane i rozpocznie się kompilacja.

Używam "Ankieta SCM" bez harmonogramu i wywołuj kompilację z wywołaniem do adresu URL powiadomień Jenkins.

Próbowałem również użyć: (?! (Origin/master | origin/name \ d +)) jako regex bez opcji odwrotnej, ale otrzymuję tutaj błąd.

+0

Jeśli jest to pytanie z wyrażeniem regularnym, z jakiego aparatu regex korzystasz? Zazwyczaj nikt nie pisze własnego silnika, używa standardowego. Powiedzą, że są "kompatybilne". W przeciwnym razie jest to nowa seria niestandardowych konstrukcji. – sln

+0

@vks Niestety to nie rozwiązało problemu. –

+0

@ sln Jak Jenkins jest napisany w Javie, zakładam, że używa on regex-engine Java. –

Odpowiedz

6

OK, znalazłem odpowiedź, ale nie znalazłem rozwiązania dla regex. Niedawno zobaczyłem, że mogę określić więcej niż jeden oddział z funkcją "Dodaj oddział" - aż kilka minut temu byłem niewidomy, aby zobaczyć przycisk "Dodaj oddział".

Określając dwie gałęzie i aktywując funkcję odwrotną działa. Moje dwie nazwy gałęzi to: master i nazwa * (* dla operatora Wildcard).

Dzięki za pomoc!

Powiązane problemy