Упражнение. Настройка веб-перехватчика для репозитория GitHub
В этом упражнении вы настроите веб-перехватчик для репозитория GitHub. Вы узнаете, как прослушивать определенные события (в данном случае событие Gollum ) и как сделать обратный вызов веб-перехватчика в функции при активации события.
Настройка
Используя веб-браузер, войдите в учетную запись GitHub.
Создайте новый репозиторий, выбрав Создать в левой области меню. Откроется страница Создание нового репозитория.
В поле Имя репозитория введите значимое имя, например LearnWebhookTest.
Выберите Общедоступный, чтобы активировать модуль вики-сайта, и найдите его в меню.
Щелкните Create repository (Создать репозиторий). Откроется страница быстрой установки.
Выберите ссылку Создание нового файла.
В меню вверху выберите Вики-сайт, чтобы отобразить страницы в репозитории (или репозиторий). Откроется страница приветствия.
Щелкните Create the first page (Создать первую страницу). Появится шаблон Создание новой страницы.
Добавьте текст и щелкните Сохранить страницу. Первая страница вики-сайта — домашняя страница.
Добавление веб-перехватчика для события Gollum
Gollum — это имя события в GitHub, которое срабатывает при создании или изменении страницы на вики-сайте репозитория.
На домашней странице представления вики-сайта находится боковая панель Страницы со списком страниц в репозитории. Выберите Главная, чтобы вернуться на домашнюю страницу.
В верхней строке меню на домашней странице выберите Параметры. Появится панель Настройки.
На боковой панели Параметры выберите веб-перехватчики. Отобразится панель Веб-перехватчики.
Выберите Добавить веб-перехватчик в правом верхнем углу. GitHub может попросить подтвердить пароль для GitHub.
На панели Веб-перехватчики/Добавить веб-перехватчик введите указанные ниже значения для каждого параметра.
Параметр Значение URL-адрес полезных данных URL-адрес для приложения-функции Azure из предыдущего упражнения. Дополнительные сведения см. в следующей заметке. Content type Выберите из раскрывающегося списка приложение/файл JSON. Какие события должен активировать этот веб-перехватчик? Выберите Разрешить выбор отдельных событий. В появившемся списке событий, прокрутите вниз и установите флажок в поле Вики-сайт. Остальные флажки нужно снять. Активно Флажок установлен. Совет
Скопируйте URL-адрес функции из области Azure HttpTrigger, выбрав Получить URL-адрес функции на панели команд. Этот URL-адрес должен выглядеть примерно следующим образом:
https://<your-functionapp-name>.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ==
Выберите Add webhook (Добавить веб-перехватчик). Отобразится панель Веб-перехватчики.
Убедитесь в том, что новый веб-перехватчик указан в списке. Он должен иметь значение (gollum) в конце имени.
Тестирование веб-перехватчика
В верхней строке меню GitHub выберите Вики. Отобразится ранее созданная домашняя страница.
Выберите Изменить. Появится панель Редактирование домашней страницы.
В текстовой области панели введите следующий текст:
Testing Webhook
Выберите Сохранить страницу. Отобразится домашняя страница.
В верхней строке меню выберите Параметры. Появится панель Настройки.
На боковой панели выберите Веб-перехватчики. Отобразится панель Веб-перехватчики.
Выберите Изменить. Появится панель Веб-перехватчики/Управление веб-перехватчиком.
Выберите вкладку "Последние поставки" (может потребоваться прокрутить внизу страницы).
Выберите в списке верхнюю (последнюю) запись доставки, щелкнув многоточие (...).
Вы увидите раздел Заголовки, в том числе событие.
Request URL: https://testwh123456.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ%3D%3D Request method: POST Accept: */* content-type: application/json User-Agent: GitHub-Hookshot/16496cb X-GitHub-Delivery: 9ed46280-6ab3-11e9-8a19-f1a14922a239 X-GitHub-Event: gollum X-GitHub-Hook-ID: 312141005 X-GitHub-Hook-Installation-Target-ID: 394459163 X-GitHub-Hook-Installation-Target-Type: repository
Кроме того, вы увидите, что раздел Полезные данные содержит сведения, указывающие на то, что вики-страница была изменена. Полезные данные содержат разделы pages, repository и sender, которые должны выглядеть приблизительно так, как в приведенном ниже примере:
"pages": [ { "page_name": "Home", "title": "Home", "summary": null, "action": "edited", "sha": "04d012c5f92a95ae3f7721173bf9f2b1b35ea22f", "html_url": "https://github.com/.../wiki/Home" } ], "repository" : { "id": 176302421, "node_id": "MDEwOlJlcG9zaXRvcnkxNzYzMDI0MjE=", "name": "tieredstorage", ... }, "sender" : { ... }
В разделе Последние доставки выберите вкладку Ответ.
Вы увидите сообщение ответа, созданное функцией Azure. В этом примере текст должен содержать сообщение. Эта активируемая HTTP функция выполнена успешно. Передайте имя в строке запроса или в тексте запроса для персонализированного ответа.