#python #github #github-api #slack-api #github-webhook
#python #github #github-api #slack-api #github-webhook
Вопрос:
я разрабатываю веб-сервер на python, который получает полезную нагрузку от github webhook для определенных событий (push, новые коммиты, запрос запроса …) как я могу различать между этими событиями, вызывающими gson? я просмотрел полезную нагрузку, но ничего не нашел ..:/ но с другой стороны — у меня есть код, который создает обработчик для события push :
@webhook.hook() # Определяет обработчик для события ‘push’ def on_push(data): print(«Получил push с помощью: {0}».формат (данные))
итак, есть ли встроенный «детектор событий» в библиотеке webhook? ничего не найдено в Интернете
РЕДАКТИРОВАТЬ: найдено это: «Тип действия указан в свойстве action объекта полезной нагрузки. » НО в полученной мной полезной нагрузке нет ключевого слова action, и тип события, которое я запустил в github, — это фиксация, но все, что я получил в полезной нагрузке, гласит: «изменено»: [‘README.md ‘] ‘сообщение’: ‘Обновить README.md ничего прямолинейного
Ответ №1:
Вы должны иметь возможность анализировать тип события в action
свойстве или в значении X-GitHub-Event
заголовка, как указано в этой документации
Если вы хотите вместо этого использовать TypeScript, есть отличная библиотека для автоматической обработки этого синтаксического анализа, называемая Probot.
В качестве альтернативы, если вы хотите придерживаться Python, есть такая библиотека, которая похожа: https://github.com/bradshjg/flask-githubapp
Комментарии:
1. спасибо, я использовал request.headers[‘X-GitHub-Event’]
2. Я рад, что это сработало! Пожалуйста, смотрите «Как работает принятие ответа?»: meta.stackexchange.com/questions/5234 /…