Поделиться через


Подключение Azure Boards к GitHub (облако)

Azure DevOps Services

Подключите проект Azure Boards к репозиториям GitHub.com, чтобы коммиты и pull-реквесты автоматически ссылались на рабочие элементы. Эта интеграция позволяет планировать и отслеживать работу в Azure Boards во время разработки команды в GitHub.

После подключения можно:

  • Автоматическое связывание коммитов, веток и pull-запросов с рабочими элементами
  • Мониторинг хода разработки непосредственно из Azure Boards
  • Использование GitHub Copilot с рабочими элементами для разработки с помощью искусственного интеллекта

Note

Azure Boards поддерживает интеграцию с GitHub.com и GitHub Enterprise Server. Сведения о подключении из локального сервера Azure DevOps см. в статье "Подключение Azure DevOps Server к GitHub Enterprise Server".

Prerequisites

Category Requirements
Разрешения — Член группы администраторов коллекции проектов , если вы создали проект, у вас есть разрешения.
- Администратор или владелец репозитория GitHub для подключения. Вы можете подключиться к нескольким репозиториям GitHub до тех пор, пока вы являетесь администратором этих репозиториев.
Членство в проекте член проекта.

Варианты проверки подлинности

Следующие параметры проверки подлинности поддерживаются на основе платформы GitHub, к которой вы хотите подключиться.

GitHub.com

GitHub Enterprise Server

Note

При подключении с помощью PAT настройте единый вход (SSO) для него в учетной записи GitHub. SSO требуется для перечисления репозиториев из организации, использующей проверку подлинности SAML.

Подключение Azure Boards к репозиторию GitHub

  1. Войдите в проект (https://dev.azure.com/{Your_Organization/Your_Project}).

  2. Выберите параметры Project>GitHub подключения.

    Скриншот открытых настроек проекта>соединений GitHub.

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

    Скриншот первого подключения с учетными данными GitHub.

    Для последующих подключений выберите новое подключение и выберите метод проверки подлинности.

    Чтобы подключиться с помощью PAT, см. статью "Добавление подключения GitHub с помощью PAT". Сведения о GitHub Enterprise Server см. в разделе "Регистрация Azure DevOps" в GitHub в качестве приложения OAuth.

Добавьте подключение к GitHub, используя учетные данные GitHub

Вы можете подключить до 1000 репозиториев GitHub к проекту Azure Boards.

  1. Войдите с помощью учетных данных GitHub. Выберите учетную запись, в которой вы являетесь администратором репозитория.

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

    Если все репозитории для организации уже подключены, появится следующее сообщение:

    Снимок экрана: сообщение, где больше нет репозиториев для подключения.

  3. Введите учетные данные GitHub. Если включена двухфакторная проверка подлинности, введите код, отправленный GitHub, и нажмите кнопку "Проверить".

Добавление репозиториев GitHub

После проверки подлинности выберите репозитории для подключения.

  1. В диалоговом окне "Добавление репозиториев GitHub " отображаются и предварительно выбираются все репозитории, в которых вы являетесь администратором выбранной организации. Удалите репозитории, которые вы не хотите подключить.

    Скриншот, показывающий репозитории GitHub.

    Tip

    Подключите каждый репозиторий GitHub к проектам в одной организации Azure DevOps, чтобы избежать случайных упоминаний AB#. Дополнительные сведения см. в разделе "Устранение проблем с подключением".

    Если все репозитории уже подключены к текущей или другой организации, появится следующее сообщение:

    Снимок экрана: сообщение, где больше нет репозиториев для подключения.

  2. Нажмите Сохранить.

Подтверждение подключения

  1. На странице GitHub выберите "Утвердить", "Установить" и "Авторизовать".

    Скриншот, подтверждающий репозитории GitHub.

  2. Введите учетные данные GitHub для подтверждения.

  3. Новое подключение показывается со списком выбранных репозиториев.

Снимок экрана: список подключенных репозиториев.

Чтобы изменить конфигурацию или управлять приложением Azure Boards для GitHub, см. раздел Изменение доступа к хранилищу для Azure Boards.

Добавление подключения GitHub с помощью PAT

Important

Рассмотрите возможность использования более безопасных токенов Microsoft Entra вместо более рискованных персональных токенов доступа. Дополнительные сведения см. в разделе "Сокращение использования PAT". Просмотрите рекомендации по проверке подлинности , чтобы выбрать правильный механизм проверки подлинности для ваших потребностей.

Tip

При создании GitHub PAT включите следующие области: repo, read:user, user:email, admin:repo_hook

  1. Выберите личный маркер доступа в диалоговом окне "Новое подключение ".

    Скриншот нового диалогового окна подключения к GitHub, выбор токена личного доступа.

    Чтобы создать GitHub PAT, перейдите в раздел настройки разработчика GitHub > личные токены доступа.

  2. Введите PAT и нажмите кнопку "Подключиться".

    Снимок экрана: введенный PAT.

  3. Выберите репозитории для подключения. Дополнительные сведения см. в разделе "Добавление репозиториев GitHub".

  4. Для первого подключения установите приложение Azure Boards для GitHub. См. раздел "Подтверждение подключения".

Регистрация Azure DevOps в GitHub в качестве приложения OAuth

Чтобы подключить Azure DevOps к GitHub Enterprise Server с помощью OAuth, зарегистрируйте приложение в качестве приложения OAuth. Дополнительные сведения см. в статье "Создание Приложение OAuth".

Регистрация служб Azure DevOps

  1. Войдите на веб-портал для сервера GitHub Enterprise Server.

    Скриншот экрана входа в GitHub Enterprise Server.

  2. Откройте Настройки>Настройки разработчика>Приложения OAuth>Новое приложение OAuth.

    Снимок экрана, показывающий последовательность для нового приложения OAuth.

  3. Введите сведения о регистрации.

    • URL-адрес домашней страницы — URL-адрес организации.
    • URL-адрес обратного вызова авторизации — используйте шаблон {Organization URL}/_admin/oauth2/callback. Например: https://dev.azure.com/fabrikam/_admin/oauth2/callback

    Снимок экрана: регистрация приложения.

  4. Выберите Register application (Зарегистрировать приложение).

  5. Скопируйте идентификатор клиента и секрет клиента , которые отображаются для зарегистрированного приложения OAuth.

    Снимок экрана: идентификатор клиента и секрет клиента для зарегистрированного приложения OAuth.

Регистрация конфигурации OAuth в службах Azure DevOps

  1. Войдите на веб-портал для Azure DevOps Services.

  2. Выберите настройки организации>конфигурации Oauth>Добавить конфигурацию Oauth.

    Снимок экрана: параметры открытой организации, конфигурации OAuth.

  3. Введите сведения и нажмите кнопку "Создать".

    Диалоговое окно конфигураций OAuth.

Подключение служб Azure DevOps к GitHub Enterprise Server

Important

Сервер GitHub Enterprise должен быть доступен из Интернета. Убедитесь, что Azure DNS может разрешить имя сервера и что ваш брандмауэр разрешает доступ из диапазонов IP-адресов Центра обработки данных Azure. Распространенная ошибка:

Не удалось разрешить имя удаленного сервера: "github-enterprise-server.contoso.com"

Если вы видите эту ошибку, проверьте доступность сервера. Дополнительные сведения см. в разделе Azure DNS вопросы и ответы.

  1. Выберите параметры Project>GitHub подключения>GitHub Enterprise Server для первого подключения.

    Первое подключение— параметр GitHub Enterprise Server.

    Для последующих подключений выберите GitHub Enterprise Server в диалоговом окне "Новое подключение GitHub ".

    Снимок экрана нового диалогового окна подключения GitHub, выберите GitHub Enterprise Server.

  2. Выберите метод проверки подлинности.

    Снимок экрана: диалоговое окно метода проверки подлинности.

    Подключитесь к OAuth— выберите конфигурацию OAuth, зарегистрированную в регистрации конфигурации OAuth, а затем нажмите кнопку "Подключить".

    Скриншот нового подключения GitHub Enterprise, диалоговое окно подключения OAuth.

    Подключитесь с помощью личного маркера доступа— введите URL-адрес GitHub Enterprise Server и PAT, а затем нажмите кнопку "Подключить".

    Снимок экрана нового подключения GitHub Enterprise, диалоговое окно подключения токена личного доступа.

    Подключитесь с учетными данными GitHub. Введите URL-адрес GitHub Enterprise Server и учетные данные администратора, а затем нажмите кнопку "Подключить".

    Снимок экрана нового окна подключения GitHub Enterprise, диалоговое окно для ввода имени пользователя.

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

    Снимок экрана: перечисленные репозитории.

    Tip

    Каждое подключение поддерживает только одну организацию GitHub. Чтобы подключить репозитории из другой организации, добавьте отдельное подключение.

  4. Для первого подключения установите приложение Azure Boards для GitHub. См. раздел "Подтверждение подключения".

Устранение неполадок с подключением

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

Общие сведения об интеграции см. в статье об интеграции Boards-GitHub Azure.

Поддерживаемые параметры проверки подлинности

Следующие поддерживаемые параметры проверки подлинности зависят от платформы GitHub, к которому вы подключаетесь:

Platform

GitHub.com

GitHub Enterprise Server

Azure DevOps Services

  • учетная запись пользователя GitHub.com
  • Личный токен доступа
  • OAuth
  • PAT
  • учетные данные GitHub

Azure DevOps Server 2020

Неприменимо

  • PAT
  • учетные данные GitHub

Note

GitHub поддержка интеграции:

  • Azure DevOps Services: интегрируется с репозиториями GitHub.com и GitHub Enterprise Server через приложение Azure Boards для GitHub.
  • Azure DevOps Server 2020 и более поздних версий: поддерживает интеграцию только с репозиториями enterprise Server GitHub.
  • Другие репозитории Git: интеграция не поддерживается.

Предоставление доступа Azure Boards организации

Если интеграция не работает должным образом, убедитесь, что предоставлен доступ к организации.

  1. На веб-портале GitHub откройте параметры из меню профиля.
    Снимок экрана: открытый профиль, выберите

  2. Выберите Applications в разделе Integrations>Authorized OAuth Apps>Azure Boards.

  3. В разделе "Доступ к организации" выберите "Предоставить" для любой организации, у которой запрос доступа ожидает рассмотрения.

    Снимок экрана доступа к организации, в котором указаны организации без доступа.

Устранение проблем с доступом

Когда подключение Azure Boards к GitHub теряет доступ, в пользовательском интерфейсе отобразится предупреждение с красным крестиком. Наведите указатель мыши на уведомление, чтобы убедиться, что учетные данные больше не действительны. Удалите подключение и создайте новый.

Снимок экрана: сбой подключения.

  • Подключения OAuth:

    • Доступ к Azure Boards был запрещен для одной из репозиториев.

    • GitHub или Azure DevOps может быть недоступным из-за сбоя службы или сетевой проблемы. Проверка состояния: GitHub | Azure DevOps

      Удалите и повторно создайте подключение. GitHub предложит повторно выполнить проверку подлинности Azure Boards.

  • подключения PAT:

    • Токен доступа был отозван или его прав доступа недостаточно.

    • У пользователя могут не быть разрешения администратора в репозитории GitHub.

      Повторно создайте PAT с необходимыми областями: repo, read:user, user:email, admin:repo_hook Дополнительные сведения см. в рекомендациях по использованиюPATs.

Разрешение неисправного подключения GitHub Enterprise Server

Если вы перешли с Azure DevOps Server на Azure DevOps Services с существующим подключением GitHub Enterprise Server, рабочий элемент, упоминаемый в GitHub, может быть отложен или отсутствует, так как URL-адрес обратного вызова больше недействителен.

  • Удалите и повторно создайте подключение . Выполните действия, описанные в разделе "Подключение Azure DevOps Services к GitHub Enterprise Server".

  • Исправьте URL-адрес веб-перехватчика . В параметрах репозитория GitHub обновите URL-адрес веб-перехватчика, чтобы указать на перенесенную организацию: https://dev.azure.com/{OrganizationName}/_apis/work/events?api-version=5.2-preview

Подключение к нескольким организациям Azure DevOps

Подключение репозитория GitHub к проектам в нескольких организациях Azure DevOps (например, dev.azure.com/Contoso и dev.azure.com/Fabrikam) может привести к непредвиденному поведению упоминаний AB#. Идентификаторы рабочих элементов не являются уникальными для разных организаций, поэтому AB#12 может соответствовать рабочему элементу в любой организации. Обе организации могут попытаться связаться с соответствующим идентификатором, что может вызвать путаницу.

Чтобы избежать этой проблемы, подключите каждый репозиторий GitHub только к одной организации Azure DevOps.

Note

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

Обновление определений XML для выбора типов рабочих элементов

Если в организации используется модель процесса размещенного XML или локального xml-процесса, обновите определения XML для типов рабочих элементов, чтобы отобразить типы ссылок GitHub в разделе "Разработка " форм рабочих элементов.

Например, чтобы связать пользовательские истории и ошибки с коммитами GitHub и pull-запросами в разделе "Разработка", обновите XML-определения для этих типов рабочих элементов.

Выполните действия, описанные в процессной модели хостинга XML. Для каждого типа рабочего элемента найдите Group Label="Development" раздел и добавьте следующие строки для поддержки ссылок GitHub Commit и GitHub Pull Request :

             <ExternalLinkFilter Type="GitHub Pull Request" />  
             <ExternalLinkFilter Type="GitHub Commit" />  

После обновления раздел должен появиться следующим образом:

<Group Label="Development">  
   <Control Type="LinksControl" Name="Development">  
      <LinksControlOptions ViewMode="Dynamic" ZeroDataExperience="Development" ShowCallToAction="true">  
         <ListViewOptions GroupLinks="false">   
         </ListViewOptions>  
         <LinkFilters>  
             <ExternalLinkFilter Type="Build" />  
             <ExternalLinkFilter Type="Integrated in build" />  
             <ExternalLinkFilter Type="Pull Request" />  
             <ExternalLinkFilter Type="Branch" />  
             <ExternalLinkFilter Type="Fixed in Commit" />  
             <ExternalLinkFilter Type="Fixed in Changeset" />  
             <ExternalLinkFilter Type="Source Code File" />  
             <ExternalLinkFilter Type="Found in build" />  
             <ExternalLinkFilter Type="GitHub Pull Request" />  
             <ExternalLinkFilter Type="GitHub Commit" />  
         </LinkFilters>  
      </LinksControlOptions>  
   </Control>  
</Group>  

FAQs

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

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

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

Ответ. Выйдите из Azure DevOps и войдите в организацию (dev.azure.com/{organizationName} или organizationName.visualstudio.com) с учетными данными GitHub из нового сеанса браузера.

Вопрос. Я вошел с помощью учетных данных GitHub, но почему я не могу приглашать GitHub пользователей?

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

Вопрос. Получают ли пользователи GitHub Enterprise бесплатный доступ к Azure DevOps?

Ответ. Дополнительные сведения см. в статье User и часто задаваемые вопросы об управлении разрешениями/GitHub Enterprise.

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