Упражнение. Настройка веб-перехватчика для репозитория GitHub

Завершено

В этом упражнении вы настроите веб-перехватчик для репозитория GitHub. Вы узнаете, как прослушивать определенные события (в данном случае событие Gollum ) и как сделать обратный вызов веб-перехватчика в функции при активации события.

Настройка

  1. Используя веб-браузер, войдите в учетную запись GitHub.

  2. Создайте новый репозиторий, выбрав Создать в левой области меню. Откроется страница Создание нового репозитория.

  3. В поле Имя репозитория введите значимое имя, например LearnWebhookTest.

  4. Выберите Общедоступный, чтобы активировать модуль вики-сайта, и найдите его в меню.

  5. Щелкните Create repository (Создать репозиторий). Откроется страница быстрой установки.

  6. Выберите ссылку Создание нового файла.

  7. В меню вверху выберите Вики-сайт, чтобы отобразить страницы в репозитории (или репозиторий). Откроется страница приветствия.

  8. Щелкните Create the first page (Создать первую страницу). Появится шаблон Создание новой страницы.

  9. Добавьте текст и щелкните Сохранить страницу. Первая страница вики-сайта — домашняя страница.

Добавление веб-перехватчика для события Gollum

Gollum — это имя события в GitHub, которое срабатывает при создании или изменении страницы на вики-сайте репозитория.

  1. На домашней странице представления вики-сайта находится боковая панель Страницы со списком страниц в репозитории. Выберите Главная, чтобы вернуться на домашнюю страницу.

  2. В верхней строке меню на домашней странице выберите Параметры. Появится панель Настройки.

  3. На боковой панели Параметры выберите веб-перехватчики. Отобразится панель Веб-перехватчики.

  4. Выберите Добавить веб-перехватчик в правом верхнем углу. GitHub может попросить подтвердить пароль для GitHub.

  5. На панели Веб-перехватчики/Добавить веб-перехватчик введите указанные ниже значения для каждого параметра.

    Параметр Значение
    URL-адрес полезных данных URL-адрес для приложения-функции Azure из предыдущего упражнения. Дополнительные сведения см. в следующей заметке.
    Content type Выберите из раскрывающегося списка приложение/файл JSON.
    Какие события должен активировать этот веб-перехватчик? Выберите Разрешить выбор отдельных событий. В появившемся списке событий, прокрутите вниз и установите флажок в поле Вики-сайт. Остальные флажки нужно снять.
    Активно Флажок установлен.

    Совет

    Скопируйте URL-адрес функции из области Azure HttpTrigger, выбрав Получить URL-адрес функции на панели команд. Этот URL-адрес должен выглядеть примерно следующим образом: https://<your-functionapp-name>.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ==

  6. Выберите Add webhook (Добавить веб-перехватчик). Отобразится панель Веб-перехватчики.

  7. Убедитесь в том, что новый веб-перехватчик указан в списке. Он должен иметь значение (gollum) в конце имени.

Тестирование веб-перехватчика

  1. В верхней строке меню GitHub выберите Вики. Отобразится ранее созданная домашняя страница.

  2. Выберите команду Изменить. Появится панель Редактирование домашней страницы.

  3. В текстовой области панели введите следующий текст:

    Testing Webhook
    
  4. Выберите Сохранить страницу. Отобразится домашняя страница.

  5. В верхней строке меню выберите Параметры. Появится панель Настройки.

  6. На боковой панели выберите Веб-перехватчики. Отобразится панель Веб-перехватчики.

  7. Выберите команду Изменить. Появится панель Веб-перехватчики/Управление веб-перехватчиком.

  8. Выберите вкладку "Последние поставки" (может потребоваться прокрутить внизу страницы).

  9. Выберите в списке верхнюю (последнюю) запись доставки, щелкнув многоточие (...).

    Вы увидите раздел Заголовки, в том числе событие.

    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" : {
            ...
        }
    
  10. В разделе Последние доставки выберите вкладку Ответ.

    Вы увидите сообщение ответа, созданное функцией Azure. В этом примере текст должен содержать сообщение. Эта активируемая HTTP функция выполнена успешно. Передайте имя в строке запроса или в тексте запроса для персонализированного ответа.