Criando DevOps subfluxos
Para integrações criadas pelo usuário, crie um subfluxo DevOps Workflow Studio para coletar e transformar dados da ferramenta que você está integrando.
ServiceNow Flow Designer é um recurso Now Platform que seu desenvolvedor de integração pode usar para automatizar processos usando uma sequência de ações. As condições do gatilho iniciam o fluxo e as variáveis passam informações entre as ações.
Consulte Flow Designer Subfluxos para obter informações sobre como criar um subfluxo.
Subfluxo da capacidade de notificação
| Item | Valor esperado |
|---|---|
| Entradas | Rótulo: atual Tipo: Referência.Evento de entrada |
Saídas |
N/D |
Transforme a carga original e salve a carga final no campo transform_payload.
- Carga da capacidade de Notificação JSON padrão esperada - Ferramenta de planejamento
- Nota:O atributo de versão na carga JSON é opcional. Mesmo se você não fornecer o atributo de versão, a carga será processada com sucesso.
{ "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" } - Carga da capacidade de Notificação JSON padrão esperada - Ferramenta de codificação
{ "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" } ] }- Carga da capacidade de Notificação JSON padrão esperada - Ferramenta de Orquestração
{ "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" }- Carga da capacidade de Notificação JSON padrão esperada - Ferramenta de teste
- Funcional:
{ "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", }Desempenho:{ "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", } - Carga esperada da capacidade de Notificação JSON padrão - Ferramenta de artefato
- 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 Projeto de estilo livre/Maven:{ "artifacts": [ { "name": "mav1.jar", "version": "1.11", "semanticVersion": "1.11.0", "repositoryName": "mav-repo" } ], "projectName": "maven-test-proj", "taskExecutionNumber": "11" }
Subfluxo da capacidade de conexão
A capacidade Connect é compatível.
| Item | Valor esperado |
|---|---|
| Entradas | Rótulo: atual Tipo: Referência.Ferramenta de DevOps Registro da ferramenta para o qual a ação do botão Conectar é clicada. |
Saídas Consulte as saídas de subfluxo. |
|
- Falha na conexão
- O subfluxo foi executado com sucesso, mas não foi possível estabelecer a conexão.
- Erro: falha ao obter detalhes da falha do fluxo de conexão específico da ferramenta
- Falha na execução do subfluxo por um motivo desconhecido.
- Erro ao atualizar o status de conexão da ferramenta
- Não foi possível atualizar o atributo connection_state por um motivo desconhecido.
Subfluxo de capacidade de descoberta
A capacidade de descoberta é compatível.
| Item | Valor esperado |
|---|---|
| Entradas | Rótulo: atual Tipo: Referência.Ferramenta de DevOps |
Saídas Consulte as saídas de subfluxo. |
Sem paginação: Rótulo: discoverypayload Tipo: matriz de objetos como cadeia de caracteres JSON. (JSON.stringify([{},{}])) Ferramenta de planejamento sem paginação: Ferramenta de codificação sem paginação:
Ferramenta de Orquestração sem paginação:
Com paginação: Rótulo: discoverypayload Tipo: matriz de objetos como cadeia de caracteres JSON. (JSON.stringify([{},{}])) Exemplo de formato JSON:
Ferramenta de planejamento com paginação:
Ferramenta de codificação com paginação:
Ferramenta de Orquestração com paginação: |
| Estado | Mensagem |
|---|---|
| Solicitado | -- |
| Processando | -- |
| Concluído | Atualizado<number> objeto(s) Encontrado<number> objetos com toolId inválido Encontrado<number> falha na validação de objetos |
| Erro |
|
| Em pausa | -- |
| Cancelado | -- |
| Incompatíveis | -- |
Atualizar ação de solicitação de importação Workflow Studio
Você pode usar a ação Atualizar solicitação de importação no subfluxo de descoberta para modificar o estado do registro da solicitação de importação, se desejar.
| Rótulo de entrada | Tipo |
|---|---|
| atual | Referência.Solicitação de importação |
| estado | (Cadeia de caracteres)
|
| detalhes | (Cadeia de caracteres) |