#git #jenkins-plugins #webhooks
Вопрос:
У меня есть работа Дженкинса, которая использует плагин параметров git. Одним из параметров является название филиала, и он выбирается из списка. Отлично работает. Обратите внимание, что имя ветви, которое он задает, начинается с символа»/», поэтому ветвь «foo2/bar»отображается как» /foo2/bar».
Затем я хотел добавить универсальный веб-справочник для обработки события приложения github и автоматического запуска сборки. Универсальный плагин webhook позволяет извлекать элементы из полезной нагрузки события pull_request с помощью JSONPath. Итак,’$. pull_request.head.ref’ получает название филиала. Эта ветвь НЕ имеет ведущей косой черты.
Проблема в том, что когда мне нужно ввести «спецификатор ветви» в настройку git. Если я использую только » ${ветвь}», то при запуске вручную произойдет сбой, потому что rev-parse не любит ссылки, которые начинаются с»/». Если я попробую «ссылки/заголовки$ветка», это не сработает с веб-крючка, потому что heads$ветка не соответствует реальному имени ветки. То же самое с «ссылками/заголовками/$ветвью»: двойные косые черты отклоняются. JSONPath не позволяет добавлять какие-либо символы, а все остальное-это просто фильтры.
Как мне решить эту головоломку?
Я хотел бы избежать создания нескольких рабочих мест для решения этой проблемы, так как их много, и это приведет к взрыву конфигурации Дженкинса.
дженкинс: 2.303.1, плагин параметров git 0.9.13, универсальный плагин webhook 1.74.
Ответ №1:
Понял это, это не задокументировано, но примеры показали путь. Существует параметр «фильтр ветвей», который принимает регулярное выражение. Я думал, что это просто тест на совпадение/совпадение, но если вы используете ‘ ()’, вы можете указать, какую часть строки сохранить. Установка его на что-то вроде » происхождение/ (.*)» исправила проблему.