Passer au contenu principal

Pourquoi intégrer Devin à GitHub ?

Intégrer Devin à votre organisation GitHub permet à Devin de créer des pull requests, de lire et de répondre à vos commentaires sur les PR, etc. Devin peut ainsi devenir un véritable collaborateur au sein de votre équipe d’ingénieurs. La configuration est simple ! Rendez-vous sur app.devin.ai > Settings > Integrations > GitHub, cliquez sur Connect et suivez les étapes d’intégration de l’application GitHub affichées à l’écran. Assurez-vous de sélectionner l’accès aux dépôts pertinents et de vérifier les autorisations associées.
Vous utilisez GitHub Enterprise Server ? Consultez le guide d’intégration GitHub Enterprise Server pour obtenir des instructions de configuration à l’aide de jetons d’accès personnels.

Configuration de l’intégration

Vous rencontrez des difficultés ? Consultez notre page Problèmes courants pour des solutions aux problèmes fréquents.
  1. Dans votre compte Devin sur app.devin.ai, allez dans Settings > Integrations > Github, puis cliquez sur le bouton Connect pour intégrer votre organisation avec l’application Devin GitHub.
  2. Vous serez redirigé vers GitHub, où vous pourrez sélectionner le compte GitHub et les dépôts à connecter à Devin, et examiner les autorisations correspondantes.
    • Si vous configurez l’intégration GitHub pour le compte de votre organisation, assurez-vous de sélectionner le compte de votre entreprise.
Devin
  1. Une fois toutes les étapes de configuration terminées dans GitHub, vous serez redirigé vers la page des paramètres de votre compte Devin, où vous pourrez confirmer que l’intégration est bien configurée.
Devin
  1. [Uniquement pour les clients Enterprise] Ajoutez le compte GitHub cognition-team aux dépôts concernés. Cela nous permet de faciliter l’intégration de Devin à votre base de code et de superviser l’activité de Devin.
Nous vous recommandons d’activer les protections de branche sur master afin de garantir que les vérifications sont appliquées avant que Devin ne puisse fusionner des changements.

Utiliser Devin avec l’intégration GitHub

Une fois l’intégration configurée, vous pouvez accéder à l’application web Devin et vous devriez pouvoir @mention le dépôt dans votre prompt ! Si vous utilisez un dépôt pour la première fois, nous vous recommandons de suivre le processus de configuration de l’environnement de développement dans le flux d’onboarding afin de garantir que Devin dispose des informations les plus précises et les plus à jour sur la façon de travailler avec votre base de code.
Devin répondra automatiquement à tous les commentaires de PR tant que la session n’aura pas été archivée

Modèles de pull request

Lorsque Devin crée une pull request, il essaie de structurer la description de la pull request en utilisant un modèle provenant de votre dépôt. Si vous fournissez un modèle, Devin en suivra la structure lors de la rédaction de la description qu’il soumet sur GitHub.

Modèle spécifique à Devin (recommandé)

Vous pouvez définir un modèle propre à Devin sans modifier votre modèle par défaut destiné aux humains en ajoutant un fichier nommé devin_pr_template.md dans l’un des emplacements PULL_REQUEST_TEMPLATE pris en charge ci-dessous. Cela est utile si vous souhaitez que Devin inclue des consignes supplémentaires (par exemple, une checklist pour le relecteur ou des instructions pour inclure un diagramme Mermaid des fichiers modifiés).

Ordre de recherche et de priorité

Devin recherche le premier fichier existant dans l’ordre suivant (le premier fichier trouvé est utilisé) :
  1. PULL_REQUEST_TEMPLATE/devin_pr_template.md
  2. docs/PULL_REQUEST_TEMPLATE/devin_pr_template.md
  3. .github/PULL_REQUEST_TEMPLATE/devin_pr_template.md
  4. pull_request_template.md
  5. docs/pull_request_template.md
  6. .github/pull_request_template.md
Si aucun de ces fichiers n’existe, Devin utilise son format interne par défaut pour la description de PR.
Si vous avez déjà un fichier GitHub pull_request_template.md que vous voulez que Devin respecte exactement, copiez-le simplement (ou créez un lien symbolique) dans l’un des chemins devin_pr_template.md ci-dessus.
Pour plus d’informations sur les modèles de pull request GitHub (emplacements pris en charge, modèles multiples, paramètres de requête, etc.), consultez la documentation GitHub : Creating a pull request template for your repository.

Configuration des autorisations de Devin

Gestion des autorisations

Vous devez être administrateur de l’organisation GitHub où l’intégration Devin est installée pour gérer les autorisations.
Lors de la configuration de l’intégration, vous pouvez choisir d’accorder des autorisations de façon à ce que Devin puisse accéder à tous les dépôts de l’organisation ou seulement à un sous-ensemble sélectionné de dépôts.
Vous pouvez toujours ajuster les autorisations via la page de configuration de l’intégration dans GitHub une fois l’application connectée :
  • Étape 1 : Accédez aux paramètres d’intégration GitHub
  • Étape 2 : Accédez à Devin.ai Integration et cliquez sur « Configure »
  • Étape 3 : Faites défiler jusqu’à la section « Repository access » pour gérer les autorisations
Devin
Devin a besoin des autorisations suivantes : Accès en lecture à :
AutorisationDescription
dependabot alertsPermet à Devin de résoudre les alertes Dependabot en votre nom (c.-à-d. mettre à jour les versions de dépendances)
actionsPermet à Devin de consulter les actions configurées pour un dépôt afin de comprendre si les changements de Devin passent la CI
checksPermet à Devin de consulter les checks configurés pour un dépôt afin de comprendre si les changements de Devin passent la CI
commit statusesPermet à Devin de voir si un commit passe la CI
deploymentsPermet à Devin de voir quelles versions d’un dépôt ont été déployées
metadataPermet à Devin de consulter les métadonnées cruciales d’un dépôt, par exemple qui en est propriétaire
packagesPermet à Devin de voir quelles versions d’un dépôt ont été publiées sous forme de package
pagesPermet à Devin de consulter les pages associées à un dépôt, par exemple pour voir la documentation
repository advisoriesPermet à Devin de consulter les avis de sécurité liés à un dépôt afin d’aider à corriger les problèmes de sécurité
repository hooksPermet à Devin de consulter les hooks configurés pour un dépôt, par exemple pour le linting et la vérification de types
repository projectsPermet à Devin de consulter les projets associés à un dépôt, par exemple pour récupérer des informations sur une tâche
Accès en lecture et en écriture à :
AutorisationDescription
codePermet à Devin de contribuer à la base de code
discussionsPermet à Devin de contribuer aux discussions
issuesPermet à Devin d’ouvrir de nouveaux tickets/issues
pull requestsPermet à Devin de créer de nouvelles PR
workflowsPermet à Devin de configurer de nouveaux workflows, par exemple pour aider à configurer la CI/CD
Nous demandons ces autorisations afin que Devin puisse travailler dans votre dépôt comme un contributeur classique. Plus précisément, nous autorisons Devin à pousser de nouvelles branches, à ouvrir des PR et à contribuer aux discussions de PR, ce qui est essentiel pour que Devin puisse contribuer efficacement à votre base de code.

Signature des commits

Pendant la configuration de votre dépôt, vous pouvez utiliser le terminal de Devin pour générer une clé GPG qui sera utilisée pour signer les commits, conformément au processus GPG décrit dans la documentation GitHub. Nous vous recommandons de créer un compte GitHub fictif au sein de votre organisation pour y importer la clé GPG (par exemple [email protected]), afin de pouvoir vérifier quels commits proviennent de Devin.
Devin

Considérations de sécurité

Quelques informations supplémentaires concernant les autorisations de Devin dans GitHub :
  • Nous recommandons d’activer des protections de branche sur master pour garantir que les vérifications requises sont effectuées avant que Devin ne puisse fusionner des modifications.
  • Si Devin est connecté au compte GitHub de votre organisation, il disposera des mêmes autorisations que tout utilisateur ayant accès aux organisations GitHub et Devin.
  • Devin ne reprendra pas les autorisations de l’utilisateur lançant une session avec lui ; il conservera les autorisations accordées au niveau de l’organisation.
  • Devin ne peut pas créer de nouveaux dépôts dans votre compte GitHub.

Autorisation d’adresses IP

Si vous devez autoriser les services de Devin à accéder aux ressources GitHub de votre organisation, ajoutez les adresses IP suivantes :
  • 100.20.50.251
  • 44.238.19.62
  • 52.10.84.81
  • 52.183.72.253
  • 20.172.46.235
  • 52.159.232.99
(Veuillez noter que ces adresses IP peuvent changer lors de futures mises à jour.)

FAQ sur l’intégration GitHub

Oui, un utilisateur peut choisir de connecter un compte GitHub d’organisation ou un compte personnel au compte Devin de son organisation, mais nous recommandons de connecter le compte qui disposera des autorisations nécessaires pour que Devin exécute des sessions pour l’organisation.
Seuls les utilisateurs authentifiés avec un accès/des autorisations à l’organisation à laquelle l’intégration GitHub a été connectée peuvent l’utiliser lors de leurs exécutions Devin. En d’autres termes, Devin n’aura accès à une intégration GitHub que s’il est lancé par des personnes faisant partie des organisations qui ont installé cette intégration GitHub.
Les clés de chiffrement sont gérées par AWS KMS et sont périodiquement renouvelées.