Intégrer GitHub à Changements de vélocité DevOpsEspace de travail

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 10 minutes de lecture
  • Connectez-vous à votre GitHub instance à l’aide du playbook de l’espace de travail de changement DevOps pour détecter, configurer et importer des référentiels, des plans et des pipelines.

    Avant de commencer

    Effectuez les tâches spécifiées dans la Premiers pas avec Changements de vélocité DevOps rubrique.

    Rôle requis : sn_devops.admin ou sn_devops.tool_owner

    Procédure

    1. Accédez à la Espaces de travail > Espace de travail de changement DevOps et utilisez l’une des options suivantes pour ouvrir le Playbook à embarquer GitHub.
      OptionÉtapes
      Page d'accueil
      1. Sélectionnez Connecter un outil.
      2. Dans le modal Se connecter à un outil, sélectionnez l’outil dans la catégorie appropriée (Orchestration, Code, Plan ou Qualité logicielle). Par exemple, si vous souhaitez vous connecter en GitHub tant qu’outil de codage, vous devez sélectionner la catégorie Outils de codage .
      Module d’application
      1. Sélectionnez Applications ( icône Applications.) dans la navigation primaire.
      2. Sélectionnez une application existante ou créez-en une. Pour créer une application, reportez-vous à la section app-create-workspace.html.
      3. Dans le volet Actions recommandées, sélectionnez la fiche Connecter un outil .
      4. Dans le modal Connecter à un outil, sélectionnez l’outil dans la catégorie appropriée. Par exemple, si vous souhaitez vous connecter en tant qu’outil de GitHub codage, sélectionnez GitHub sous la catégorie Code .
      Module d’outils
      1. Sélectionnez Outils ( icône Outils)dans la navigation primaire.
      2. Dans la liste Aptitude, sélectionnez la catégorie appropriée. Par exemple, si vous souhaitez vous connecter en GitHub tant qu’outil de codage, vous devez sélectionner la catégorie Codage .
      3. Sélectionnez Connecter un outil.
      4. Dans le modal Se connecter à un outil, sélectionnez GitHub.
      Important :
      Si vous souhaitez détecter et suivre des objets d’outil tels que des pipelines, des plans ou des référentiels lors de la connexion à l’outil, vous devez connecter votre outil à partir du module Application.
    2. Dans le champ Nom de l’outil , saisissez un nom pour l’outil.

      Se connecter à GitHub

    3. Sélectionnez Suivant.

      Le DevOps playbook s’ouvre pour vous aider à accomplir les tâches d’intégration.

    4. Terminez la connexion et la configuration à l’aide du playbook.
      1. Dans le champ Type d’informations d’identification , sélectionnez l’un des types d’informations d’identification suivants.
        • Authentification de base
      2. Entrez les informations d’identification.
        Authentification de base

        Entrez le nom d’utilisateur et le mot de passe/jeton d’accès de votre GitHub instance.

        Type d’informations d’identification pour authentification de base GitHub.

        OAuth 2.0 avec code d'autorisation

        Sélectionnez un enregistrement d’informations d’identification OAuth 2.0 avec code d’autorisation existant ou créez un enregistrement d’informations d’identification OAuth 2.0 avec code d’autorisation. Pour plus d'informations, consultez Créer un enregistrement d’informations d’identification pour GitHub le fournisseur d’application (code d’autorisation).

        GitHub OAuth 2.0 avec type d’informations d’identification du code d’autorisation

        Remarque :
        Si vous vous connectez à l’aide d’une application GitHub et que vous rencontrez des problèmes avec la vérification des autorisations, assurez-vous que le préfixe d’ID client de votre application GitHub est disponible dans la propriété DevOps : Spécificateur d’ID client pour l’application GitHub. Pour plus d'informations, consultez Ajouter l’ID client à la propriété DevOps.
        OAuth 2.0 avec jeton Web JSON (JWT)
        Pour vous connecter à l’aide d’OAuth 2.0 avec un JWT, vous devez d’abord effectuer les opérations suivantes :
        Une fois les conditions préalables remplies, vous pouvez continuer avec l’activité Changements de vélocité DevOps Playbook de Connexion :
        1. Sélectionnez l’option Utiliser un enregistrement d’informations d’identification JWT existant si vous souhaitez utiliser un enregistrement d’informations d’identification JWT déjà existant. Si cette option n’est pas sélectionnée, les champs permettant de créer un nouvel enregistrement d’informations d’identification JWT s’affichent. Passez à l’étape suivante.
        2. Dans le champ Certificat JKS , sélectionnez un certificat JKS existant. Il s’agit du nom que vous avez saisi pour identifier de façon unique le fournisseur JWT. Les certificats JKS sont créés à l’aide de commandes shell pour créer un enregistrement sys_certificate.

          Pour plus d'informations, consultez Créer une clé de signature JWT pour le GitHub certificat JKS.

        3. Dans le champ Clé de signature , saisissez la clé de signature à affecter à votre certificat JKS. Il s’agit du mot de passe d’exportation saisi lors de la génération du certificat JKS.
        4. Dans le champ ID de l’application GitHub , sélectionnez l’ID d’application de votre application GitHub (disponible dans la section À propos de votre configuration d’application GitHub dans GitHub). L’image suivante présente un exemple de la section À propos d’une configuration d’application GitHub à partir de laquelle vous pouvez accéder à l’ID de l’application GitHub, à l’ID client et à la clé secrète du client.

          Page À propos de l’application GitHub.

        5. Dans le champ ID client , sélectionnez l’ID client de votre application GitHub (disponible dans la section À propos de votre configuration d’application GitHub dans GitHub).
        6. Dans le champ Clé secrète client , sélectionnez la clé secrète client de votre application GitHub (disponible dans la section À propos de votre configuration d’application GitHub dans GitHub).
        7. Dans le champ URL du jeton , sélectionnez l’emplacement du point de terminaison du jeton que l’instance utilise pour récupérer et actualiser les jetons.

          Pour la version dans le cloud, saisissez : https://api.github.com/app/installations/<installation_id>/access_tokens.

          Pour la version d’entreprise, saisissez : https://<HOST_URL>/api/v3/app/installations/<installation_id>/access_tokens.

          Pour l’ID d’installation, accédez à la section Installer l’application dans votre configuration d’application GitHub dans GitHub et sélectionnez l’icône d’engrenage pour configurer votre application. L’ID d’installation se trouve dans l’URL de la page Web. Par exemple, https://github.com/settings/installations/<installation_id>.

          GitHub OAuth 2.0 avec type d’informations d’identification JWT.

        Si les informations d’identification OAuth sont créées à l’aide de GitHub Apps : JWT, l’option Configurer avec l’application GitHub est disponible sur la page d’enregistrement de l’outil.

        Remarque :
        Si vous vous connectez à l’aide d’une application GitHub et que vous rencontrez des problèmes avec la vérification des autorisations, assurez-vous que le préfixe d’ID client de votre application GitHub est disponible dans la propriété DevOps : Spécificateur d’ID client pour l’application GitHub. Pour plus d'informations, consultez Ajouter l’ID client à la propriété DevOps.

        Pour plus d’informations sur les informations d’identification OAuth2.0, reportez-vous à la section Configurer les informations d’identification GitHub OAuth 2.0 pour Changements de vélocité DevOps.

      3. Facultatif : Si votre GitHub instance est associée à un Serveur MID, sélectionnez l’option Serveur MID et entrez ses détails.

        Pour plus d’informations sur Serveur MID, reportez-vous à la section Sélection d’un Serveur MID.

        Remarque :
        Pour GitHub Enterprise Server (instance locale), OAuth n’est pas pris en charge si vous vous connectez à l’aide d’un MID Server.
      4. Sélectionnez Connexion.

        Connectez GitHub à DevOps Change Velocity.

      5. Les contrôles d’autorisation sont exécutés sur les informations d’identification que vous avez saisies.

        Les autorisations requises et les autorisations disponibles s’affichent. Si vous souhaitez saisir des informations d’identification avec de meilleures autorisations, sélectionnez Saisir à nouveau les informations d’identification. Pour en savoir plus sur toutes les autorisations requises, reportez-vous à la section GitHub Autorisations dans Autorisations requises pour DevOps les outils.

        Pour OAuth 2.0, si vous n’avez pas saisi le nom de la slug de l’application GitHub , l’outil est connecté sans vérifier les besoins d’autorisation.

      6. Sélectionnez Suivant.

        Vérifications d’autorisations

    5. Spécifiez l’accès pour l’outil.
      1. Si vous souhaitez contrôler l’accès à l’outil, ajoutez les groupes qui doivent avoir accès à l’outil dans le champ Géré par .
        Les tâches que ces utilisateurs peuvent effectuer dans les groupes dépendent du rôle qui leur est affecté.
        • DevOps Rôle du propriétaire de l’outil : peut afficher et modifier l’outil.
        • DevOps Rôle du propriétaire de l’application : permet d’afficher l’outil et peut associer, détecter, importer des données historiques et modifier les étapes du pipeline (le cas échéant) des objets de l’outil (tels que les plans, les référentiels et les pipelines).
        • DevOps Rôle d’administrateur : peut modifier tous les outils.
        • Autres DevOps rôles : peut afficher l’outil.
        Remarque :
        Si vous ne sélectionnez pas de groupe et ignorez cette étape, tous les utilisateurs ayant le rôle de propriétaire de l’outil DevOps seront en mesure de modifier l’outil.
      2. Si vous choisissez de contrôler l’accès à l’outil, l’option Tous les propriétaires d’applications peuvent afficher et associer des objets d’outil aux applications devient disponible à la sélection.

        Cette option permet à tous les utilisateurs ayant le rôle de DevOps propriétaire de l’application d’accéder à l’outil. Si cette option est sélectionnée, ils seront en mesure d’afficher, d’associer, de détecter, d’importer des données historiques et de modifier les étapes du pipeline (le cas échéant) des objets de l’outil.

      3. Sélectionnez Affecter.

      Spécifier l’accès à l’outil

    6. Configurez automatiquement les webhooks dans votre GitHub instance pour envoyer des données à Changements de vélocité DevOps.
      Cette action configure les webhooks suivants :
      • push: pour collecter des validations, des branches et des balises de référentiel
      • workflow_job: pour collecter des données de pipeline
      • issues: pour collecter des données (élément de travail) sur les problèmes
      Remarque :
      Il est recommandé d’effectuer la configuration dans le cadre de cette tâche, car les notifications en temps réel sont idéales pour maintenir les informations à jour, notamment pour automatiser les demandes de changement. Sinon, vous pouvez configurer le webhook en le configurant manuellement ultérieurement en activant l’interrogation nocturne pour extraire le système de données pour tous les référentiels ou pipelines suivis en définissant la Enable Polling propriété sur Oui.

      Sélectionnez les référentiels pour lesquels vous souhaitez configurer les webhooks, puis sélectionnez Configurer.

      Sélectionnez les référentiels à configurer à partir de GitHub.

      Important :
      • Si vous vous connectez à partir de la page d’accueil ou du module Outils, la connexion est terminée et vous êtes redirigé vers la page Résumé.
      • Si vous effectuez une connexion à partir du module Applications, les référentiels et les pipelines disponibles sont détectés. Vous pouvez en suivre et en importer des données historiques.
    7. Sélectionnez les plans à suivre.
      1. Sélectionnez les plans pour lesquels vous souhaitez suivre les mises à jour et les associer à l’application.

        Une fois l’intégration de l’outil terminée, seuls les éléments de travail de ces plans sélectionnés sont importés.

      2. Sélectionnez Suivant.

        Étape Playbook des plans de suivi

    8. Sélectionnez les référentiels à suivre.
      1. Sélectionnez les référentiels pour lesquels vous souhaitez suivre les mises à jour et les associer à l’application.
      2. Sélectionnez Suivant.

        Sélectionner des référentiels pour le suivi.

      3. Si vous souhaitez importer des données de référentiel, sélectionnez la plage de dates, puis sélectionnez Soumettre.

        Vous pouvez importer jusqu’à 90 jours de données. Les workflows associés aux référentiels seront également importés.

    9. Sélectionnez les pipelines à suivre.
      1. Sélectionnez les pipelines pour lesquels vous souhaitez suivre les mises à jour et les associer à l’application.

      2. Sélectionnez Suivant.

      3. Pour chaque pipeline sélectionné, toutes les étapes sont importées pour la dernière exécution réussie. Dans l’activité Affecter des services aux étapes du pipeline, vous pouvez sélectionner les éléments suivants pour chaque étape du pipeline :
        1. Type d’étape du pipeline : sélectionnez un type d’étape auquel vous souhaitez affecter un service.

          Conseil :
          Spécifiez au moins le type d’étape pour les Prod deploy étapes qui représentent le déploiement de production afin de permettre DevOps d’identifier les exécutions de pipeline réussies en tant que déploiements de production.
        2. Service : sélectionnez le service d’application CMDB auquel l’étape de pipeline est toujours mappée.

          Le service d’application est mappé approximativement à l’environnement. Si vous utilisez la même étape de pipeline pour le déploiement dans différents environnements, laissez le champ vide. Les informations sur le service permettent DevOps d’identifier et de signaler des mesures opérationnelles telles que les incidents, les pannes, etc.

      4. Sélectionnez Suivant.

        Affecter des services aux pipelines à partir de GitHub.

    10. Sur la page Résumé , sélectionnez Afficher l’enregistrement de l’outil pour examiner les détails de l’outil connecté GitHub .

      Résumé de la connexion

      Pour GitHub Actions les pipelines, vous devez effectuer des étapes supplémentaires telles que la création de secrets, la définition de la configuration du workflow dans GitHub, etc. Pour plus d'informations, consultez Configurations GitHub Actions.

    Résultats

    Vous avez intégré avec succès votre GitHub outil à Changements de vélocité DevOps.

    Que faire ensuite

    Vous pouvez également détecter manuellement les plans une fois que votre outil GitHub est intégré. Comme il n’existe aucune entité de plan dans GitHub, les référentiels seront pris en compte pour détecter les enregistrements de plan correspondants dans ServiceNow.

    1. Sur la page d’enregistrement de l’outil, sélectionnez Détecter pour détecter les plans.
    2. Sélectionnez Configurer. Les plans sont suivis et un webhook appelé issues est créé pour envoyer des notifications en temps réel pour les éléments de travail.
    Les informations suivantes sont mises à jour pour un élément de travail dans ServiceNow lorsque le problème correspondant est mis à jour dans GitHub.
    • Changement dans le titre d’un problème
    • Mise à jour des délégataires
    • Problème de transfert
      Remarque :
      Lorsqu’un problème est transféré, il sera marqué comme transféré dans le référentiel à partir duquel il est transféré et ouvert dans le référentiel vers lequel il est transféré.
    • Supprimer le problème
      Remarque :
      Lorsqu’un problème est supprimé dans GitHub, l’élément de travail correspondant n’est pas supprimé dans ServiceNow, mais l’état de l’élément de travail est marqué comme supprimé.

    Si vous effectuez une mise à niveau, les plans de vos référentiels seront détectés via la tâche planifiée à détecter périodiquement ou via la détection manuelle. Une fois vos plans détectés, vous pouvez activer la sn_devops.track.github.issues propriété pour reconfigurer tous les référentiels précédemment configurés à la fois afin que tous les plans soient suivis et que le webhook des problèmes soit créé pour les éléments de travail.

    Remarque :
    L’importation historique des plans n’est pas prise en charge.