Configuration de Bits Code

Ce produit n'est pas pris en charge par le site Datadog que vous avez sélectionné. ().

Présentation

Bits Code s’intègre aux fournisseurs de code source pour ouvrir, mettre à jour et itérer sur les pull requests ou demandes de fusion en fonction des problèmes détectés dans Datadog. Une fois la configuration terminée, vous pouvez commencer à utiliser Bits Code.

Prérequis

Pour configurer Bits Code, vous avez besoin de l’autorisation Bits Code Write (bits_dev_write). Cette autorisation est incluse dans les rôles Datadog gérés tels que le rôle standard Datadog.

Si votre organisation utilise des rôles personnalisés, un administrateur doit ajouter cette autorisation manuellement. Pour plus de détails, consultez Access Control.

Configuration

Configurez Bits Code pour l’un des fournisseurs de code source pris en charge.

  1. Installez le GitHub integration. Pour les étapes complètes d’installation et de configuration, consultez le GitHub integration guide.
  2. Dans votre compte GitHub, accédez à Settings > Apps > Datadog pour configurer les autorisations GitHub.
    1. Pour activer les fonctionnalités de base de Bits Code, définissez les autorisations suivantes :
      • Repository permissions
        • Contenu du dépôt : Lecture et écriture
        • Pull requests : Lecture et écriture
      • Subscribe to events
        • Push
    2. (Facultatif) Pour permettre à Bits Code d’utiliser les journaux CI lors de l’itération sur les demandes de tirage, vous devez envoyer les journaux CI à Datadog et activer la fonctionnalité auto-push. Cela nécessite des autorisations supplémentaires :
      • Repository permissions
        • Vérifications : Lecture
        • Statuts de validation : Lecture seule
      • Subscribe to events
        • Exécution de vérification
        • Suite de vérification
        • Commentaire sur le problème
        • Statut
  1. Installez le GitLab Source Code integration. Pour les étapes complètes d’installation et de configuration, consultez le GitLab Source Code integration guide.

  2. Vérifiez que le compte de service GitLab répond aux exigences suivantes :

    Vous ne pouvez pas modifier les [scopes] d'un [personal access token] GitLab existant. Si vous devez créer un [personal access token] incluant les [scopes] ci-dessus, ajoutez tous les [scopes] requis par les autres produits Datadog qui utilisent le [GitLab Source Code integration].
  1. Installez le Azure DevOps Source Code integration. Pour les étapes complètes d’installation et de configuration, consultez le Azure DevOps Source Code integration guide.
  2. Vérifiez que le principal de service de l’application Microsoft Entra est un [Project Contributor] sur chaque projet, ou appartient à un groupe personnalisé avec les repository permissions suivantes :
    • Contribute
    • Contribute to pull requests
    • Create branch
    • Read

Si la validation de l’e-mail de l’auteur du commit est activée, ajoutez no-reply@dtdg.co aux adresses e-mail autorisées. Bits Code utilise cette adresse pour les commits qu’il crée.

Configuration supplémentaire

Ces configurations optionnelles vous aident à tirer le meilleur parti de Bits Code.

Configurer le marquage de télémétrie

Bits Code utilise les tags de télémétrie service et version pour faire correspondre les problèmes détectés (tels que des erreurs ou des vulnérabilités) à la version du code qui était en cours d’exécution à ce moment-là.

Pour configurer le marquage de télémétrie, consultez Tag your APM telemetry with Git information.

Vous pouvez également configurer manuellement le service-to-repository mapping dans les paramètres de Bits Code sous Repositories > Service Repository Mapping.

Activer l’auto-push

L’auto-push permet à Bits Code de créer des branches, de pousser du code et d’ouvrir des PR ou des MR lorsqu’il détecte un élément pour lequel il peut vous aider. L’auto-push ouvre uniquement des PRs ou des MRs et pousse des modifications ; il ne merge jamais de code. Lorsque l’auto-push est désactivé, vous devez examiner le code dans Datadog avant qu’il ne soit poussé.

Pour activer l’auto-push, accédez à Bits Code > Settings > General.

Considérations de sécurité

Autoriser tout outil basé sur l’IA à lire des données non approuvées peut permettre à des attaquants d’influencer ses résultats. Le comportement de l’auto-push dépend du type de données avec lesquelles Bits Code travaille : les workflows basés uniquement sur le code opèrent sur le code source que l’Agent peut inspecter directement, tandis que les workflows basés sur la télémétrie (tels que les erreurs ou les traces) peuvent inclure des entrées d’exécution non approuvées.

Pour équilibrer sécurité et automatisation, vous pouvez configurer le comportement de l’auto-push dans Datadog (par exemple, en limitant l’auto-push aux workflows basés uniquement sur le code ou en exigeant une révision lorsque la télémétrie est impliquée). Datadog analyse tout le code généré par l’Agent avant de pousser les modifications, mais ces mesures de protection ne sont pas infaillibles.

Configurer des instructions personnalisées

Bits Code ingère des fichiers d’instructions personnalisés depuis votre dépôt, notamment :

  • AGENTS.md
  • CLAUDE.md
  • agent.md
  • .cursorrules
  • .windsurfrules
  • copilot-instructions.md

Vous pouvez également définir des instructions personnalisées globales qui s’appliquent à toutes les sessions Bits Code dans Bits Code > Settings > General, dans la section Global Agent Instructions.

Un fichier d’instructions personnalisées est un bon endroit pour mentionner les compétences personnalisées que vous souhaitez que Bits Code utilise.

Configuration de l’environnement

Configurez l’environnement d’exécution de Bits Code, y compris les politiques d’accès réseau et les outils spécifiques au dépôt.

Configurer l’accès à Internet

Par défaut, Bits Code n’a aucun accès à Internet pendant l’exécution de l’agent. Pour configurer les domaines externes auxquels les agents peuvent accéder, accédez à Bits Code > Settings > General et recherchez la section Internet Access. Choisissez parmi les politiques d’accès suivantes : No Internet Access, Default Allowlist, Custom + Default Allowlist ou Custom Allowlist.

La liste d’autorisation par défaut inclut les domaines suivants. Cette liste évoluera au fil du temps en fonction des retours des utilisateurs et des changements de l’écosystème. Pour éviter les changements, configurez une liste d’autorisation personnalisée.

LangageDomaines
Clojure/JVMrepo.clojars.org
Gopkg.go.dev, proxy.golang.org, sum.golang.org, vuln.go.dev
Java/JVMrepo1.maven.org
JavaScript/TypeScriptregistry.npmjs.org, registry.yarnpkg.com, repo.yarnpkg.com
.NET/C#api.nuget.org
PHPpackagist.org, repo.packagist.org
Pythonfiles.pythonhosted.org, pypi.org, pypi.python.org, pythonhosted.org
Rubyapi.rubygems.org, index.rubygems.org, rubygems.org
Rustindex.crates.io, static.crates.io
Ubuntuarchive.ubuntu.com, ports.ubuntu.com, security.ubuntu.com

Configurer l’environnement du dépôt

Configurez un environnement personnalisé pour Bits Code afin d’installer les dépendances, les formateurs, les linters et les outils de construction nécessaires à votre base de code. Chaque dépôt s’exécute dans son propre bac à sable isolé, et l’environnement définit les paramètres de ce bac à sable.

Pour configurer un environnement de dépôt :

  1. Allez dans Bits Code > Settings > Repositories, et recherchez la section Environments.
  2. Cliquez sur Add Environment pour créer une configuration de dépôt :
    1. Sélectionnez un dépôt dans la liste déroulante.
    2. (Facultatif) Sous Pre-installed Languages, cliquez sur Select Versions pour spécifier les versions de langage que le bac à sable doit utiliser.
    3. (Facultatif) Définissez des variables d’environnement et des secrets. Les variables d’environnement sont disponibles à la fois pendant la configuration de l’environnement et l’exécution de Bits Code. Les secrets sont disponibles en tant que variables d’environnement uniquement pendant la configuration de l’environnement.
    4. (Facultatif) Ajoutez un script shell avec des commandes de configuration à exécuter (par exemple : pip install -r requirements.txt).
  3. Exécutez la commande de configuration pour vous assurer qu’elle s’exécute correctement.
  4. Enregistrez la configuration.

Bits Code exécute la commande de configuration au démarrage et peut utiliser tous les outils installés dans votre environnement. La commande de configuration s’exécute avec un accès réseau activé pour télécharger les dépendances. Une fois la configuration terminée, votre politique d’accès à Internet contrôle l’accès réseau sortant pendant l’exécution de l’agent. Comme les commandes de configuration s’exécutent sur le code de votre référentiel, ne les activez que si vous faites confiance au code du référentiel.

Remarque : Pour de meilleurs résultats, ajoutez un fichier d’instructions personnalisées (comme claude.md) à votre référentiel avec des instructions sur la façon de compiler et de tester votre code.

Dépannage

La création de GitHub PRs échoue de manière inattendue

Dans certains cas, notamment dans les dépôts comportant de nombreuses branches, GitHub n’exécute pas la vérification des autorisations lors de la création d’une branche pour la session. Si vous utilisez une application GitHub personnalisée, vous pouvez contourner ce problème en ajoutant l’autorisation workflows:write à votre application dans l’intégration GitHub.

Remarque : Cette autorisation permet à Bits AI de créer des workflows dans votre référentiel et comporte des implications en matière de sécurité.

Pour aller plus loin