Intégrations créées par les utilisateurs dans Changements de vélocité DevOps

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 7 minutes de lecture
  • Les intégrations créées par les utilisateurs permettent d’intégrer des outils de planification, de codage et de test supplémentaires qui ne sont pas disponibles par défaut dans l’application Changements de vélocité DevOps .

    L’application Changements de vélocité DevOps inclut des définitions d’outils pour l’intégration de certains outils courants de planification, de codage et DevOps Intégration d’outils de test, mais vous pouvez également configurer des intégrations créées par l’utilisateur pour des outils supplémentaires dans votre environnement DevOps.

    Objets d’intégration

    DevOps L’intégration d’outils se compose de ces objets.

    DevOpsToolIntegrationsImage

    Actions d’aptitude de l’outil

    • Action de connexion :

      Lors de la connexion, le flux secondaire de l’outil spécifique est appelé et l’état de connexion est mis à jour. Le message d’état de connexion est affiché sur le formulaire.

      Reportez-vous à la rubrique Connecter le flux secondaire d’aptitude pour en savoir plus.

    • Découvrir l’action :

      Lors de la détection, un enregistrement de demande d’importation est créé et le flux secondaire de l’outil spécifique est appelé (tel que défini dans l’enregistrement d’aptitude d’intégration). Les champs Détail et État de l’enregistrement de demande d’importation sont mis à jour avec le nombre d’éléments détectés, mis à jour et échoués.

      La charge utile transformée se compose d’un tableau d’objets sous forme de chaîne JSON. Les éléments varient en fonction du type d’outil.

      Reportez-vous à la rubrique Détecter le flux secondaire d’aptitude pour en savoir plus.

    • Action d’importation :

      L’action d’importation ne prend pas en charge la fonctionnalité d’importation historique.

    • Action de recherche :

      Le flux principal de recherche est fourni pour prendre en charge le type d’outil d’artefact dans un flux secondaire créé par votre développeur d’intégration.

    • Action de notification (webhook) :

      L’outil source est configuré manuellement (par votre développeur d’intégration) pour envoyer des données brutes à l’instance ServiceNow . La charge utile brute est ensuite transformée en objet JSON standard à l’aide d’un flux secondaire.

      Pour en savoir plus, consultez le Flux secondaire d’aptitude de notification point de terminaison et le point de terminaison DevOps : POST /devops/tool/{capability} de l’API DevOps .

      Remarque :
      Si un flux secondaire n’est pas spécifié, la gestion des notifications se produit par défaut (la charge utile d’origine est automatiquement copiée dans la charge utile transformée).

      Ce comportement est utile lorsque les données transactionnelles de l’outil sont prises en charge par ServiceNow DevOps telles quelles.

      Consultez les charges utiles standard attendues dans le Flux secondaire d’aptitude de notification pour plus de détails.

    DevOps Vue d’ensemble de la configuration de l’intégration

    La configuration de l’intégration de l’outil peut être effectuée par votre développeur d’intégration et votre DevOps administrateur.

    Développeur d’intégration
    • Créez un enregistrement d’intégration d’outils pour définir l’outil que DevOps vous intégrez (outil source).
    • Créez un Studio de workflow flux secondaire pour collecter et transformer les données de l’outil que vous intégrez (outil source).
    • Créez un enregistrement de mappage des options de l’outil dans DevOps pour mapper l’enregistrement d’intégration de l’outil à l’aptitude du type d’outil.
      Remarque :
      La fonctionnalité Notifications (webhook) est prise en charge. Les options Connect et Discover sont également prises en charge.
    • Créez un enregistrement d’aptitude d’intégration dans DevOps pour spécifier l’action relative à l’aptitude du type d’outil.
    DevOps administrateur
    • Créez un enregistrement d’outil (de planification, de codage ou de test) pour DevOps vous connecter à l’outil que vous intégrez (outil source).
      Remarque :
      L’enregistrement d’intégration de l’outil doit être spécifié dans le champ Outil de l’enregistrement d’outil.
    • Configurez l’outil source avec le webhook et les informations d’identification.

    Événements entrants

    Un événement entrant sert d’aire de transit pour le flux de notifications qui prend en charge le retraitement des charges utiles ayant échoué. Cela signifie qu’un enregistrement présentant un état d’erreur suite à un échec d’intégration ou de transformation peut être réessayé.

    Si un enregistrement d’événement entrant est dans l’état Erreur , le flux n’a pas pu insérer l’enregistrement dans les tables principales DevOps .

    Les erreurs courantes peuvent être résolues par ces actions.

    Tableau 1. États d’erreur de l’événement entrant
    Erreur Action
    Champs obligatoires manquants

    La charge utile transformée ne correspond pas à la charge utile standard.

    Reportez-vous aux charges utiles standard et JSON fournies.

    Référentiel non marqué pour le suivi

    La validation ne peut pas être insérée.

    L’administrateur DevOps doit suivre le référentiel.

    [Flux secondaire] n’a pas été publié dans le périmètre de l’application [app_scope] Le flux secondaire est créé, mais pas encore publié.
    Exception de délai d’expiration

    Le flux secondaire prend plus de temps que la valeur définie dans la propriété : com.glide.hub.flow_api.default_execution_time

    Pour plus d’informations, consultez FlowAPI : executeSubflowQuick(nom de chaîne, entrées de carte, délai d’expiration du numéro).

    Remarque :
    L’exécution du flux secondaire dépasse la valeur définie dans le champ Délai d’expiration de l’enregistrement d’aptitude d’intégration.
    Flux secondaire correspondant introuvable pour l’aptitude de notification et l’intégration de l’outil [tool_integration_sys_id]

    Le flux n’a pas pu trouver le flux secondaire correspondant.

    Vérifiez la procédure de configuration de l’intégration.

    La charge utile ne correspond pas à l’aptitude attendue.

    La charge utile d’origine (charge utile envoyée) est d’un type d’aptitude différent de l’aptitude de type outil configurée dans votre mappage d’aptitude de l’outil.

    Le type de charge utile doit correspondre à l’aptitude du type d’outil configurée dans l’intégration de votre outil.

    Remarque :
    Un enregistrement d’événement entrant n’est pas créé lorsque l’une des conditions suivantes se produit :
    • L’outil source n’a pas transmis l’ID de l’outil en tant que paramètre de requête.
    • L’outil source a transmis un ID d’outil, mais il n’y a pas d’ID d’outil correspondant dans l’instance.

    Mappages d’outils

    Un outil peut être mappé à plusieurs options.

    Intégration d'outils Aptitude du type d'outil Mappage des options de l’outil
    • Agile Development 2.0
    • Azure DevOps
    • Bitbucket
    • GitHub
    • GitHub Enterprise
    • GitLab
    • Jenkins
    • Jira
    • Rally
    • Plan
    • Code
    • Orchestration
    • Artifact
    • Test
    Plan
    • Agile Development 2.0 : planifier
    • Azure DevOps -Plan
    • Jira -Plan
    • Rally -Plan
    Code
    • Azure DevOps -Code
    • Bitbucket -Code
    • GitHub -Code
    • GitHub Entreprise : Code
    • GitLab -Code
    Orchestration
    • Azure DevOps -Orchestration
    • Jenkins -Orchestration
    • GitLab -Orchestration
    Test
    • Azure DevOps -Test
    • Jenkins -Test

    Un mappage d’aptitudes d’outils peut être mappé à plusieurs actions.

    Mappage des options de l’outil Action de l'outil Option d'intégration
    • Agile Development 2.0 : planifier
    • Azure DevOps -Plan
    • Azure DevOps -Code
    • Azure DevOps -Orchestration
    • Bitbucket -Code
    • GitHub -Code
    • GitHub Entreprise : Code
    • GitLab -Code
    • GitLab -Orchestration
    • Jenkins -Orchestration
    • Jira -Plan
    • Rally -Plan
    • Connexion
    • Discovery
    • Importer
    • Rechercher
    • Notification
    Agile Development 2.0
    • Agile Development 2.0 - Planifier - Connect
    • Agile Development 2.0 : planifier : découvrir
    • Agile Development 2.0 - Planifier - Importer
    • Agile Development 2.0 - Plan - Notification
    Azure DevOps
    • Azure DevOps - Planifier - Connecter
    • Azure DevOps - Planifier - Découvrir
    • Azure DevOps - Plan - Notification
    • Azure DevOps - Code - Découvrir
    • Azure DevOps - Code - Notification
    • Azure DevOps - Orchestration - Découvrir
    • Azure DevOps - Orchestration - Notification
    Bitbucket
    • Bitbucket - Code - Connexion
    • Bitbucket - Code - Découvrir
    • Bitbucket - Code - Importer
    • Bitbucket - Code - Notification
    GitHub
    • GitHub - Code - Connexion
    • GitHub - Code - Découvrir
    • GitHub - Code - Importer
    • GitHub - Code - Notification
    GitHub Enterprise
    • GitHub - Code - Connexion
    • GitHub - Code - Découvrir
    • GitHub - Code - Importer
    • GitHub - Code - Notification
    GitLab
    • GitLab - Code - Connexion
    • GitLab - Code - Découvrir
    • GitLab - Code - Notification
    • GitLab - Orchestration - Notification
    Jenkins
    • Jenkins - Orchestration - Connexion
    • Jenkins - Orchestration - Découvrir
    • Jenkins - Orchestration : importation
    • Jenkins - Orchestration - Notification
    Jira
    • Jira - Planifier - Connecter
    • Jira - Planifier - Découvrir
    • Jira - Planifier - Importer
    • Jira - Plan - Notification
    Rally
    • Rally - Planifier - Découvrir
    • Rally - Planifier - Importer
    • Rally - Plan - Notification
    • Rally - Planifier - Connecter
    • Rally - Planifier - Valider

    Plusieurs types de tests peuvent être mappés à chaque intégration d’outils.

    Type de test Intégration d'outils Mappage de type de test

    Unité : JUnit, XUnit, NUnit, Test unitaire

    Fonctionnel:
    • Intégration
    • Régression
    • Fumée
    • Système
    • Acceptation de l'utilisateur

    Performances : Chargement

    • Azure DevOps
    • Jenkins
    • GitLab
    • GitHub
    • GitHub Enterprise
    Azure DevOps
    • Azure DevOps - JUnit
    • Azure DevOps Par Nunit
    • Azure DevOps Unité X
    • Azure DevOps Test unitaire
    • Azure DevOps -Intégration
    • Azure DevOps -Régression
    • Azure DevOps -Fumée
    • Azure DevOps -Système
    • Azure DevOps - Acceptation de l’utilisateur
    • Azure DevOps -Charger
    Jenkins
    • Jenkins - JUnit
    • Jenkins -Intégration
    • Jenkins -Régression
    • Jenkins -Fumée
    • Jenkins -Système
    • Jenkins - Acceptation de l’utilisateur
    • Jenkins -Charger
    GitLab
    • GitLab - JUnit
    • GitLab -Intégration
    • GitLab -Régression
    • GitLab -Fumée
    • GitLab -Système
    • GitLab - Acceptation de l’utilisateur
    • GitLab -Charger
    GitHub et GitHub Enterprise
    • GitHub - JUnit
    • GitHub Par Nunit
    • GitHub Unité X
    • GitHub Test unitaire
    • GitHub -Intégration
    • GitHub -Régression
    • GitHub -Fumée
    • GitHub -Système
    • GitHub - Acceptation de l’utilisateur
    • GitHub -Charger