DevOpsサブフローの作成
ユーザー作成の統合の場合は、統合するツールからデータを収集して変換するための DevOps ワークフロースタジオ サブフローを作成します。
ServiceNow Flow Designer は、統合開発者が一連のアクションを使用してプロセスを自動化するために使用できる Now Platform 機能です。トリガー条件によってフローが開始され、変数がアクション間で情報を渡します。
サブフローの作成方法については、「 Flow Designer サブフロー 」を参照してください。
通知機能のサブフロー
| アイテム | 予想値 |
|---|---|
| 入力 | ラベル: current タイプ:Reference.Inbound Event |
出力 |
該当なし |
元のペイロードを変換し、最終的なペイロードを 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" }
コネクト機能サブフロー
コネクト機能がサポートされています。
| アイテム | 予想値 |
|---|---|
| 入力 | ラベル: current タイプ:Reference.DevOps Tool [接続] ボタンアクションがクリックされたツールレコード。 |
出力 サブフローの出力を参照してください。 |
|
- 接続失敗
- サブフローは正常に実行されましたが、接続を確立できませんでした。
- エラー:ツール固有の接続フローから失敗の詳細を取得できませんでした
- 不明な理由でサブフローの実行に失敗しました。
- ツール接続ステータスの更新中にエラーが発生しました
- 不明な理由でconnection_state属性を更新できませんでした。
機能サブフローの検出
検出機能がサポートされています。
| アイテム | 予想値 |
|---|---|
| 入力 | ラベル: current タイプ:Reference.DevOps Tool |
出力 サブフローの出力を参照してください。 |
ページネーションなし: ラベル: discoverpayload タイプ:JSON 文字列としてのオブジェクトのアレイ。 (JSON.stringify([{},{}])) ページネーションなしの計画立案ツール: ページネーションなしのコーディングツール:
ページネーションなしのオーケストレーションツール:
ページネーションあり: ラベル: discoverpayload タイプ:JSON 文字列としてのオブジェクトのアレイ。 (JSON.stringify([{},{}])) サンプル JSON 形式:
ページネーション機能を備えた計画立案ツール:
ページネーション機能付きコーディングツール:
ページネーション機能付きオーケストレーションツール: |
| 状況 | メッセージ |
|---|---|
| 要求済み | -- |
| 処理中 | -- |
| 完了 | 更新された <number> オブジェクト 無効な toolId を持つ <number> オブジェクトが見つかりました 検証に失敗した <number> 個のオブジェクトが見つかりました |
| エラー |
|
| 一時停止 | -- |
| キャンセル | -- |
| 不一致 | -- |
インポート要求 ワークフロースタジオ アクションを更新
必要に応じて、検出サブフローの [インポート要求を更新] アクションを使用して、インポート要求レコードのステータスを変更できます。
| ラベルの入力 | タイプ |
|---|---|
| current | Reference.Import Request |
| state | (文字列)
|
| 詳細 | (文字列) |