Как захватить событие СОЗДАНИЯ PR в bitbucket

#bitbucket

#bitbucket

Вопрос:

‘’ Нужно знать, есть ли какой-либо возможный способ захватить событие создания запроса на извлечение в bitbucket, чтобы написать пользовательский скрипт с использованием этого события.

Не хочу, чтобы PR запускал какую-либо автоматическую сборку, вместо этого просто нужно захватить событие создания pr, чтобы написать пользовательский скрипт python для запуска определенных действий посредством запуска скрипта.

Одним из вариантов является чтение / непрерывный опрос страницы создания PR-файла bit bucket для определения действия / события, но это звучит как плохой стандарт написания сценариев, а не хорошая практика.

Есть ли какая-либо команда git для идентификации создания PR в ветке функций и слияния с родительским (скажем, его разработчиком), а также команда git для захвата имен рецензентов PR по умолчанию???

Чтобы эти команды git можно было использовать в скрипте для отслеживания того, вызван ли какой-либо PR?

Проверил много веб-сайтов и прочитал много статей и, к сожалению, нигде не нашел возможности захватить событие создания PR в bit bucket?

Замечательно, если кто-нибудь может опубликовать возможность захвата события, чтобы написать нашу собственную пользовательскую логику с захватом события PR ‘’

Ответ №1:

PR не является частью git. Это концепция, уникальная для сайтов, размещающих код, таких как Bitbucket, Github и т.д. Следовательно, теоретически невозможно захватить событие создания PR, используя только инструмент git.

Вы можете опросить Bitbucket REST API для получения списка PR. Ответ в формате Json, стабильный и простой в анализе, так что это не такая уж плохая практика (как при разборе необработанного html).

Другой способ — настроить Bitbucket webhook, который запускается при событии создания PR. Затем вам нужно запустить веб-сервер (что-то вроде этого), чтобы принять вызов webhook и запустить соответствующие сценарии.

Комментарии:

1. Нам нужно отправить вложение по электронной почте, для которого готов скрипт python. Но это должно произойти, когда разработчики создают запрос PR в BB. мы протестировали API BB REST для захвата списка по умолчанию для проверки PR, он отлично работал. как это сделать, мы поняли, но КОГДА ДЕЛАТЬ — вот в чем вопрос. Постоянно опрашивая сервер BB 24 * 7, никто не знает, когда разработчики решат создать PR в BB. расскажите о том, как зафиксировать событие PR (как зафиксировать это событие). Я чувствую, что многообещающе иметь webhook в BB в качестве второго варианта, дайте мне знать, можно ли создать webhook для запуска сценария на сервере и добавления списка PR в email CC

2. Есть еще одна мысль, опрос (чтение журнала аудита BB), похоже, что журнал аудита будет обновляться при создании PR, каждое событие будет зарегистрировано в журнале, можно ли его использовать для запуска сценария? также как насчет опций в самом BB для запуска пакетного сценария при создании PR (опять же, он направляется к webhook), есть ли у webhook возможность запускать любой пакетный файл, устанавливая правила подключения в качестве создания PR?

3. Опрашивать Bitbucket rest api каждые 5 минут на предмет новых коммитов — это то, что делают некоторые известные мне инструменты CI. В зависимости от вашего случая вы можете установить интервал примерно в 1 минуту. С момента создания PR до отправки электронного письма будет задержка (nterval опроса), но для большинства случаев использования, с которыми я сталкивался, эта задержка в целом приемлема. Для Bitbucket Cloud будет ограничение скорости запросов (~ 1000 в час), но здесь я предполагаю, что вы используете сервер BB (поскольку вы упомянули журнал аудита), в этом случае, я думаю, ограничения скорости не будет, и вы, возможно, можете установить интервал до 10 секунд.

4. О том, может ли BB самостоятельно запускать скрипт при событии создания PR, для Bitbucket cloud, afaik, нет способа сделать это. Я не уверен, что касается сервера BB, но я предлагаю вам просмотреть Atlassian Market ( marketplace.atlassian.com/addons/app/bitbucket )