я разрабатываю веб-сервер, который получает полезную нагрузку от github webhook на python

#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 /…