> ## Documentation Index
> Fetch the complete documentation index at: https://ai-kb.automationanywhere.com/llms.txt
> Use this file to discover all available pages before exploring further.

> Gestion des dépôts, problèmes et demandes de fusion

# Github

## Configuration

<img src="https://mintcdn.com/automationanywhere/RfM0IZSr51luSoHU/img/agents-toolkits/39.1.jpg?fit=max&auto=format&n=RfM0IZSr51luSoHU&q=85&s=9e450bdaca3a6e31195c093d85e394f7" alt="GitHub configuration with default owner/repository and authentication" width="1280" height="631" data-path="img/agents-toolkits/39.1.jpg" />

<img src="https://mintcdn.com/automationanywhere/RfM0IZSr51luSoHU/img/agents-toolkits/39.2.jpg?fit=max&auto=format&n=RfM0IZSr51luSoHU&q=85&s=7ca43fb6835933b392c9608e1bdd407d" alt="GitHub File Management, Issue Management, and Pull Request tools" width="1280" height="597" data-path="img/agents-toolkits/39.2.jpg" />

<img src="https://mintcdn.com/automationanywhere/RfM0IZSr51luSoHU/img/agents-toolkits/39.3.jpg?fit=max&auto=format&n=RfM0IZSr51luSoHU&q=85&s=dc1239e1c89be44c1207543fff31d55d" alt="GitHub Labels Management tools" width="1280" height="122" data-path="img/agents-toolkits/39.3.jpg" />

* **Propriétaire/Organisation par défaut** : octocat
* **Dépôt par défaut** : Hello-World
* **Authentification** : OAuth ; demande à l'utilisateur de s'authentifier
* **Accès** : Limité par les autorisations de l'utilisateur ; prend en charge les dépôts publics/privés et la gestion des problèmes/PR/contenu du dépôt

## Outils disponibles (16/16)

### Gestion des dépôts

* **List Repositories** : Obtenir tous les dépôts pour les utilisateurs ou organisations.
* **Get Repository** : Récupérer les détails du dépôt.
* **Search Repositories** : Trouver des dépôts par nom, description ou sujets.
* **List Branches** : Obtenir toutes les branches du dépôt.

### Gestion des problèmes et des demandes de fusion

* **List Issues** : Interroger les problèmes par état, étiquettes ou assignataire.
* **Create Issue** : Créer des problèmes avec titre, corps et étiquettes.
* **List Pull Requests** : Obtenir tous les PR par état ou branche.
* **Create Pull Request** : Ouvrir une PR de branche à branche.
* **Get Pull Request** : Récupérer les détails de la PR.
* **Get PR Files** : Lister tous les fichiers modifiés dans la demande de fusion.
* **Get PR Diff** : Obtenir la différence pour une demande de fusion.
* **Get PR Commits** : Afficher tous les commits dans la demande de fusion.

### Historique du code et étiquettes

* **Get Commit History** : Afficher l'historique des commits pour le dépôt.
* **Get Labels** : Récupérer toutes les étiquettes du dépôt.
* **Assign PR Labels** : Étiqueter les demandes de fusion avec des étiquettes.

## Cas d'usage

* **Suivi des problèmes** : Créer et gérer les problèmes GitHub à partir de rapports ou d'alertes.
* **Révisions de code** : Lister et examiner automatiquement les demandes de fusion.
* **Gestion des versions** : Suivre les commits et gérer les versions.
* **Gestion de projet** : Synchroniser les problèmes GitHub avec les flux de travail du projet.

## Bonnes pratiques

* **Protection des branches** : Activez la protection sur les branches principales avant l'automatisation.
* **Validation des PR** : Vérifiez la fusionnabilité de la PR avant de tenter la fusion.
* **Limites de débit** : Surveiller les limites de débit (5 000/heure pour les demandes authentifiées).

## Problèmes courants et solutions

* **403 Interdit** : Vérifiez que le jeton a les portées requises et l'accès au dépôt.
* **Conflit de fusion** : Impossible de fusionner automatiquement une PR avec des conflits. Résolvez d'abord les conflits.
* **Limite de débit** : Implémentez un backoff exponentiel et des demandes conditionnelles avec ETags.
* **Protection des branches** : Les révisions PR ou les contrôles sont nécessaires avant la fusion. Configurez l'automatisation en conséquence.
