Отклонить запрос на создание запроса на вытягивание, если проверка тела PR-сообщения завершилась неудачно
Есть ли способ отклонить создание запроса на включение в случае сбоя определенных условий? Я разрабатываю приложение GitHub в nodejs и probot и хотел бы отклонить создание запроса на перенос, когда разработчик нажимает кнопку "Создать запрос на перенос ", если проверка (например, проверка наличия некоторого шаблона в теле запроса на перенос) не выполняется для тела запроса на извлечение.
Таким образом, по сути, Pull Request не должен создаваться в первую очередь (и пользователь должен быть возвращен на страницу создания PR), если определенная проверка не удалась.
т.е. находиться на той же странице создания запроса на вытягивание, если проверка тела запроса на вытягивание (или любой другой логики) не выполняется.
1 ответ
Итак, по сути, Pull Request не должен создаваться в первую очередь.
Это невозможно. Создание запроса на перенос - это атомарная операция, она не приостанавливается для проверок, таких как, например, перехватчик предварительного приема в Git, где вы можете анализировать полезную нагрузку коммита, а затем на основе ответа он либо терпит неудачу, либо добавляется на репо.
Лучший вариант, который у вас есть, - это автоматически закрыть запрос на перенос с помощью комментария, содержащего инструкции и причину сбоя. Я понимаю, что это может вызвать множество "пустых" PR, но это ваше самое близкое решение.
Еще одна вещь, которую вы могли сделать, что было возможно только в последние дни, - это оставить запрос на перенос открытым и преобразовать его в черновик, если ваша логика не работает. Только когда пользователь исправит запрос на перенос в соответствии с вашим стандартом, вы переключите его на не-черновик: https://developer.github.com/v3/pulls/. Конечно, в этой ситуации вы должны отслеживать события, которые изменяют запрос на перенос.