как использовать универсальный параметр webhook git

#git #jenkins-plugins #webhooks

Вопрос:

У меня есть работа Дженкинса, которая использует плагин параметров git. Одним из параметров является название филиала, и он выбирается из списка. Отлично работает. Обратите внимание, что имя ветви, которое он задает, начинается с символа»/», поэтому ветвь «foo2/bar»отображается как» /foo2/bar».

ветвь параметров git

Затем я хотел добавить универсальный веб-справочник для обработки события приложения 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:

Понял это, это не задокументировано, но примеры показали путь. Существует параметр «фильтр ветвей», который принимает регулярное выражение. Я думал, что это просто тест на совпадение/совпадение, но если вы используете ‘ ()’, вы можете указать, какую часть строки сохранить. Установка его на что-то вроде » происхождение/ (.*)» исправила проблему. введите описание изображения здесь