GitHub

Présentation

Configurez l’intégration GitHub pour configurer GitHub Apps et GitHub Actions, sécuriser l’accès à vos référentiels et collecter des données de télémétrie avancées (comme les logs d’audit, les rapports de vulnérabilités, l’analyse des secrets et les statistiques sur les référentiels).

L'onglet Repository Configuration du carré d'intégration GitHub

Vous pouvez utiliser l’intégration du code source de Datadog pour afficher des extraits de code dans vos stack traces, lier des stack traces au code source dans GitHub pour vos fonctions Lambda, afficher les résumés des résultats de test issus des commentaires des pull requests dans CI Visibility, et accéder à de multiples définitions de service dans GitHub depuis le Service Catalog.

Configuration

Suivez ces instructions pour installer GitHub Apps et accorder des autorisations à Datadog. Selon les autorisations accordées, vous pouvez configurer l'intégration du code source, afficher des extraits de code dans les stack traces, consulter les données de télémétrie collectées, comme les logs d'audit, accéder à GitHub Actions dans CI Visibility, et plus encore.

Lier un référentiel dans le compte de votre organisation ou votre compte personnel

Si vous êtes administrateur de votre organisation GitHub, vous pouvez configurer GitHub Apps.

  1. Dans le carré d’intégration GitHub, accédez à l’onglet Repo Configuration.

  2. Cliquez sur Link GitHub Account pour créer une application GitHub.

  3. Dans Configure, sélectionnez Organization et puis saisissez un nom pour votre organisation, ou sélectionnez Personal Account.

    Si vous le souhaitez, indiquez l’URL de votre instance GitHub Enterprise Server (version 2.22 ou ultérieure) et assurez-vous que les serveurs Datadog peuvent se connecter à votre instance Enterprise. Les adresses IP des serveurs sont disponibles dans la section Webhooks des plages d’IP.

  4. Dans Edit Permissions, activez les autorisations de lecture Datadog pour les problèmes, pull requests et contenus. Vous devez sélectionner au moins une autorisation.

  5. Cliquez sur Create App in GitHub. Vous êtes alors invité à saisir un nom d’application GitHub dans GitHub.

  6. Saisissez un nom d’application GitHub dans le champ correspondant, puis cliquez sur Create GitHub App.

  7. Dans l’onglet Configuration, cliquez sur Install GitHub App et Install & Authorize.

Votre application GitHub s’affiche dans le carré d’intégration. Pour activer les extraits de code directement dans les stack traces, consultez la section relative à la configuration de l’intégration du code source.

Notebooks

Si vous avez accordé à votre application GitHub les autorisations de lecture pour les problèmes et les pull requests, les problèmes et pull requests GitHub génèrent automatiquement une fenêtre d’aperçu comportant notamment l’historique des commits, l’auteur et la date dans les notebooks.

Liens vers Git
  1. Accédez à Notebooks > New Notebook.
  2. Ajoutez une cellule Text et renseignez un problème ou une pull request sur GitHub dans le champ Edit. Exemple : https://github.com/project/repository/pull/#.
  3. Cliquez sur Done. L’icône GitHub s’affiche alors à côté du problème ou de la pull request associé(e).
  4. Cliquez sur Connect to Preview et Authorize.
  5. Passez le curseur sur le problème ou la pull request associé(e) pour afficher un aperçu descriptif.

Audit Logs

Les logs d’audit incluent l’ensemble des activités et des événements d’une organisation GitHub. Lors de l’installation d’une application, définissez les autorisations Organization Administration de sorte à accorder l’accès en lecture. Cela permet à l’application de commencer à collecter le flux d’audit de GitHub sous forme de logs pour le compte de l’organisation GitHub.

Pour désactiver la collecte des logs d’audit, recherchez l’organisation correspondante dans l’onglet Telemetery du carré d’intégration GitHub, cliquez sur le bouton Audit Log collection, puis sur Update Account.

Pour en savoir plus sur les logs d’audit, consultez la documentation GitHub relative aux actions du journal d’audit et à la configuration du streaming vers Datadog.

Données collectées

Métriques

L’intégration GitHub collecte les métriques relatives aux alertes d’analyse du code et des secrets. Ces métriques fournissent un aperçu de l’état des alertes de l’organisation en les classant par état, référentiel et type de secret. Elles permettent également d’obtenir des informations à long terme sur les tendances des alertes et leur processus général.

github.code_scan_alert
(gauge)
Github Code Scan Alerts
Shown as alert
github.secret_scan_alert
(gauge)
Github Secret Scan Alerts
Shown as alert

Pour commencer à collecter ces métriques, sélectionnez les autorisations appropriées pour accorder l’accès en lecture lors de l’installation de l’application. Pour désactiver la collecte des métriques d’analyse du code et des secrets, recherchez l’organisation correspondante dans l’onglet Telemetery du carré d’intégration, cliquez sur le bouton des sections concernées, puis sur Update Account.

Événements

Suivez ces instructions pour configurer des webhooks dans GitHub et Datadog, afin de permettre l'affichage des événements dans l'Events Explorer.

Ajouter un webhook dans GitHub

  1. Dans votre projet GitHub, accédez à Settings > Webhooks.

  2. Cliquez sur Add webhook.

  3. Saisissez l’URL suivante dans le champ Payload URL : https:///intake/webhook/github?api_key=<CLÉ_API_DATADOG>. N’oubliez pas de remplacer <CLÉ_API_DATADOG> par votre clé d’API Datadog.

  4. Sélectionnez application/json dans le menu déroulant Content type.

  5. Si vous le souhaitez, saisissez un secret dans le champ Secret.

  6. Dans la section Which events would you like to trigger this webhook?, cliquez sur Let me select individual events. et sélectionnez parmi les options prises en charge suivantes les événements à envoyer à Datadog :

    Nom de l’événement
    Pushes
    Branch or tag creation
    Pull requests
    Issues
    Issue comments
    Commit comments
    Pull request review comments
    Repositories
    Security and analyses
    Team adds
  7. Sélectionnez Active pour recevoir les détails de l’événement lorsque le hook est déclenché.

  8. Cliquez sur Add webhook pour enregistrer le webhook.

Ajouter un webhook dans Datadog

  1. Dans le carré d’intégration GitHub, accédez à l’onglet Webhooks.

  2. Indiquez les référentiels et les branches que vous souhaitez surveiller pour chaque référentiel. Pour ajouter tous les référentiels d’un utilisateur ou d’une organisation, utilisez des wildcards (*). Vous pouvez également utiliser ces derniers pour les noms des branches. Par exemple, dev-* désigne toutes les branches commençant par dev-.

    Pour recueillir tous les événements concernant la branche master du référentiel GitHub DataDog/documentation, vous pouvez saisir DataDog/documentation dans le champ Repository et master dans le champ Branches.

    Pour recueillir tous les événements concernant toutes les branches master de l’organisation DataDog, saisissez DataDog/* dans le champ Repository et master dans le champ Branches.

  3. Cochez les cases Commits et Issues pour recevoir des alertes pour ces événements.

  4. Cliquez sur Update Configuration pour enregistrer la configuration du webhook.

Une fois que vous avez ajouté des webhooks dans l’onglet Webhooks du carré d’intégration, les événements survenant dans les référentiels GitHub que vous avez indiqués commencent à apparaître dans l’Events Explorer. Pour en savoir plus, consultez la documentation relative à l’Events Explorer.

Pour filtrer les événements provenant de GitHub, sélectionnez Github dans le menu des facettes Source sous Core, ou saisissez source:github dans la requête de recherche. Le graphique à barres des événements s’actualise automatiquement à mesure que vous modifiez la requête de recherche.

Checks de service

L’intégration GitHub n’inclut aucun check de service.

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.

Pour aller plus loin