Créer des flux secondaires DevOps
Dans le cadre d'intégrations créées par les utilisateurs, créez un flux secondaire DevOps Studio de workflow pour collecter et transformer les données de l'outil que vous intégrez.
ServiceNow Flow Designer est une fonctionnalité ServiceNow AI Platform que votre développeur d'intégration peut utiliser pour automatiser les processus à l'aide d'une séquence d'actions. Les conditions de déclenchement démarrent le flux et les variables transmettent des informations entre les actions.
Pour en savoir plus sur la création d'un flux secondaire, consultez Flow Designer Flux secondaires.
Flux secondaire de fonctionnalité de notification
| Élément | Valeur attendue |
|---|---|
| Entrées | Libellé : actuel Type : événement Reference.Inbound |
Sorties |
N/A |
Transformez la charge utile d'origine et enregistrez la charge utile finale dans le champ transformed_payload.
- Charge utile attendue de la fonctionnalité de notification JSON standard - Outil de planification
- Remarque :L'attribut de version de la charge utile JSON est facultatif. Même si vous ne fournissez pas l'attribut de version, la charge utile est correctement traitée.
{ "id": "STR1234", "type": "Story", "shortDescription": "Planning API Spec", "state": "In-progress", "createdDateTime": "1970-01-01T08:15:30-05:00", "assignedTo": { "name": "Leo Neo", "userName": "lenn", "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "email": "lenn@smithworksinc.com" }, // The Version attribute is optional "version": { "id": "REL1234", "shortDescription": "APIs Release", "createdDateTime": "1970-01-01T08:15:30-05:00", "app": { "id": "PRODUCT1234", "shortDescription": "Mobile UI", "createdDateTime": "1970-01-01T08:15:30-05:00", "url": "https://jira.com/mycompany/browse/PRODUCT-125" }, "url": "https://jira.com/mycompany/browse/REL-125" }, "app": { "id": "PRODUCT1234", "shortDescription": "Mobile UI", "createdDateTime": "1970-01-01T08:15:30-05:00", "url": "https://jira.com/mycompany/browse/PRODUCT-125" }, "url": "https://jira.com/mycompany/browse/HALOKEY-25" } - Charge utile attendue de la fonctionnalité de notification JSON standard - Outil de codage
{ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "url": "https://github.com/mycompany/mobileplatform/commit/3fa85f6457174562b3fc2c963f66afa6", "committedDate": "1970-01-01T08:15:30-05:00", "repository": { "name": "Platform-Mobile", "url": "https://github.com/mycompany/mobileplatform" }, "branch": { "name": "master", "path": "refs/heads/master" }, "committer": { "email": "lenn@smithworksinc.com" }, "details": [ { "additions": 0, "deletions": 0, "totalChanges": 0, "file": "src/test/java/com/mycompany/app/App.java", "action": "modified", "changes": "%40%40%20-30%2C6%20%2B30%2C18%20%40%40%20public%20void%20testAppConstructor%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%7D%0A%20%0A%2B%20%20%20%20%40Test%0A%2B%20%20%20%20public%20void%20testDatabase%28%29%0A%2B%20%20%20%20%7B%0A%2B%09%2F%2FThis%20is%20a%20test%20function%0A%2B%20%20%20%20%20%20%20%20App.main%28null%29%3B%0A%2B%20%20%20%20%20%20%20%20try%20%7B%0A%2B%20%20%20%20%20%20%20%20%20%20%20%20assertEquals%28%22Hello%20World%21%22%20%2B%20System.getProperty%28%22line.separator%22%29%2C%20outContent.toString%28%29%29%3B%0A%2B%20%20%20%20%20%20%20%20%7D%20catch%20%28AssertionError%20e%29%20%7B%0A%2B%20%20%20%20%20%20%20%20%20%20%20%20fail%28%22%22message%22%20is%20not%20%22Hello%20World%21%22%22%29%3B%0A%2B%20%20%20%20%20%20%20%20%7D%0A%2B%20%20%20%20%7D%0A%2B%0A%20%20%20%20%20%40Test%0A%20%20%20%20%20public%20void%20testAppMain%28%29%0A%20%20%20%20%20%7B" } ] }- Charge utile attendue de la fonctionnalité de notification JSON standard - Outil d'orchestration
{ "toolId": "bc1d9454dbdb0810ae77f3c61d9619d1", "buildNumber": "100", "nativeId": "HILR/Prod #100", "name": "HILR/Prod", "id": "HILR/Prod #100", "url": "https://dev.azure.com/lenn/CorpSite-ADO/_build/results?buildId=100#Prod/", "isMultiBranch": "false", "orchestrationTaskUrl": "https://dev.azure.com/lenn/CorpSite-ADO/_build?name=HILR#Prod", "orchestrationTaskName": "CorpSite-ADO/HILR#Prod", "upstreamTaskUrl": "https://dev.azure.com/lenn/CorpSite-ADO/_build/results?buildId=100#UAT/", "upstreamId": "CorpSite-ADO/HILR#UAT", "result": "building", "startDateTime": "2020-03-20 22:59:27" }- Charge utile attendue de la fonctionnalité de notification JSON standard - Outil de test
- Fonctionnel :
{ "name": "CorpSite-selenium#55", "duration": 78.802, "passedTests": 4, "failedTests": 0, "skippedTests": 0, "blockedTests": 0, "totalTests": 4, "startTime": "2020-06-30T18:12:31Z", "finishTime": "2020-06-30T18:12:31Z", "passingPercent": 100, // Use Artifact OR Package OR Build + Stage + PipelineName Attributes "packages": [{"name": "CorpSite-pkg1"}], "artifacts": [{"name": "CorpSite-artifact", "version": "1.0.0"}], "buildNumber": "55", "stageName": "test", "pipelineName": "CorpSite-selenium", }Performances :{ "name": "Performance Tests", "url": "http://abc.com", "startTime": "2020-06-30T18:12:31Z", "finishTime": "2020-06-30T18:12:31Z", "duration": 78.802, "maximumVirtualUsers": "", "throughput": "", "maximumTime": "", "minimumTime": "", "averageTime": "", "ninetyPercent": "", "standardDeviation": "", // Use Artifact OR Package OR Build + Stage + PipelineName Attributes "packages": [{"name": "CorpSite-pkg1"}], "artifacts": [{"name": "CorpSite-artifact", "version": "1.0.0"}], "buildNumber": "55", "stageName": "test", "pipelineName": "CorpSite-Performance", } - Charge utile attendue de la fonctionnalité de notification JSON standard - Outil d'artefact
- Pipelines :
{ "artifacts": [ { "name": "acm.jar", "version": "1.82", "semanticVersion": "1.82.0", "repositoryName": "acm-repo" } ], "pipelineName": "testMultiBranch/master", "taskExecutionNumber": "82", "stageName": "buildmbmaster", "branchName": "master" }Jenkins Projet Freestyle/Maven :{ "artifacts": [ { "name": "mav1.jar", "version": "1.11", "semanticVersion": "1.11.0", "repositoryName": "mav-repo" } ], "projectName": "maven-test-proj", "taskExecutionNumber": "11" }
Flux secondaire de la fonctionnalité de connexion
La fonctionnalité de connexion est prise en charge.
| Élément | Valeur attendue |
|---|---|
| Entrées | Libellé : actuel Type : outil Reference.DevOps Enregistrement d'outil pour lequel l'action du bouton Connecter est sélectionnée. |
Sorties Consultez sorties de flux secondaire. |
|
- Échec de la connexion
- Le flux secondaire a été exécuté, mais la connexion n'a pas pu être établie.
- Erreur : Échec de l'obtention des détails de l'erreur à partir du flux de connexion propre à l'outil
- L'exécution du flux secondaire a échoué pour une raison inconnue.
- Erreur de mise à jour de l'état de connexion de l'outil.
- L'attribut connection_state n'a pas pu être mis à jour pour une raison inconnue.
Flux secondaire de la fonctionnalité de détection
La fonctionnalité de détection est prise en charge.
| Élément | Valeur attendue |
|---|---|
| Entrées | Libellé : actuel Type : outil Reference.DevOps |
Sorties Consultez sorties de flux secondaire. |
Sans pagination : Libellé : discoverpayload Type : tableau d'objets sous forme de chaîne JSON. (JSON.stringify([{},{}])) Outil de planification sans pagination : Outil de codage sans pagination :
Outil d'orchestration sans pagination :
Avec pagination : Libellé : discoverpayload Type : tableau d'objets sous forme de chaîne JSON. (JSON.stringify([{},{}])) Exemple de format JSON :
Outil de planification avec pagination :
Outil de codage avec pagination :
Outil d'orchestration avec pagination : |
| État | Message |
|---|---|
| Demandé | :: |
| Traitement | :: |
| Terminé | <number> objet(s) mis à jour <number> objets trouvés ayant un toolId non valide <number> objets trouvés dont la validation a échoué |
| Erreur |
|
| En pause | :: |
| Annulé | :: |
| Sans correspondance | :: |
Action Studio de workflow Mettre à jour la demande d'importation
Vous pouvez utiliser l'action Mettre à jour la demande d'importation dans votre flux secondaire de détection pour modifier l'état de l'enregistrement de la demande d'importation, si vous le souhaitez.
| Étiquette d'entrée | Type |
|---|---|
| current | Demande Reference.Import |
| État | (Chaîne)
|
| Détails | (Chaîne) |