Connecter Azure DevOps Server à GitHub (local)
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
En connectant votre projet Azure DevOps Server aux référentiels GitHub, vous prenez en charge la liaison entre les validations (commits) GitHub et les demandes de tirage (pull requests) vers des éléments de travail. Vous pouvez utiliser GitHub pour le développement de logiciels tout en utilisant Azure Boards pour planifier et suivre votre travail.
Remarque
Azure DevOps Server 2020 local prend en charge l’intégration avec les dépôts GitHub.com et GitHub Enterprise Server. Si vous souhaitez vous connecter à partir d’Azure DevOps Services, consultez Connecter Azure Boards à GitHub.
En connectant votre projet Azure DevOps Server aux référentiels GitHub Enterprise Server, vous prenez en charge la liaison entre les validations (commits) GitHub et les demandes de tirage (pull requests) vers des éléments de travail. Vous pouvez utiliser GitHub Enterprise pour le développement de logiciels tout en utilisant Azure Boards pour planifier et suivre votre travail.
Remarque
Azure DevOps Server 2019 local prend en charge l’intégration avec les dépôts GitHub Enterprise Server. Si vous souhaitez vous connecter à partir d’Azure DevOps Services, consultez Connecter Azure Boards à GitHub.
Prérequis
- Intégration à GitHub :
- Pour vous connecter à des référentiels GitHub.com, vous devez installer Azure DevOps Server 2020.1.1 Patch 2. Sans ce correctif, vous pouvez uniquement vous connecter à vos dépôts GitHub Enterprise Server.
- Installez l’application Azure Boards pour GitHub sur le compte ou les organisations GitHub.
- Connexion au projet : se connecter à un projet Azure Boards ou Azure DevOps. Si vous n’avez pas encore de projet, créez-en un.
- Autorisations :
- Soyez membre du groupe Administrateurs de collection de projets et du groupe Contributeurs du projet. Si vous avez créé le projet, vous disposez d’autorisations.
- Soyez administrateur de GitHub Enterprise Server auquel vous vous connectez.
Options d’authentification
Les options d’authentification suivantes sont prises en charge.
Remarque
OAuth n’est pas pris en charge pour Azure DevOps Server 2020.
Inscrire Azure DevOps dans GitHub en tant qu’application OAuth
Si vous envisagez d’utiliser OAuth pour vous connecter à Azure DevOps avec GitHub Enterprise Server, vous devez d’abord inscrire l’application en tant qu’application OAuth. Pour plus d’informations, consultez Créer une application OAuth.
Inscrire Azure DevOps Server
Connectez-vous au portail web pour votre serveur GitHub Enterprise.
Sélectionnez Paramètres>Paramètres développeur>Applications Oauth>Nouvelle Application OAuth.
Saisissez vos informations pour inscrire votre application Azure DevOps Server.
Pour URL de la page d’accueil, spécifiez l’URL publique de votre collection de projets. Vous pouvez trouver cette URL en ouvrant la console d’administration Azure DevOps et en affichant le nœud Couche Application.
Pour URL de rappel d’autorisation, utilisez le modèle suivant pour construire l’URL.
{Azure DevOps Server Public Url}/{Collection Name}/_admin/oauth2/callback
Par exemple :
http://contoso/DefaultCollection/_admin/oauth2/callback
https://tfs.contoso.com/MyCollection/_admin/oauth2/callback
Sélectionnez Register application (Inscrire l’application).
En cas de réussite, vous verrez une page qui fournit l’ID client et la Clé secrète client pour votre application OAuth inscrite.
Inscrire votre configuration OAuth dans Azure DevOps Server
Connectez-vous au portail web pour votre serveur Azure DevOps Server.
Ajoutez la configuration OAuth de GitHub Enterprise à votre collection Azure DevOps Server.
Sélectionnez Paramètres d’administrateur>Configurations Oauth>Ajouter une configuration Oauth.
Saisissez vos informations, puis sélectionnez Créer.
Connecter Azure DevOps Server à GitHub Enterprise Server
Vous pouvez connecter jusqu’à 250 dépôts GitHub à un projet Azure Boards.
Remarque
La connexion à plus de 100 dépôts GitHub nécessite Azure DevOps Server 2020.1 ou version ultérieure.
La connexion aux dépôts GitHub.com nécessite Azure DevOps Server 2020.1.1 Patch 2 ou version ultérieure.
Vous pouvez connecter jusqu’à 100 dépôts GitHub à un projet Azure Boards. Cette limite ne peut pas être modifiée.
Ouvrez le portail web pour votre serveur Azure DevOps Server.
Choisissez le logo Azure DevOps pour ouvrir Projets, puis choisissez le projet Azure Boards que vous souhaitez configurer pour vous connecter à vos référentiels GitHub Enterprise.
Sélectionnez Paramètres du projet>Connections GitHub.
S’il s’agit de la première connexion à partir du projet, choisissez la méthode d’authentification que vous souhaitez utiliser pour établir la connexion :
- Jeton d’accès personnel, pour plus d’informations, consultez Se connecter à l’aide d’un jeton d’accès personnel.
- Informations d’identification GitHub, consultez Se connecter avec les informations d’identification GitHub.
Sinon, choisissez Nouvelle connexion, puis sélectionnez votre méthode d’authentification dans la boîte de dialogue Nouvelle connexion.
Sélectionnez paramètres de projet>connexions GitHub>Connectez votre compte GitHub Enterprise ou choisissez parmi les autres options d’authentification que nous ne recommandons pas.
Se connecter avec OAuth
Choisissez la configuration que vous avez définie à l’étape 4 d’Inscrire votre configuration OAuth dans Azure DevOps Server. puis Connecter.
Connexion avec un jeton d’accès personnel
Pour créer un jeton d’accès personnel, consultez Création d’un jeton d’accès personnel.
Conseil
Lorsque vous créez votre PAT GitHub, assurez-vous d’inclure ces portées :
repo, admin:repo_hook, read:user, user:email
.Entrez l’URL de votre serveur GitHub Enterprise et les informations d’identification de jeton d’accès personnel reconnues par ce serveur. Sélectionnez ensuite Se connecter.
Se connecter avec les informations d’identification GitHub
- Entrez l’URL de votre serveur GitHub Enterprise et les informations d’identification du compte d’administrateur reconnues par ce serveur. Puis choisissez Se connecter.
La boîte de dialogue répertorie tous les dépôts pour lesquels vous disposez de droits d’administration GitHub. Vous pouvez basculer entre Les miens et Tous pour déterminer si d’autres personnes apparaissent, puis vérifier celles que vous souhaitez ajouter. Choisissez Enregistrer quand vous avez terminé.
Pour vous connecter à un compte ou une organisation GitHub depuis Azure Boards pour la première fois, vous devez également installer l’application Azure Boards pour GitHub. Terminez l’intégration en suivant les procédures décrites dans Confirmer la connexion.
Résoudre les problèmes de connexion
L’intégration d’Azure Boards-GitHub s’appuie sur différents protocoles d’authentification pour prendre en charge la connexion. Les modifications apportées à l’étendue d’autorisation ou aux informations d’authentification d’un utilisateur peuvent entraîner la révocation des dépôts GitHub connectés à Azure Boards.
Pour obtenir une vue d’ensemble de l’intégration prise en charge par l’application Azure Boards pour GitHub, consultez Intégration d’Azure Boards-GitHub.
Options d’authentification prises en charge
Les options d’authentification suivantes sont prises en charge en fonction de la plateforme GitHub à laquelle vous souhaitez vous connecter.
Plateforme
GitHub.com
GitHub Enterprise Server
Azure DevOps Services
- Compte d’utilisateur GitHub.com
- Un jeton d’accès personnel (PAT)
- OAuth
- Jeton d’accès personnel
- Informations d’identification GitHub
Azure DevOps Server 2020
Non applicable
- Jeton d’accès personnel
- Informations d’identification GitHub
Azure DevOps Server 2019
Non applicable
- OAuth
- Jeton d’accès personnel
- Informations d’identification GitHub
Remarque
Avec l’application Azure Boards pour GitHub, Azure Boards et Azure DevOps Services s’intègrent aux référentiels GitHub.com et GitHub Enterprise Server. Azure DevOps Server 2019 et les versions ultérieures prennent en charge l’intégration avec les référentiels GitHub Enterprise Server uniquement. L’intégration à d’autres dépôts Git n’est pas prise en charge.
Résoudre les problèmes d’accès
Lorsque la connexion Azure Boards à GitHub n’a plus accès, elle affiche un état d’alerte dans l’interface utilisateur avec un X rouge. Pointez sur l’alerte ; elle indique que les informations d’identification ne sont plus valides. Pour corriger le problème, supprimez la connexion et recréez une nouvelle connexion.
Lorsque la connexion Azure Boards à GitHub n’a plus accès, elle affiche un état d’alerte dans l’interface utilisateur avec un X rouge lié à une info-bulle, par exemple, Impossible de se connecter à GitHub.
Tenez compte des résolutions suivantes :
Si la connexion utilise OAuth :
L’accès à l’application Azure Boards a été refusé pour l’un des dépôts.
GitHub peut être indisponible/inaccessible. Cette indisponibilité peut être due à une panne dans le service ou à un problème d’infrastructure/de réseau local. Vous pouvez vérifier l’état du service à partir des liens suivants :
Supprimez et recréez la connexion au référentiel GitHub. Cette connexion recréée amène GitHub à demander une nouvelle autorisation pour Azure Boards.
Si la connexion utilise un jeton d’accès personnel :
Le PAT a été révoqué ou les étendues d’autorisation requises ont été modifiées et sont insuffisantes.
L’utilisateur a peut-être perdu des autorisations d’administration sur le dépôt GitHub.
Recréez le PAT et assurez-vous que la portée du jeton inclut les autorisations requises :
repo, read:user, user:email, admin:repo_hook
. Pour plus d’informations, consultez Bonnes pratiques pour l’utilisation des PAT.
Mettre à jour les définitions XML pour certains types d’éléments de travail
Si votre organisation personnalise le suivi des travaux à l’aide du modèle de processus XML hébergé ou local et souhaite intégrer des types de liens GitHub dans la section Développement des formulaires d’éléments de travail, vous devez mettre à jour les définitions XML pour les types d’éléments de travail correspondants.
Par exemple, pour lier des récits utilisateur et des bogues à GitHub commits et des demandes de tirage dans la section Développement des formulaires d’éléments de travail, vous devez mettre à jour les définitions XML pour ces types d’éléments de travail.
Pour modifier les définitions XML, effectuez les étapes décrites dans le modèle de processus XML hébergé. Pour chaque type d’élément de travail :
- Recherchez la section
Group Label="Development"
. - Pour prendre en charge les types de liens externes, GitHub Commit et GitHub Pull Request, ajoutez les lignes de code suivantes :
Cette intégration permet un suivi transparent des activités GitHub directement à partir de vos éléments de travail dans Azure Boards.
<ExternalLinkFilter Type="GitHub Pull Request" />
<ExternalLinkFilter Type="GitHub Commit" />
Une fois mise à jour, la section devrait apparaître comme suit.
<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>