Устранение неполадок интеграции Boards-GitHub Azure

Azure Boards | Azure DevOps Server 2020 | Azure DevOps Server 2019

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

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

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

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

Платформа

GitHub. com

GitHub Enterprise Server

Azure DevOps Services

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

Azure DevOps Server 2020

Не применяются

  • PAT
  • Имя пользователя и пароль

Azure DevOps Server 2019

Не применяются

  • OAuth
  • PAT
  • Имя пользователя и пароль

Примечание

Благодаря использованию приложения Azure Boards для GitHub поддерживается интеграция Azure Boards и Azure DevOps Services с репозиториями GitHub.com и GitHub Enterprise Server. Интеграция с другими репозиториями Git не поддерживается.

Примечание

Благодаря использованию приложения Azure Boards для GitHub поддерживается интеграция Azure DevOps Servers 2019 и более поздних версий с репозиториями GitHub Enterprise Server. Интеграция с другими репозиториями Git не поддерживается.

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

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

Снимок экрана с неудачным подключением.

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

Чтобы устранить эту проблему, учитывайте следующее.

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

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

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

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

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

    • Возможно, было отменено PAT или требуемые области разрешений были изменены и недостаточно.

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

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

устранение неработающих GitHub подключения к серверу Enterprise

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

Чтобы устранить эту проблему, учитывайте следующее.

  • удалите и повторно создайте подключение: удалите и повторно создайте подключение к репозиторию сервера GitHub Enterprise. выполните последовательность действий, приведенных в Подключение из документации по Azure Boards.

  • исправьте url-адрес перехватчика: перейдите на страницу "параметры репозитория" GitHub и измените url-адрес обработчика, чтобы он указывал на url-адрес перенесенной Azure DevOps Services организации: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 # для связи с рабочими элементами. эта проблема возникает, поскольку идентификаторы рабочих элементов не являются уникальными в Azure DevOps организациях, поэтому AB # 12 может ссылаться на рабочий элемент в организации Contoso или Fabrikam. Таким образом, когда рабочий элемент упоминается в сообщении фиксации или запросе на вытягивание, обе организации будут пытаться создать ссылку на рабочий элемент с совпадающим ИДЕНТИФИКАТОРом (если он существует).

Как правило, пользователь собирается указать в адресной области AB # ссылку на один рабочий элемент в одном из проектов. Однако если рабочий элемент с таким же ИДЕНТИФИКАТОРом существует в обеих учетных записях, то ссылки создаются для обоих рабочих элементов, что может вызвать путаницу.

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

Примечание

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

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

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

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

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

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