Соединитель GitHub в агенте Azure SRE

Подключите GitHub репозитории, чтобы агент может читать исходный код, искать ошибки, создавать проблемы, запускать рабочие процессы и сопоставлять развертывания с инцидентами.

Подсказка

Краткий обзор

  • Доступ к коду предоставляет вашему агенту исходный код, IaC и конфигурационные файлы в качестве контекста для расследования.
  • Коннектор GitHub позволяет выполнять операции с задачами, pull request и рабочими процессами.
  • GitHub MCP предоставляет полный доступ к инструментам GitHub с механизмами управления.
  • Проверка подлинности с помощью OAuth, PAT или BYO GitHub App. Все трое работают над github.com. для GitHub Enterprise Cloud (<tenant>.ghe.com) требуется приложение BYO.

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

Как агент использует соединитель GitHub

Azure агент SRE подключается к GitHub тремя способами, каждый из которых обслуживает другую цель:

Тип подключения Где вы настроите его Что получает ваш агент
Доступ к коду Builder > Доступ к коду Поиск кода, чтение файла по пути или ветви, корреляция с ошибками в источнике, поиск семантического кода
Коннектор GitHub Конструктор > Коннекторы > Добавить коннектор Создание задач и просмотр их списка, открытие и слияние PR, запуск и отслеживание процессов GitHub Actions
GitHub MCP Конструктор > Коннекторы > Добавить коннектор Полный каталог инструментов GitHub с помощью MCP с политиками утверждения и элементами управления выбора инструментов

В одном агенте можно использовать несколько типов подключений. Каждая из них служит для разных целей выполнения.

Методы проверки подлинности для соединителя GitHub

Отдельно от того, что делает агент, выберите способ проверки подлинности в GitHub. Доступны три метода, и они работают во всех типах подключений.

Метод проверки подлинности Принцип работы Поддерживаемые хосты лучше всего подходит для
OAuth Вход с помощью учетной записи GitHub в всплывающем окне браузера github.com Быстрая интерактивная настройка (ограничение: 10 токенов на агент)
PAT Предоставьте персональный токен доступа с детализированными разрешениями и областью действия repo github.com Учетные записи служб, неинтерактивные среды
Приложение BYO GitHub Зарегистрируйте собственное приложение GitHub, сохраните закрытый ключ в Azure Key Vault github.com и <tenant>.ghe.com. Корпоративное управление, среды EMU, GitHub Enterprise Cloud

Для github.com все три метода работают со всеми типами подключений. Для узлов GitHub Enterprise Cloud (<tenant>.ghe.com) доступно только приложение byo GitHub.

Разрешения по типу проверки подлинности

Операция Минимум OAuth или PAT Минимальное приложение GitHub
Метаданные репозитория, клонирование и чтение repo для частных репозиториев public_repo для общедоступного доступа Метаданные репозитория: чтение и содержимое: чтение
Просмотр/создание задач Область доступа к репозиторию с возможностью работы с задачами для OAuth/PAT Проблемы с репозиторием : чтение и запись по мере необходимости
Операции с запросами на включение изменений Область доступа к репозиторию с поддержкой PR для OAuth/PAT Репозиторий Запросы на включение изменений: чтение/запись по мере необходимости

Подсказка

Автоматическое обновление маркеров OAuth

GitHub срок действия маркеров OAuth истекает примерно через восемь часов, но агент обновляет их автоматически до истечения срока действия с помощью 20-минутного буфера. Каждое обновление создает новый маркер обновления, создавая самоподдерживающуюся цепочку продления, которая длится около шести месяцев. Ваш коннектор остаётся подключённым во время длительных расследований и ночных запланированных задач без необходимости входа вручную.

Это автоматическое обновление применяется только к подключениям OAuth. Подключения PAT требуют ручной ротации токенов. Для подключений приложений GitHub BYO при необходимости смените закрытый ключ в Azure Key Vault.

Когда требуется повторная аутентификация: Если срок действия маркера обновления истёк (примерно через шесть месяцев), если вы отозвали авторизацию GitHub App или если ваш соединитель был настроен до версии 26.2.247.0 (однократная повторная аутентификация сохраняет маркер обновления и включает его автоматическое обновление в дальнейшем).

Что может сделать агент с соединителем GitHub

Возможности анализа исходного кода

  • Поиск кода по всем подключенным репозиториям.
  • Чтение содержимого файла по пути и ветви.
  • Сопоставляйте ошибки с исходным кодом: сопоставляйте ошибки ресурсов Azure с определенными файлами и номерами строк.
  • Поиск семантического кода: поиск кода, связанного с инцидентом с помощью запросов естественного языка.
  • Определите файлы IaC: определите Bicep, Terraform и шаблоны ARM в ваших репозиториях.

Управление задачами и pull-запросами

  • Создайте задачи с заголовком, текстом, метками и исполнителями.
  • Закомментируйте проблемы и запросы на вытягивание , включая ключевые слова автоматического закрытия.
  • Обновление проблем путем изменения заголовка, текста, меток или состояния.
  • Получение оповещений Dependabot для проверки уязвимостей системы безопасности.

Автоматизация рабочих процессов

  • Запускайте рабочие процессы GitHub Actions для запуска канареечных или продакшн-развертываний.
  • Отслеживайте запуски рабочих процессов, чтобы контролировать состояние отправленных рабочих процессов.
  • Проверьте состояние слияния PR, чтобы убедиться, что пул-реквест объединен.

GitHub Enterprise Cloud

Подключите репозитории, размещенные в GitHub Enterprise Cloud (<tenant>.ghe.com) с помощью приложения BYO GitHub. Агент использует закрытый ключ приложения, который хранится в Azure Key Vault, для создания кратковременных маркеров установки для каждого репозитория.

Убедитесь, что у вас есть:

  • Приложение GitHub, созданное на экземпляре GHE с содержимым: разрешение только для чтения.
  • Закрытый ключ приложения, хранящийся в качестве секрета в Azure Key Vault.
  • Управляемому удостоверению агента была назначена роль Key Vault Secrets User в хранилище.

Полное руководство по настройке см. в разделе Подключение репозиториев GitHub Enterprise Cloud.

Настройте один и тот же репозиторий по нескольким путям

Настройте один репозиторий в нескольких путях GitHub. Каждый путь служит различным заданиям среды выполнения.

Scenario Рекомендуемый подход
Требуются контекст кода и операции с задачей Настройте доступ к коду и либо коннектор GitHub, либо GitHub MCP
Требуется только широкий каталог инструментов MCP Использовать только GitHub MCP
Требуется корпоративный хост (<tenant>.ghe.com) Использование приложения GHE BYO с помощью доступа к коду
Требуется строгое соблюдение контракта коннектора Использование соединителя GitHub

Ограничения и лимиты

Ресурс Guidance
Hosts Настройка каждого узла независимо (github.com, <tenant>.ghe.com)
Записи аутентификации На уровне узла; отключение одного узла не приводит к отключению другого
GitHub корпоративная облачная проверка подлинности Только приложение BYO
Требование к Key Vault для BYO App Закрытый ключ должен находиться в Key Vault и доступен для чтения с помощью удостоверения агента.

Troubleshooting

Симптом Вероятно, причина Исправление
Строка репозитория в разделе Code Access показывает Ошибка, но запросы к задачам по-прежнему работают Сбой при проверке работоспособности другой конечной точки или на определённый момент времени Повторное тестирование подключения к коду и проверка разрешений метаданных репозитория
Проверка приложения BYO завершается ошибкой Несоответствие идентификатора клиента, URI закрытого ключа или области установки приложения Проверьте идентификатор клиента, содержимое секрета в Key Vault и область установки приложения
<tenant>.ghe.com хост не отображает токены OAuth/PAT Ожидаемое поведение Использование приложения BYO GitHub
Сбой клонирования или чтения после успешной проверки подлинности Отсутствуют разрешения на чтение метаданных/содержимого для приложения или токена Предоставьте необходимые разрешения репозитория и повторите попытку
Сбой действий по PR или проблеме Недостаточно прав для обращений или PR Добавить разрешения для issue/PR в область действия OAuth/PAT или приложение GitHub

Начало работы с соединителем GitHub

Что вы хотите сделать Guide
Предоставьте агенту доступ к контексту кода для расследований (OAuth/PAT) Подключение исходного кода
Включить обращения, PR и рабочие процессы (OAuth/PAT) Настройка соединителя GitHub
Настройка приложения BYO GitHub для github.com или <tenant>.ghe.com Подключение GitHub Enterprise Cloud
Добавьте инструменты GitHub MCP со средствами управления Настройка соединителя MCP

Следующий шаг