---
sourceDocument: Xanadu IT Service Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/it-service-management

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu IT Service Management

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# DevOpsサブフローの作成

# DevOpsサブフローの作成 {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：16分

ユーザー作成の統合の場合は、統合するツールからデータを収集して変換するための DevOps ワークフロースタジオ サブフローを作成します。

ServiceNow [Flow Designer](https://www.servicenow.com/docs/access?context=flow-designer&version=xanadu&pubname=xanadu-application-development&ft:locale=en-US) は、統合開発者が一連のアクションを使用してプロセスを自動化するために使用できる Now Platform 機能です。トリガー条件によってフローが開始され、変数がアクション間で情報を渡します。

サブフローの作成方法については、「 [Flow Designer](https://www.servicenow.com/docs/access?context=flow-designer&version=xanadu&pubname=xanadu-application-development&ft:locale=en-US) [サブフロー](https://www.servicenow.com/docs/access?context=subflows&version=xanadu&pubname=xanadu-build-workflows&ft:locale=en-US) 」を参照してください。

## 通知機能のサブフロー {#creating-dev-ops-subflows__section_ep4_txg_w3b}

{#creating-dev-ops-subflows__table_hbx_dn1_1kb__entry__2}

| アイテム | 予想値 |
|-|-|
| 入力 | ラベル: current タイプ:Reference.Inbound Event |
| 出力 | 該当なし |
[ ]

{#creating-dev-ops-subflows__table_hbx_dn1_1kb}

元のペイロードを変換し、最終的なペイロードを transformed_payload フィールドに保存します。

想定される標準 JSON 通知機能ペイロード:計画立案ツール
:   注:  
    JSON ペイロードの version 属性はオプションです。version 属性を指定しない場合でも、ペイロードは正常に処理されます。

        {
          "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 Freestyle/Maven プロジェクト:

        {
          "artifacts": [
            {
              "name": "mav1.jar",
              "version": "1.11",
              "semanticVersion": "1.11.0",
              "repositoryName": "mav-repo"
            }
          ],
          "projectName": "maven-test-proj",
          "taskExecutionNumber": "11"
        }

図 : 1. DevOps 通知機能のフロー図の例 - コーディングツール

## コネクト機能サブフロー {#creating-dev-ops-subflows__section_tkj_jzf_1kb}

コネクト機能がサポートされています。  
{#creating-dev-ops-subflows__table_xys_nm1_1kb__entry__2}

| アイテム | 予想値 |
|-|-|
| 入力 | ラベル: current タイプ:Reference.DevOps Tool \[接続\] ボタンアクションがクリックされたツールレコード。 |
| 出力 [サブフローの出力](https://www.servicenow.com/docs/access?context=subflows&version=xanadu&pubname=xanadu-build-workflows&ft:locale=en-US)を参照してください。 | * ラベル: 接続済みターゲットツールへの接続の成功または失敗を示すフラグ (true/false)。 * ラベル: errormessage接続エラーの際にフォームに表示される文字列メッセージ。接続が成功した場合、変数は空の文字列です。 {#creating-dev-ops-subflows__ul_v5t_sm1_1kb} |
[ ]

{#creating-dev-ops-subflows__table_xys_nm1_1kb}  
DevOpsツールフォームに表示されるコネクトエラー:

接続失敗
:   サブフローは正常に実行されましたが、接続を確立できませんでした。

エラー:ツール固有の接続フローから失敗の詳細を取得できませんでした
:   不明な理由でサブフローの実行に失敗しました。

ツール接続ステータスの更新中にエラーが発生しました
: 不明な理由でconnection_state属性を更新できませんでした。  
図 : 2. DevOps コネクト機能のフロー図の例:オーケストレーションツール

## 機能サブフローの検出 {#creating-dev-ops-subflows__section_sgn_lzf_1kb}

検出機能がサポートされています。  
{#creating-dev-ops-subflows__table_acq_yj1_1kb__entry__2}

| アイテム | 予想値 |
|-|-|
| 入力 | ラベル: current タイプ:Reference.DevOps Tool |
| 出力 [サブフローの出力](https://www.servicenow.com/docs/access?context=subflows&version=xanadu&pubname=xanadu-build-workflows&ft:locale=en-US)を参照してください。 | ページネーションなし: ラベル: discoverpayload タイプ:JSON 文字列としてのオブジェクトのアレイ。 <kbd class="ph userinput">(JSON.stringify([{},{}]))</kbd> ページネーションなしの計画立案ツール: [ { "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 文字列としてのオブジェクトのアレイ。 <kbd class="ph userinput">(JSON.stringify([{},{}]))</kbd> サンプル 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 } } } |
[ ]

{#creating-dev-ops-subflows__table_acq_yj1_1kb}  
検出メインフローは、インポート要求レコードの作成中にトリガーされます。インポート要求には、次の状況とメッセージが含まれます。{#creating-dev-ops-subflows__table_pjc_x5t_jkb__entry__2}

| 状況 | メッセージ |
|-|-|
| 要求済み | -- |
| 処理中 | -- |
| 完了 | 更新された \<number\> オブジェクト 無効な toolId を持つ \<number\> オブジェクトが見つかりました 検証に失敗した \<number\> 個のオブジェクトが見つかりました |
| エラー | * サブフローからペイロード文字列を解析できません * discoverpayload はオブジェクトのアレイであることが想定されています * ImportRequest レコードには、ツールテーブルへの参照がありません {#creating-dev-ops-subflows__ul_tf3_vvt_jkb} |
| 一時停止 | -- |
| キャンセル | -- |
| 不一致 | -- |
[ ]

{#creating-dev-ops-subflows__table_pjc_x5t_jkb}  
図 : 3. DevOps 機能フロー図の例:計画立案ツール  
図 : 4. DevOps ページネーションサポートを使用した機能の検出フロー図

## インポート要求 ワークフロースタジオ アクションを更新 {#creating-dev-ops-subflows__section_tns_mzf_1kb}

必要に応じて、検出サブフローの \[インポート要求を更新\] アクションを使用して、インポート要求レコードのステータスを変更できます。  
{#creating-dev-ops-subflows__table_ncn_xs1_1kb__entry__2}

| ラベルの入力 | タイプ |
|-|-|
| current | Reference.Import Request |
| state | (文字列) * requested (要求済み) * processing 注: ステータスが処理中に設定されると、フローの実行は停止します (サブフローから戻り値を受信した後)。 * completed * エラー * 一時停止 * キャンセル済み * unmatched {#creating-dev-ops-subflows__ul_kbx_yt1_1kb} |
| 詳細 | (文字列) |
[ ]

{#creating-dev-ops-subflows__table_ncn_xs1_1kb}

