GitHub Rayon

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 14 minutes de lecture
  • Gérez le contrôle de version distribué et le code source dans GitHub à partir de votre instance ServiceNow. Créez des flux dans ServiceNow afin de gérer les fonctionnalités collaboratives telles que le suivi des bogues, les demandes de fonctionnalités ou les tâches pour les projets dans GitHub. Visualisez et analysez des données d'utilisation significatives pour les abonnements aux logiciels GitHub Enterprise Cloud et GitHub Enterprise Server afin de récupérer les licences qui ont expiré.

    Demander des applications dans l'App Store

    Visitez le site Web ServiceNow Store pour découvrir toutes les applications disponibles et pour obtenir des informations sur la procédure à suivre pour soumettre des demandes à la boutique. Pour obtenir des informations sur les notes de publication cumulatives pour toutes les applications publiées, consultez les ServiceNow Storenotes de publication relatives à l'historique des versions.

    Abonnement à Hub d'intégration

    Ce spoke requiert un abonnement au Centre d'intégration. Pour plus d'informations, consultez Calendriers juridiques - Vue d'ensemble du Centre d'intégration.

    Version de spoke

    GitHubSpoke v3.0.0 est la dernière version.

    Versions prises en charge

    Ce spoke a été conçu pour GitHub la version 3de l’API, mais peut être compatible avec les versions ultérieures.

    Exigences relatives au spoke

    • GitHub compte
    • Utilisateur avec les informations d’identification d’administrateur
    • Jeton d’authentification de l’instance ServiceNow
    Voir le GitHub interne pour obtenir des instructions sur la création d’un compte et la GitHub génération d’un jeton.

    GitHub Module Webhooks

    Des webhooks bidirectionnels peuvent être configurés pour être informé des événements requis. La politique d’acheminement définit les conditions qui doivent être remplies pour notifier l’application ServiceNow . Ces conditions sont basées sur les événements pour GitHub lesquels vous souhaitez être informé. Lorsque les conditions sont remplies, la politique d’acheminement déclenche le flux secondaire associé, qui à son tour automatise les GitHub tâches.

    Les webhooks bidirectionnels nécessitent une configuration distincte et peuvent être utilisés indépendamment sans utiliser les actions de spoke. Par défaut, l’application GitHub Webhooks est disponible dans et GitHubSpoke comprend les modules suivants :
    • GitHub Registres Webhook
    • GitHub Politiques d’acheminement de WebHook
    Utilisez le GitHub module Registres Webhook pour affecter un jeton et fournir le chemin d’accès de l’API. Vous devez générer une URL de rappel ici et fournir cette URL dans GitHub. Une politique d’acheminement par défaut est fournie dans le module Politiques d’acheminement WebHook GitHub . La politique d’acheminement par défaut prend en charge les champs suivants GitHub :
    Champs pris en charge GitHub
    Action Créateur de carte de projet Réf
    Référence de base Note de carte de projet Type de réf.
    Valider le corps du commentaire Carte de projet Note précédente Actifs de mise en production
    Commentaire de validation Heure de création Carte de projet mise à jour à Auteur de la mise en production
    Chemin d’accès du commentaire de validation Colonne de projet créée à Corps de la mise en production
    Commentaire de validation Heure de mise à jour Nom de la colonne de projet Version créée à
    Valider l’utilisateur de commentaire Nom précédent de colonne de projet Brouillon de mise en production
    Forcer la transmission Push Colonne de projet mise à jour à Nom de mise en production
    URL de l’instance GitHub Projet créé à Version publiée le
    Problème affecté à Nom du projet Nom de la balise de mise en production
    Destinataires des problèmes Corps précédent du projet Validations des cibles de mise en production
    Corps du problème Nom précédent du projet Référentiel archivé
    Problème fermé à État du projet Référentiel créé à
    Commentaire sur le problème Projet mis à jour à Description du référentiel
    Nombre de commentaires sur le problème Demande d’extraction affectée à Référentiel inactif
    Commentaire sur le problème Heure de création Destinataires de la demande d’extraction Nom complet du référentiel
    Commentaire sur le problème Heure de mise à jour Corps de la demande d’extraction Le référentiel a des problèmes
    Problème créé à Demande d’extraction fermée à Le référentiel a des projets
    Problème étiqueté vers Nombre de commentaires sur la demande d’extraction État d’importation du référentiel
    Étiquettes des problèmes Demande d’extraction créée à Licence du référentiel
    Problème verrouillé Brouillon de demande d’extraction Nombre de problèmes ouverts dans le référentiel
    Jalon du problème Demande d’extraction étiquetée vers Propriétaire du référentiel
    Problème : corps précédent Étiquettes des demandes d’extraction Référentiel privé
    Problème : commentaire précédent Demande d’extraction verrouillée Référentiel transmis par push à
    Jalon précédent du problème Demande d’extraction fusionnable Référentiel marqué d’une étoile à
    Problème : titre précédent Demande d’extraction fusionnée Référentiel mis à jour à
    Problème précédemment affecté à Demande d’extraction fusionnée à Plage affectée d’alerte de vulnérabilité du référentiel
    Problème précédemment étiqueté vers Jalon de la demande d’extraction Identificateur externe d’alerte de vulnérabilité du référentiel
    État d’émission Corps précédent de la demande d’extraction Alerte de vulnérabilité du référentiel corrigée dans
    Titre du problème Demande d’extraction Titre précédent Alerte de vulnérabilité du référentiel Nom de package
    Problème mis à jour à Demande d’extraction précédemment affectée à Description de l’avis de sécurité
    Utilisateur problématique Demande d’extraction précédemment étiquetée vers ID consultatif de sécurité
    Jalon fermé à Demande d’extraction rebasable Avis de sécurité publié le
    Jalon créé à Corps de la revue de la demande d’extraction Gravité de l’avis de sécurité
    Créateur de jalon Commentaire sur l’examen de la demande d’extraction Résumé de l’avis de sécurité
    Description du jalon Examen de la demande d’extraction Nombre de commentaires Avis de sécurité mis à jour à
    Jalon à échéance le Commentaire sur l’examen de la demande d’extraction Heure de création Avis de sécurité retiré à
    État du jalon Commentaire d’examen de la demande d’extraction Chemin d’accès au fichier Connexion de l’expéditeur
    Titre du jalon Demande d’extraction Commentaire d’examen Commentaire précédent Message de validation d’état
    Jalon mis à jour à Commentaire d’examen de la demande d’extraction Heure de mise à jour Contexte de l’état
    Description de l'organisation Examen de la demande d’extraction Corps précédent État créé à
    Connexion de l’organisation État de révision de la demande d’extraction Description de l'état
    Version préliminaire État de la demande d’extraction Nom du statut
    Corps du projet Titre de la demande d’extraction État de l’état
    Carte de projet archivée Demande d’extraction mise à jour à État mis à jour à
    Carte de projet Heure de création Utilisateur de la demande d’extraction Événement de webhook

    Pour utiliser d’autres conditions dans la politique d’acheminement, créez une politique d’acheminement dans le module Politiques d’acheminement GitHub WebHook et spécifiez les conditions en fonction de vos besoins. Consultez la rubrique Configurer un webhook bidirectionnel pour le spoke GitHub pour en savoir plus sur l’installation et la configuration des webhooks.

    Déclencheurs de spoke

    ServiceNow prend en charge des événements spécifiques qui GitHub créent des déclencheurs. Vous devez d’abord configurer un flux avec une définition de déclencheur prise en charge. Lorsqu’un événement, par exemple une demande push, se produit sur le GitHub, il envoie la charge utile à l’instance ServiceNow via un webhook. Ensuite, le flux que vous avez configuré est déclenché au niveau de l’instance ServiceNow pour automatiser un workflow. Les événements pris en charge sont les suivants :

    Catégorie Déclencheur Description
    Gestion des succursales Branche créée Le flux est déclenché lorsque vous créez une branche sur GitHub.
    Gestion des référentiels Demande d’extraction ouverte Le flux est déclenché lorsque vous lancez une nouvelle demande de tirage sur GitHub.
    Demande d’extraction modifiée Le flux est déclenché lorsque vous mettez à jour une demande de tirage sur GitHub.
    Demande d’extraction fermée Le flux est déclenché lorsque vous fermez une demande de tirage le GitHub.
    Demande d’extraction affectée Le flux est déclenché lorsque vous affectez une demande de tirage à un utilisateur sur GitHub.
    Demande d’extraction rouverte Le flux est déclenché lorsque vous rouvrez une demande de tirage sur GitHub.
    Fork du référentiel Le flux est déclenché lorsque vous dupliquez un référentiel sur GitHub.
    Transmission de référentiel par push Le flux est déclenché lorsque vous effectuez une opération push vers un référentiel sur GitHub.
    Gestion des mises en production Mise en production créée Le flux est déclenché lorsque les détails d’une mise en production sont créés le GitHub.
    Version modifiée Le flux est déclenché lorsque les détails d’une mise en production sont mis à jour le GitHub.
    Mise en production supprimée Le flux est déclenché lorsqu’une mise en production est supprimée le GitHub.
    Mise en production Mise en production Le flux est déclenché lorsqu’une mise en production est mise en production le GitHub.

    Pour en savoir plus sur la configuration des déclencheurs du spoke, reportez-vous à la GitHub section Activer la définition du déclencheur sur ServiceNow l’instance. Pour en savoir plus sur l’intégration entrante, reportez-vous à la section Intégration entrante conditionnelle et pilotée par les événements.

    Flux secondaires du spoke

    Fournit GitHubSpoke un exemple de flux secondaire pour gérer divers GitHub événements webhook. Les exemples de flux secondaires disponibles sont les suivants :
    Tableau 1. Flux secondaires du spoke
    Flux secondaire Description Événement pris en charge GitHub
    Traiter les événements de webhook de branche et de balise GitHub Gère les événements de webhook de branche et de balise. Branche et balise
    Traiter les événements de webhook de validation GitHub Gère les événements de webhook de validation. Valider
    Traiter les événements de webhook de problème GitHub Gère les événements de webhook du problème. Problème
    Traiter les événements de webhook de jalon GitHub Gère les événements de webhook de jalons. Jalon
    Traiter les événements de webhook du projet GitHub Gère les événements de webhook du projet. Projet
    Traiter les événements de webhook de demande d’extraction GitHub Gère les événements de webhook de demande d’extraction. Demande d'extraction
    Traiter les événements de webhook push GitHub Gère les événements de webhook de demande push. Demande de transmission
    Traiter les événements de webhook de la version GitHub Gère les événements de webhook de mise en production. Version
    Traiter les événements de webhook du référentiel GitHub Gère les événements de webhook du référentiel. Référentiel
    Traiter les événements de webhook de sécurité GitHub Gère les événements de webhook de sécurité. Sécurité
    Traiter les événements de webhook GitHub Gère tous les GitHub événements webhook.
    Remarque :
    Ce flux secondaire gère tous les GitHub événements. Vous pouvez personnaliser ce flux secondaire pour gérer d’autres événements webhook GitHub qui ne sont pas pris en charge par défaut.

    Pour créer des flux secondaires afin de gérer d’autres événements de GitHub webhook ou de gérer différemment les événements de webhook pris en charge GitHub , personnalisez le flux secondaire Traiter les événements de webhook GitHub. Pour cela, vous devez créer une copie du flux secondaire, analyser la charge utile et personnaliser le flux secondaire en fonction de vos besoins. La charge utile est l’une des entrées du flux secondaire.

    Lors de la personnalisation des flux secondaires, vous devez vérifier que les flux secondaires sont configurés pour éviter les boucles infinies.

    Remarque :
    • Vous devez configurer les webhooks pour utiliser le flux secondaire du spoke. Consultez la rubrique Configurer un webhook bidirectionnel pour le spoke GitHub pour en savoir plus sur l’installation et la configuration du webhook.
    • Les exemples de flux secondaires s’exécutent en tant qu’utilisateur par défaut. Il peut être configuré pour fonctionner en tant que système.
    • GitHubSpoke Prend en charge la charge utile de l’application/JSON. Configurez le GitHub webhook en conséquence. Voir le GitHub Développeur documentation pour des instructions sur la création et la configuration d’un webhook.

    Actions du spoke

    Il GitHubSpoke fournit des actions pour gérer les branches, les problèmes, les référentiels et le code source lorsque des événements se produisent dans ServiceNow. Les actions disponibles sont les suivantes :

    Catégorie Action Description
    Gestion des succursales Créer une branche Crée une branche en fonction d’un SHA GitHub de validation spécifique.
    Supprimer une branche Supprime une branche du GitHub référentiel.
    Obtenir une branche Récupère les détails d’une branche dans le GitHub référentiel.
    Obtenir la protection des succursales Récupère les détails de la restriction de la branche requise.
    Répertorier les branches Récupère la liste de toutes les branches dans un référentiel.
    Supprimer la protection des branches Supprime la protection sur la branche requise.
    Mettre à jour la protection de branche Met à jour la protection sur la branche requise.
    Gestion des problèmes Créer un commentaire sur le problème Crée un commentaire sur un problème requis.
    Créer un problème Crée un problème pour le référentiel requis.
    Supprimer un commentaire sur le problème Supprime un commentaire sur une question requise.
    Problème de verrouillage Verrouille le problème requis. Cela limite la conversation aux collaborateurs uniquement.
    Rechercher des commentaires sur le problème Récupère la liste des commentaires sur un problème.
    Rechercher les problèmes Récupère la liste des problèmes pour un référentiel.
    Déverrouiller le problème Débloque le problème requis. Cela ouvre la conversation à tous les utilisateurs.
    Mettre à jour un commentaire sur le problème Met à jour un commentaire sur un problème.
    Mettre à jour le problème Met à jour les détails du problème requis.
    Récupération des métadonnées Rechercher des champs par action Récupère la liste des champs d’un filtre d’action dans la GitHub table Champs.
    Rechercher les métadonnées des branches Récupère les métadonnées des branches.
    Rechercher les métadonnées des problèmes Récupère les métadonnées des problèmes.
    Rechercher des métadonnées de jalons Récupère les métadonnées des jalons.
    Rechercher les métadonnées des demandes d’extraction Récupère les métadonnées des demandes d’extraction.
    Gestion des organisations Obtenir le plan d’organisation Récupère le nom du plan d’une organisation.
    Liste des membres de l’organisation Récupère la liste de tous les membres d’une organisation.
    Répertorier les référentiels de l’organisation Récupère la liste de tous les référentiels au sein d’une organisation.
    Supprimer un membre de l’organisation Supprime un utilisateur d’une organisation.
    Rechercher le flux d’événements de l’organisation Récupère la liste des événements dans une organisation en fonction de la date de rétrospective fournie.
    Rechercher le flux de collaborateurs extérieurs de l’organisation Récupère la liste de tous les collaborateurs externes au sein d’une organisation.
    Supprimer le collaborateur externe de l’organisation Supprime un collaborateur externe d’une organisation.
    Rechercher le flux de collaborateurs externes en attente de l’organisation Récupère une liste de collaborateurs en attente dans un référentiel.
    Rechercher le flux d’invitations de l’organisation Récupère une liste d’invitations au sein d’une organisation.
    Gestion des référentiels Ajouter un collaborateur Ajoute un collaborateur au référentiel requis.
    Créer un commentaire sur la demande d’extraction Créez des commentaires de révision sur une demande de tirage.
    Créer un jalon Crée un jalon pour le référentiel requis.
    Créer une demande d’extraction Crée une demande d’extraction pour un référentiel.
    Créer une réponse à la demande d’extraction Commentaire d’examen Crée une réponse à un commentaire de révision pour une demande de tirage.
    Créer un référentiel Crée un référentiel dans GitHub.
    Supprimer un commentaire sur la demande d’extraction Supprime le commentaire de révision sur une demande de tirage.
    Supprimer le jalon Supprime le jalon du référentiel requis.
    Répertorier les commentaires sur la demande d’extraction Récupère la liste de tous les commentaires de révision sur une demande d’extraction.
    Répertorier les jalons Récupère la liste de tous les jalons dans un référentiel.
    Répertorier les événements du référentiel Récupère la liste des événements dans un référentiel.
    Rechercher des demandes d’extraction Récupère les détails des demandes d’extraction pour un référentiel.
    Rechercher des référentiels Récupère les détails des référentiels en fonction d’un utilisateur ou d’une organisation spécifique.
    Fusionner la demande d’extraction Fusionne la demande d’extraction dans un référentiel.
    Retirer un collaborateur Supprime un collaborateur d’un référentiel.
    Mettre à jour un commentaire sur la demande d’extraction Met à jour les commentaires de révision fournis pour une demande de tirage.
    Mettre à jour le jalon Met à jour les détails d’un jalon dans un référentiel.
    Mettre à jour la demande d’extraction Met à jour les détails d’une demande d’extraction dans un référentiel.
    Mettre à jour le référentiel Met à jour les détails d’un référentiel dans GitHub.
    Gestion du code source Créer un commentaire lors de la validation Crée un commentaire pour la validation requise à l’aide de son SHA.
    Créer ou mettre à jour un fichier Crée un fichier ou met à jour un fichier existant dans un référentiel.
    Obtenir des commentaires par ID de validation Récupère les commentaires fournis pour une validation unique.
    Obtenir des informations sur la validation par ID Récupère le contenu de la référence de validation requise.
    Obtenir le contenu du fichier Récupère le contenu d’un fichier dans un référentiel.
    Remarque :
    Cette action prend en charge les fichiers d’une taille maximale de 1 Mo.
    Répertorier les validations sur un référentiel Récupère les détails de toutes les validations effectuées sur un référentiel.
    Gestion des utilisateurs Obtenir tous les utilisateurs pour le serveur Enterprise Récupère la liste de tous les utilisateurs de Serveur GitHub Enterprise.
    Répertorier les organisations pour l’utilisateur authentifié Récupère la liste des organisations dont l’utilisateur connecté est membre.
    Suspendre un utilisateur Suspend un GitHub compte utilisateur.
    Rechercher un utilisateur authentifié Récupère les informations sur l’utilisateur authentifié.

    Modules de spokes

    Le GitHub spoke ajoute ces modules à votre ServiceNow instance.
    Module Description
    GitHub Propriétaire Affiche les enregistrements de GitHub propriétaire que vous avez créés.
    GitHub Dépôts Affiche les détails des GitHub référentiels associés aux GitHub propriétaires.

    Exigences en matière d'alias de connexion et d'informations d'identification

    Hub d'intégration utilise des alias pour gérer les informations de connexion et d’identification, ainsi que les informations d’identification OAuth. L'utilisation d'un alias élimine la nécessité de configurer plusieurs informations d'identification et profils d'informations de connexion lors de l'utilisation d'environnements multiples. Si les informations de connexion ou d'identification changent, il n'est pas nécessaire de mettre à jour les actions qui utilisent la connexion.

    Pour en savoir plus sur la configuration du spoke, consultez Configurer le GitHub spoke.