하위 플로우 생성 DevOps

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 15분
  • 사용자가 생성한 통합의 경우 통합하는 도구에서 데이터를 수집하고 변환하는 하위 플로우를 생성합니다 DevOps 워크플로우 스튜디오 .

    ServiceNow Flow Designer 는 통합 개발자가 ServiceNow AI Platform 일련의 작업을 사용하여 프로세스를 자동화하는 데 사용할 수 있는 기능입니다. 트리거 조건이 플로우를 시작하고 변수가 작업 간에 정보를 전달합니다.

    하위 플로우를 생성하는 방법에 대한 자세한 내용은 Flow Designer 하위 플로우를 참조하십시오.

    알림 역량 하위 플로우

    항목 예상 값
    입력

    레이블: current

    유형: 참조.인바운드 이벤트

    출력

    해당 사항 없음

    원래 페이로드를 변환하고 최종 페이로드를 transformed_payload 필드에 저장합니다.

    예상 표준 JSON 알림 역량 페이로드 - 계획 수립 도구
    주:
    JSON 페이로드의 버전 속성은 선택 사항입니다. 버전 속성을 제공하지 않더라도 페이로드는 성공적으로 처리됩니다.
    {
      "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"
    }
    예상 표준 JSON 알림 역량 페이로드 - 코딩 도구
    {
      "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"
        }
      ]
    }
     
    예상 표준 JSON 알림 역량 페이로드 - 오케스트레이션 도구
    {
      "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"
    }
    
    예상 표준 JSON 알림 역량 페이로드 - 테스트 도구
    기능적인:
    { 
    "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", 
    } 
    
    성능:
    { 
    "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", 
    } 
    
    예상 표준 JSON 알림 역량 페이로드 - 아티팩트 도구
    파이프라인:
    {
      "artifacts": [
        {
          "name": "acm.jar",
          "version": "1.82",
          "semanticVersion": "1.82.0",
          "repositoryName": "acm-repo"
        }
      ],
      "pipelineName": "testMultiBranch/master",
      "taskExecutionNumber": "82",
      "stageName": "buildmbmaster",
      "branchName": "master"
    }
    
    Jenkins 자유형/메이븐 프로젝트:
    {
      "artifacts": [
        {
          "name": "mav1.jar",
          "version": "1.11",
          "semanticVersion": "1.11.0",
          "repositoryName": "mav-repo"
        }
      ],
      "projectName": "maven-test-proj",
      "taskExecutionNumber": "11"
    }
    
    그림 1. DevOps 알림 역량 플로우 다이어그램 예시 - 코딩 도구
    DevOps 알림 코딩 도구 플로우

    커넥트 역량 하위 플로우

    커넥트 기능이 지원됩니다.

    항목 예상 값
    입력

    레이블: current

    유형: 참조.DevOps 도구

    연결 버튼 작업을 클릭한 도구 기록입니다.

    출력

    하위 플로우 출력을 참조하십시오.

    • 레이블: 연결됨

      대상 도구에 대한 연결의 성공 또는 실패를 나타내는 플래그(예/아니오)입니다.

    • 레이블: errormessage

      연결 실패 양식에 표시되는 문자열 메시지입니다. 연결에 성공하면 변수는 빈 문자열입니다.

    도구 양식에 DevOps 표시된 연결 오류:
    연결 실패
    하위 플로우가 성공적으로 실행되었지만 연결할 수 없습니다.
    오류: 도구 관련 연결 플로우에서 실패 상세 정보를 가져오지 못함
    알 수 없는 이유로 하위 플로우 실행에 실패했습니다.
    도구 연결 상태 업데이트 중 오류 발생
    알 수 없는 이유로 connection_state 속성을 업데이트할 수 없습니다.
    그림 2. DevOps 커넥트 역량 플로우 다이어그램 예시 - 오케스트레이션 도구
    DevOps 커넥트 오케스트레이션 도구

    역량 검색 하위 플로우

    검색 기능이 지원됩니다.

    항목 예상 값
    입력

    레이블: current

    유형: 참조.DevOps 도구

    출력

    하위 플로우 출력을 참조하십시오.

    페이지 매김 없음:

    레이블: discoverpayload

    유형: JSON 문자열로 객체의 배열입니다.

    (JSON.stringify([{},{}]))

    페이지 매김이 없는 계획 수립 도구:

    [
    {
       "id":"REL1234567",
       "name": "REL NUMBERS",
       "url":"https://jira.com/vult/browse/REL1234567",
       "nativeId": "1790e6cc-085b-4529-9cb8-47f393182226"
    },
    {
       "id":"TOR67",
       "name": "TOR 67",
       "url":"https://jira.com/welp/browse/TOR67",
       "nativeId": "482ce864-085b-4529-9cb8-47f393767eb2"
    }
    ]
    페이지 매김이 없는 코딩 도구:
    [
      {
          "name": "nvm_repo",
          "url": "https://github.com/nvm_repo/"
      },
      {
          "name": "golang_util",
          "url": "https://github.com/golang_util/"
      }
    ];
    페이지 매김이 없는 오케스트레이션 도구:
    {
      "orchestrationTasks": [
        {
          "name": "Build_APC_1",
          "url": "https://jenkins.wsf.xyz/job/Build_APC_1",
          "projectName": "Build_APC_1"
        },
        {
          "name": "CI_CD_Jenkins",
          "url": "https://pt1.jenkins.com/job/CI_CD_Jenkins",
          "projectName": "CI_CD_Jenkins"
        },
        {
          "name": "CI_deploy",
          "url": "https://pt2.jenkins.com/job/CI_deploy",
          "projectName": "CI_deploy"
        }
      ],
      "pipelines": [
        {
          "name": "Build_APC_1",
          "url": "https://jenkins.wsf.xyz/job/Build_APC_1",
          "projectName": "Build_APC_1"
        },
        {
          "name": "CI_CD_Jenkins",
          "url": "https://pt1.jenkins.com/job/CI_CD_Jenkins",
          "projectName": "CI_CD_Jenkins"
        },
        {
          "name": "CI_deploy",
          "url": "https://pt2.jenkins.com/job/CI_deploy",
          "projectName": "CI_deploy"
        }
      ]
    }

    페이지 매김 사용:

    레이블: discoverpayload

    유형: JSON 문자열로 객체의 배열입니다.

    (JSON.stringify([{},{}]))

    샘플 JSON 형식:

    "pageInfo" : {
        "isLastPage" : true, 
        "discoverPayload" : {},
        “pageDetails” : {}
    }
    페이지 매김이 있는 계획 수립 도구:
    {               
        "pageInfo": {
            "isLastPage": false,
            "discoverPayload": [
                {
                   "id":"REL1234567",
                   "name": "REL NUMBERS",
            "url":"https://jira.com/vult/browse/REL1234567",
                   "nativeId": "1790e6cc-085b-4529-9cb8-47f393182226"
                },
                {
                   "id":"TOR67",
                   "name": "TOR 67",
                   "url":"https://jira.com/welp/browse/TOR67",
                   "nativeId": "482ce864-085b-4529-9cb8-47f393767eb2"
                }
                ],
            "pageDetails": {
                "curPage" : 1,
                "nextPage": 2
            }
        }
    }
    페이지 매김이 있는 코딩 도구:
    {
        "pageInfo": {
            "isLastPage": false,
            "discoverPayload": [
                {
                    "name": "nvm_repo",
                    "url": "https://github.com/nvm_repo/"
                },
                {
                    "name": "golang_util",
                    "url": "https://github.com/golang_util/"
                }
            ],
            "pageDetails": {
                "curPage" : 1,
                "nextPage": 2
            }
        }
    }
    페이지 매김이 있는 오케스트레이션 도구:
    { 
        "pageInfo": { 
            "isLastPage": false, 
            "discoverPayload": { 
                "orchestrationTasks": [ 
                  { 
                    "name": "Build_APC_1", 
                    "url": "https://jenkins.wsf.xyz/job/Build_APC_1", 
                    "projectName": "Build_APC_1" 
                  }, 
                  { 
                    "name": "CI_CD_Jenkins", 
                    "url": "https://pt1.jenkins.com/job/CI_CD_Jenkins", 
                    "projectName": "CI_CD_Jenkins" 
                  } 
                ], 
                "pipelines": [ 
                  { 
                    "name": "Build_APC_1", 
                    "url": "https://jenkins.wsf.xyz/job/Build_APC_1", 
                    "projectName": "Build_APC_1" 
                  } 
                ] 
              }, 
            "pageDetails": { 
                "curPage" : 1, 
                "nextPage": 2 
            } 
        } 
    } 
    검색 메인 플로우는 임포트 요청 기록을 생성하는 동안 트리거됩니다. 임포트 요청에는 다음과 같은 상태와 메시지가 있습니다.
    상태 메시지
    요청됨 --
    처리 중 --
    완료됨

    업데이트된 <수> 객체

    toolId가 잘못된 객체<number> 찾음

    확인에 실패한 객체<수> 찾음

    오류
    • 하위 플로우에서 페이로드 문자열을 구문 분석할 수 없음
    • discoverpayload는 개체의 배열일 것으로 예상됩니다.
    • ImportRequest 기록에 도구 테이블에 대한 참조가 없습니다
    일시 중지됨 --
    취소됨 --
    일치하지 않음 --
    그림 3. DevOps 역량 검색 플로우 다이어그램 예 - 계획 도구
    DevOps 계획 도구 플로우 검색
    그림 4. DevOps 페이지 매김 지원 플로우 다이어그램으로 역량 검색
    페이지 매김 지원을 통한 일반적인 검색 플로우의 플로우 다이어그램

    임포트 요청 워크플로우 스튜디오 작업 업데이트

    원하는 경우 검색 하위 플로우에서 임포트 요청 업데이트 작업을 사용하여 임포트 요청 기록 상태를 수정할 수 있습니다.

    입력 레이블 유형
    current

    참조.임포트 요청

    상태 (문자열)
    • 요청됨
    • 처리 중
      주:
      상태가 처리 중으로 설정되면 플로우 실행이 중지됩니다(하위 플로우에서 반환이 수신된 경우).
    • 완료됨
    • 오류
    • 일시 중지됨
    • 취소됨
    • 일치하지 않는
    세부사항 (문자열)