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


Подключение Azure DevOps Server к GitHub (локально)

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

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

Примечание.

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

Предварительные условия

Категория Требования
Разрешения — Член администраторов коллекции проектов групп и группы участников проекта участников проекта. Если вы создали проект, у вас есть разрешения.
- Администратор сервера GitHub Enterprise, к которому вы подключаетесь.
членство в проекте член проекта.
интеграция с GitHub — Azure DevOps Server 2020.1.1 Патч 2. Без этого исправления вы можете подключиться только к репозиториям GitHub Enterprise Server.
- приложение Azure Boards для GitHub, установленное в организациях или учетной записи GitHub.

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

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

Примечание.

OAuth не поддерживается для Azure DevOps Server 2020.

Подключение Azure DevOps Server к GitHub Enterprise Server

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

Примечание.

  • Для подключения к более чем 100 репозиториям GitHub требуется обновление до Azure DevOps Server 2020.1 или более поздней версии.
  • Для подключения к репозиториям GitHub.com требуется Azure DevOps Server 2020.1.1 Патч 2 или более поздняя версия.
  1. Откройте веб-портал для сервера Azure DevOps.

  2. Выберите логотип Azure DevOps, чтобы открыть Проекты, а затем выберите проект Azure Boards, который вы хотите настроить для подключения к репозиториям GitHub Enterprise.

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

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

  4. Если вы впервые делаете подключение из проекта, выберите метод проверки подлинности, который вы хотите использовать для подключения:

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

    В противном случае выберите новое подключение и выберите метод проверки подлинности в диалоговом окне "Создать подключение".

Подключение сервера Azure DevOps с помощью личного маркера доступа GitHub

  1. Чтобы создать GitHub PAT, см. статью "Создание GitHub PAT".

    Совет

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

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

    Снимок экрана: вход с помощью GitHub PAT.

Подключение Azure DevOps Server с учетными данными GitHub

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

    снимок экрана входа с учетными данными GitHub.

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

    Снимок экрана: репозитории, которые нужно добавить.

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

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

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

Общие сведения об интеграции, которую поддерживает приложение Azure Boards для GitHub, см. в статье об интеграции Azure Boards-GitHub.

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

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

Рассмотрим следующие решения:

  • Если подключение использует OAuth:

    • Приложению Azure Boards был закрыт доступ к одному из репозиториев.

    • GitHub может быть недоступен или не достигнут. Эта недоступность может быть вызвана сбоем в службе или локальной проблеме инфраструктуры или сети. Состояние службы можно проверить со следующими ссылками:

      Удалите и повторно создайте подключение к репозиторию GitHub. Это повторное подключение приводит к тому, что GitHub запрашивает повторную проверку подлинности Azure Boards.

  • Если подключение использует GitHub PAT:

    • Токен GitHub PAT был отозван или изменились области применения разрешений, что является недостаточным.

    • Возможно, пользователь потерял административные разрешения в репозитории GitHub.

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

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

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

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

Чтобы изменить определения XML, выполните действия, описанные в модели размещенного процесса XML. Для каждого типа рабочего элемента:

  1. Найдите раздел Group Label="Development".
  2. Чтобы поддерживать типы внешних ссылок, GitHub Commit и GitHub Pull Request, добавьте следующие строки кода:

Эта интеграция позволяет легко отслеживать действия GitHub непосредственно из рабочих элементов в Azure Boards.

             <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>  

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