Actions personnalisées ServiceNow DevOps à partir de GitHub Marketplace

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 8 minutes de lecture
  • Utilisez les actions personnalisées de la place de marché pour collecter des données d’analyse SonarQube, des données de sécurité, mettre en pause ou reprendre le GitHub workflow, ou reprendre le workflow jusqu’à ce qu’une demande de changement soit approuvée ou rejetée dans votre instance, ou obtenir et mettre à jour les détails de la demande de changement, etc.

    Vous pouvez également utiliser des images de conteneur Docker pour implémenter des actions personnalisées pour GitHub Actions les pipelines. Pour plus d'informations, consultez Implémenter des actions personnalisées pour les pipelines utilisant une image de conteneur Docker générique.

    Action personnalisée ServiceNow DevOps SonarQube

    Enregistrez les résultats de l’analyse SonarQube d’un projet initié par le workflow exécuté dans votre ServiceNow instance. Vous devez créer l’outil SonarQube dans votre instance et utiliser l’action ServiceNow DevOps personnalisée SonarQube au niveau des étapes d’une tâche dans le workflow.

    Visualisez les résultats de l’analyse SonarQube à l’aide de l’une des méthodes suivantes :
    • Accédez à la DevOps > Résultats de qualité logicielle > Résumé de la qualité logicielle.
    • Accédez à la DevOps > Orchestrer > Exécution de tâches et la sélection d’un enregistrement d’exécution de tâche pertinent.
    Effectuez les tâches suivantes pour utiliser l’action personnalisée.
    • Créez un outil SonarQube dans votre instance.

      Générer un jeton à partir de Utilisateur > Mon compte > Sécurité dans votre outil SonarQube et créez un outil dans l’instance à l’aide ServiceNow du jeton généré. Pour plus d'informations, consultez Intégrer SonarQube à : espace de Vélocité de changement DevOps travail et Intégrer SonarQube à Vélocité de changement DevOps — Classique.

    • Créez les secrets suivants pour enregistrer les résultats de l’analyse SonarQube dans l’instance ServiceNow .
      • SONAR_HOST_URL : URL de l’instance SonarQube. Par exemple, https://sonarcloud.io
      • SONAR_PROJECT_KEY : La clé pour identifier un projet dans l’instance SonarQube. Par exemple, org.examples :demo
    • Configurez l’action ServiceNow DevOps personnalisée SonarQube dans le workflow.

      L’action personnalisée servicenow-devops-sonar doit être configurée au niveau des étapes de la tâche dans le workflow avec le mot clé uses . Les entrées de cette action personnalisée ne doivent pas être altérées pour enregistrer les résultats de l’analyse SonarQube dans l’instance ServiceNow . Pour plus d’informations, consultez ServiceNow DevOps Sonar.

    Action personnalisée du rapport de test ServiceNow DevOps

    Enregistrez les résultats des tests unitaires du projet initié par le workflow exécuté dans votre ServiceNow instance. L’action ServiceNow DevOps personnalisée Rapport de test doit être utilisée au niveau des étapes de la tâche dans le workflow.

    Affichez les résultats des tests unitaires enregistrés dans votre ServiceNow instance en accédant à DevOps > Résultats des tests > Résumés de tests.

    Vous pouvez également afficher en accédant à DevOps > Orchestrer > Exécution de tâches et en cliquant sur un enregistrement d’exécution de tâche pertinent.

    Effectuez les tâches suivantes pour utiliser l’action personnalisée.
    • Créez des secrets dans le GitHub référentiel.
    • Configurez l’action personnalisée Rapport de DevOps test dans le workflow.

      L’action personnalisée servicenow-devops-test-report doit être configurée au niveau des étapes de la tâche dans le workflow avec le mot clé uses . Les entrées de cette action personnalisée ne doivent pas être altérées pour enregistrer les résultats des tests unitaires dans votre ServiceNow instance. Pour plus d’informations, consultez Rapport de test DevOps ServiceNow.

    ServiceNow DevOps : enregistrer l’action personnalisée d’artefact

    Enregistrez les artefacts créés ou déployés par le workflow exécuté dans votre ServiceNow instance. Utilisez l’action personnalisée Enregistrer l’artefact ServiceNow DevOps au niveau des étapes de la tâche dans le workflow.

    Affichez les détails des artefacts enregistrés dans votre instance en accédant à DevOps > Artifact > Artifacts.

    Effectuez les tâches suivantes pour utiliser l’action personnalisée :
    • Créez des secrets dans le GitHub référentiel.
    • Configurez ServiceNow DevOps l’action personnalisée Enregistrer l’artefact dans le workflow.

      L’action personnalisée servicenow-devops-register-artifact doit être configurée au niveau des étapes de la tâche dans le workflow avec le mot clé uses . Les entrées de cette action personnalisée ne doivent pas être altérées pour enregistrer les détails de l’artefact dans votre instance. Pour plus d’informations, consultez Artefacts d’enregistrement ServiceNow DevOps.

    Action personnalisée d’enregistrement du package ServiceNow DevOps

    Enregistrez les packages créés ou déployés par le workflow exécuté dans l’instance ServiceNow . Utilisez l’action personnalisée Enregistrer le ServiceNow package DevOps au niveau des étapes de la tâche dans le workflow.

    Affichez les détails du package enregistrés dans l’instance ServiceNow en accédant à DevOps > Artifact > Packages.

    Effectuez les tâches suivantes pour utiliser l’action personnalisée.
    • Créez des secrets dans le GitHub référentiel.
    • Configurez ServiceNow DevOps l’action personnalisée Enregistrer l’artefact dans le workflow.

      L’action personnalisée servicenow-devops-register-package doit être configurée au niveau des étapes de la tâche dans le workflow avec utilise le mot clé. Les entrées de cette action personnalisée ne doivent pas être altérées pour enregistrer les détails de l’artefact dans votre instance. Pour plus d’informations, consultez Package d’enregistrement ServiceNow DevOps.

    Action personnalisée ServiceNow DevOps Change Automation

    Créez une demande de changement dans l’instance ServiceNow pour interrompre et reprendre l’exécution du workflow à partir de l’instance ServiceNow .

    Utilisez l’action personnalisée Automatisation des ServiceNow DevOps changements au niveau des étapes de la tâche dans le workflow. Si le changement n’est pas créé dans le délai spécifié dans le seuil (changeCreationTimeOut) et que le paramètre abortOnChangeCreationFailure est activé, le pipeline sera abandonné.

    Cette action personnalisée crée une demande de changement dans ServiceNow, active l’option Contrôle des changements et interroge l’instance à l’intervalle de temps défini pour connaître l’état ServiceNow du changement, jusqu’à ce que le changement soit approuvé ou rejeté, ou jusqu’à ce que le seuil de délai d’expiration (délai d’expiration) soit atteint. GitHub Abandonne l’exécution du workflow si le seuil de délai est atteint et que le paramètre abortOnChangeStepTimeout est activé. Console d’actions GitHub : délai d’expiration de l’étape de changement

    Cette action personnalisée reprend immédiatement l’exécution du workflow lorsque la réception du changement est activée pour le pipeline sans ServiceNow attendre que le changement soit approuvé ou rejeté dans l’instance ServiceNow .

    Affichez le changement créé pour le workflow exécuté dans l’instance ServiceNow en accédant à DevOps > Orchestrer > Demandes de changement de pipeline.

    Le numéro de changement avec l’état pending_decision s’affiche dans la console Actions lors de l’interrogation GitHub de l’instance pour connaître l’état ServiceNow du changement. Les détails tels que les commentaires sur le changement, l’approbation par, l’approbation le et l’état sont consignés dans GitHub la console Actions une fois que le changement a été approuvé, rejeté ou annulé par l’utilisateur dans l’instance ServiceNow . Console GitHub Actions : changement approuvé

    Vous pouvez accéder aux journaux de la console dans votre pipeline pour afficher l’état d’une demande de changement Lorsqu’une demande de changement est créée, les détails du changement s’affichent selon l’intervalle de temps d’interrogation. Les conditions de politique associées à l’état de la demande de changement seront également évaluées et affichées dans les journaux. Par exemple, si la politique d’automatisation avancée de la demande de changement DevOps est activée, les conditions de la politique seront évaluées et la décision correspondante (approbation automatique/rejet automatique/approbation manuelle) s’affichera dans les journaux.

    Les détails suivants de la demande de changement s’affichent :
    • Numéro
    • Détails
    • statut
    • sys_id
    • type
    • risk
    • Priorité
    • changeState
    • plannedStartDate
    • Date de fin planifiée
    • changeRequestURL

    Changer l’état dans les journaux de console de pipeline GitHub

    Remarque :
    changeState est l’état de la demande de changement et l’état est l’état de l’exécution de l’étape.
    Les journaux des conditions de politique s’afficheront pour les flux de changement du système de base comme suit :
    • Politique de changement de modèle DevOps : seuls les journaux sont affichés lors de la création du changement et lorsque l’état du changement est mis à jour.
    • Politique d’automatisation minimale de demande de changement DevOps : les journaux ainsi que les décisions de changement et les conditions de politique correspondant à la décision de changement seront affichés.
    • Politique d’automatisation avancée de demande de changement DevOps : les journaux ainsi que les décisions de changement et les conditions de politique correspondant à la décision de changement seront affichés.
    Les entrées de politique de changement et les conditions de décision sont stockées dans la table Décisions [sys_decision_question]. Les journaux s’affichent si les champs et les opérateurs suivants sont utilisés comme entrée pour les conditions de politique :
    Champs
    • code_coverage
    • commits_without_work_item
    • integration_tests_failed
    • load_tests_failed
    • regression_tests_failed
    • num_of_outages_in_last_7_days
    • num_of_current_outages
    • num_of_open_incidents
    • total_num_of_commits
    • tests_passing_percent
    • risk
    • code_security
    • validations
    Opérateurs
    • <=
    • >=
    • !=
    • =
    • <
    • >
    • ISNOTEMPTY
    • ISEMPTY
    • ENTRE
    • RIEN
    • NSAMEAS
    • SAMEAS
    • GT_FIELD
    • LT_FIELD
    Remarque :
    Si un champ est modifié dans une politique de changement autre que les champs du système de base, ces champs doivent être ajoutés manuellement au flux pour que les conditions de la politique soient évaluées.
    Effectuez les tâches suivantes pour utiliser l’action personnalisée.
    • Créez des secrets dans le GitHub référentiel.
    • Configurez ServiceNow DevOps l’action personnalisée d’automatisation des changements dans le workflow.

      L’action personnalisée servicenow-devops-change doit être configurée au niveau des étapes de la tâche dans le workflow avec utilise le mot clé. Les entrées de cette action personnalisée ne doivent pas être altérées pour créer un changement dans votre instance et interroger l’état du changement toutes les secondes. Pour plus d’informations, consultez Automatisation des changements ServiceNow DevOps.

    ServiceNow DevOps : obtenir un changement Action GitHub

    Récupérez le numéro de la demande de changement dans un pipeline GitHub Actions en fonction des détails d’un changement spécifique.

    L’action personnalisée ServiceNow DevOps Obtenir un changement Action GitHub doit être ajoutée au niveau de l’étape d’une tâche de pipeline pour récupérer le numéro de demande de changement à partir d’une instance ServiceNow en spécifiant les détails du changement.

    ServiceNow DevOps : mettre à jour le changement Action GitHub

    Mettez à jour les détails de la demande de changement associés à un pipeline GitHub Actions.

    L’action personnalisée Action GitHub de changement de mise à jour de ServiceNow DevOps doit être ajoutée au niveau de l’étape d’un travail de pipeline pour mettre à jour la demande de changement dans une instance ServiceNow. Le numéro de la demande de changement dont les détails doivent être mis à jour et les détails de la demande de changement à mettre à jour doivent être spécifiés en tant qu’entrée.

    Action des résultats de la sécurité ServiceNow DevOps

    Récupérer les résultats de l’analyse de sécurité dans ServiceNow.

    L’action personnalisée Action des résultats de Security ServiceNow DevOps doit être ajoutée au niveau de l’étape d’une tâche de pipeline pour récupérer les résultats de l’analyse de sécurité dans ServiceNow.