---
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


---

# Azure DevOps パイプラインタスク

# Azure DevOps パイプラインタスク {#ariaid-title1}

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

Azure DevOpsパイプラインでこれらのタスクを使用して、DevOps コンフィグデータモデルを操作します。  
重要:  
Washington DC リリース以降、DevOps コンフィグ は将来の廃止に備えて準備されます。これは非表示になり、新しいインスタンスにはインストールされなくなりますが、引き続きサポートされます。詳細については、Now Support ナレッジベースの「[Deprecation Process (廃止プロセス) \[KB0867184\]](https://support.servicenow.com/kb_view.do?sysparm_article=KB0867184)」の記事を参照してください。

これらのタスクは、目標を達成するための特定のパイプライン定義を作成するために提供されています。  
* ServiceNow-DevOps-Config-Agent-Upload-Configエージェントジョブを使用して、データモデルの展開可能項目に構成データをアップロードします。

* ServiceNow-DevOps-Config-Agent-Get-Snapshotアプリケーションのスナップショットを取得します。

* ServiceNow-DevOps-Config-Agent-Get-Snapshot-Nameスナップショットの名前を抽出します。

* ServiceNow-DevOps-Config-Agent-Publish-Snapshot構成データのスナップショットを公開します。

* ServiceNow-DevOps-Config-Agent-Export-Snapshot構成データのサブセットをエクスポートします。

* ServiceNow-DevOps-Config-Agent-Register-Pipeline変更セットやスナップショットをパイプライン実行に登録します。

* ServiceNow-DevOps-Config-agent-validate-snapshot組織のポリシーに照らして構成データを検証します。

* ServiceNow-DevOps-Server-Change-Accelerationパイプラインの一部として変更要求を作成します。

{#devops-config-azure-integration__ul_qcb_5cf_psb}

## ServiceNow-DevOps-Config-Agent-Upload-Config {#devops-config-azure-integration__section_qjz_nqg_wpb}

アプリケーションデータモデル内の特定の場所に構成ファイルをアップロードするタスク。  
このタスクは、パイプラインの実行中にユーザーがアプリケーション データ モデルにアップロードすることを選択したすべての構成ファイルに対して反復的に使用されることを意図しています。  
注:  
事前にアップロードされたファイルは、互換性のある形式である必要があります。

入力変数
:

    |-|-|
    | connectedServiceName | DevOpsパイプラインエンドポイント接続を指定します。 |
    | applicationName | 構成データのアップロード先のアプリケーションを指定します。 |
    | deployableName | アプリケーションの展開可能項目を指定します (ターゲットが展開可能な場合は必須)。 |
    | アップロードターゲット | 構成データのアップロード先のデータモデルターゲットを指定します ( <kbd class="ph userinput">コンポーネント</kbd>、 <kbd class="ph userinput">コレクション</kbd>、 <kbd class="ph userinput">展開可能項目</kbd>など)。 |
    | collectionName | (オプション)構成データのアップロード先のコレクションを指定します (ターゲットがコレクションの場合は必須)。 |
    | namePath | 構成データのアップロード先のデータモデルパスを指定します。 注: vars フォルダーにアップロードする場合は、名前パスの先頭に「vars/」を付けて、変数フォルダーのパスを指定する必要があります。 |
    | configFilePath | 構成データがデータモデル内のコンポーネントまたは展開可能パスにアップロードされるソースフォルダーを指定します。 空はリポジトリのルートです。ファイルがリポジトリにない場合は、変数を使用します ( <kbd class="ph userinput">例:$(agent.builddirectory)</kbd>)。 |
    | 変換パス | (オプション)構成ファイルのディレクトリ構造を (ワークスペースを基準にして) 保持し、ディレクトリをデータ モデル内のパスに変換するかどうかを指定します。デフォルトは false です。 |
    | dataFormat | config_fileのデータ形式 (<kbd class="ph userinput">JSON、</kbd><kbd class="ph userinput">YAML</kbd>、<kbd class="ph userinput">XML</kbd> など) を指定します。 |
    | changesetNumber | (オプション)このアップロードアクティビティが関連付けられている (オープンな) 変更セットを指定します。指定しない場合、新しい変更セットが作成されます。 注: 複数のアップロードシナリオでのみ使用されます。 |
    | 自動コミット | アップロード後に構成データをコミットするかどうかを指定します (true/false)。デフォルトは false です。 |
    | autoValidate | コミット中に構成データを検証するかどうかを指定します (true/false)。デフォルトは true です。 |
    [ ]

    {#devops-config-azure-integration__table_hpv_5x2_psb}

出力変数
:

    |-|-|
    | changesetNumber | アップロード中に作成/コミットされた変更セットレコード。 後でパイプラインで使用できるように、タスクに名前を付けます (例: <kbd class="ph userinput">componentUpload</kbd>)。 |
    [ ]

    {#devops-config-azure-integration__table_qjq_rbb_w5b}

例 - アップロード構成
:


        -task: ServiceNow-DevOps-Config-Agent-Upload-Config
         name: componentUpload​
         inputs:​
           connectedServiceName: 'MyServiceNowInstance'​
           applicationName: 'PaymentDemo'​
           uploadTarget: 'component'​
           namePath: 'wep-api-v1.0'
           configFilePath: 'k8s/helm/values.yml'​
           dataFormat: 'yaml'
           autoCommit: true​
           autoValidate: true​
         
例 - 複数のアップロード (コンポーネント)
:   アップロード タスクを複数回呼び出して、アップロード部分を 1 つの変更セットに保持しながら、さまざまな場所からさまざまなファイル形式で構成データをアップロードできます。

    * 最初のアップロードでタスクに名前を付けて、changesetNumber 出力変数を後続のアップロードで再利用できるようにします。  
      YAML ファイルのアップロード:


          -task: ServiceNow-DevOps-Config-Agent-Upload-Config​
             name: componentUpload​
             inputs:​ 
               connectedServiceName: 'MyServiceNowInstance'​
               applicationName: 'PaymentDemo'​
               uploadTarget: 'component'​
               namePath: 'wep-api-v1.0'
               configFilePath: 'k8s/helm/values.yml'​
               dataFormat: 'yaml'
               autoCommit: false​
               autoValidate: false​

    * 後続のアップロードでは、最初のアップロードの changesetNumber 出力変数を入力変数として参照します。  
      JSON ファイルのアップロード:


          -task: ServiceNow-DevOps-Config-Agent-Upload-Config
             inputs:​
               connectedServiceName: 'MyServiceNowInstance'
               applicationName: 'PaymentDemo'
               uploadTarget: 'component'
               namePath: 'wep-api-v1.0'
               configFilePath: 'featureToggles/set1.json'
               dataFormat: 'json'
               autoCommit: true​
               autoValidate: true​
               changesetNumber: '$(componentUpload.changesetNumber)'

    {#devops-config-azure-integration__ul_qvy_52b_w5b}

例:複数のアップロード (コレクションと変数)
:   アップロード タスクを複数回呼び出して、アップロード部分を 1 つの変更セットに保持しながら、さまざまな場所からさまざまなファイル形式で構成データをアップロードできます。

    * 最初のアップロードでは、changesetNumber 出力変数を後続のアップロードで再利用できるように、タスクに名前を付けてください。  
      XML ファイルのアップロード:


          -task: ServiceNow-DevOps-Config-Agent-Upload-Config​
             name: componentUpload​
             inputs:​ 
               connectedServiceName: 'MyServiceNowInstance'​
               applicationName: 'PaymentDemo'​
               uploadTarget: 'collection'​
               collectionName: 'release-1.0'​
               namePath: 'v1-common-configs'
               configFilePath: 'infra/v1/config.xml'​
               dataFormat: 'xml'
               autoCommit: false​
               autoValidate: false​

    * 後続のアップロードでは、最初のアップロードの changesetNumber 出力変数を入力として参照します。  
      JSON ファイルのアップロード:


          -task: ServiceNow-DevOps-Config-Agent-Upload-Config
             inputs:​
               connectedServiceName: 'MyServiceNowInstance'
               applicationName: 'PaymentDemo'
               uploadTarget: 'deployable'
               deployableName: 'Production-EMEA'
               namePath: 'vars/dbSettings'
               configFilePath: 'infra/prodc/dbSettings.json'
               dataFormat: 'json'
               autoCommit: true​
               autoValidate: true​
               changesetNumber: '$(componentUpload.changesetNumber)'

    {#devops-config-azure-integration__ul_zvz_b5m_dwb}

    注:  
    変数フォルダーにアップロードするには、uploadTarget を <kbd class="ph userinput">deployable</kbd> に設定し、deployableName と changesetNumber に正しい値を設定する必要があります。

## ServiceNow-DevOps-Config-Agent-Get-Snapshot {#devops-config-azure-integration__section_nkh_4y2_psb}

このタスクは、さまざまなシナリオで使用することを目的としています。

* 特定のスナップショットを取得します。CD フローに従って、特定のスナップショットが取得され、公開してからエクスポートしてダウンストリームで使用できます (たとえば、インフラストラクチャやアプリケーションをプロビジョニングするため)。

* 最新の検証済みスナップショットを取得します。アプリケーションと展開可能項目の組み合わせについて、最新の検証済みスナップショットが取得されます。

* 影響を受ける展開可能項目のすべてのスナップショットを取得します。構成ファイルがアプリケーションデータモデルにアップロードされると、システムはアップロードの影響を受けると判断された展開可能項目のスナップショットを作成します。CI フローに従って、最後のアップロード呼び出しで検証が有効になっていると仮定して、次のステップはスナップショットのリストを反復処理し、それらがすべて検証に合格したことを確認することです。

* アップロードでスナップショットが生成されない場合は、アプリケーションの展開可能項目の最新のスナップショットを取得します。構成変更が行われない場合、一連の構成データをアプリケーション展開可能変更セットの組み合わせの環境に展開できます。

* パイプライン実行でポリシー検証結果を表示します。スナップショットを取得するときに、ポリシー検証結果を ADO ビルドテスト結果ページにテスト結果として表示します (例外への準拠を含む)。

{#devops-config-azure-integration__ul_lgc_ry2_psb}

入力変数
:

    |-|-|
    | connectedServiceName | DevOps パイプライン エンドポイント接続 (プロジェクトのサービス接続設定で定義) を指定します。 |
    | applicationName | 構成データのアップロード先またはデータのエクスポート元のアプリケーションを指定します。 |
    | deployableName | (オプション)最新のスナップショットデータを取得する展開可能項目を (指定されたアプリケーションごとに) 指定します。 |
    | changesetNumber | (オプション)適用可能な構成変更セットの変更セット ID を指定します。 |
    | isValidated | (オプション)渡されたスナップショットのみを返すか、例外 (true/false) で渡されたスナップショットのみを返すかを指定します。デフォルトは true です。 |
    | 最新の continueWithLatest | (オプション)スナップショットが生成されない場合に、<kbd class="ph userinput">applicationName-deployableName-changesetNumber</kbd> の組み合わせ<kbd class="ph userinput"></kbd>ごとに最新のスナップショットを返すかどうかを指定します (true/false)。<kbd class="ph userinput"></kbd>デフォルトは false です。 |
    [ ]

    {#devops-config-azure-integration__table_dmc_nz2_psb}

出力変数
:

    |-|-|
    | スナップショットオブジェクト | 要求されたスナップショットを含む JSON オブジェクト。 パイプラインの後半で使用できるように、タスクに名前を付けます (例: <kbd class="ph userinput">getSnapshot</kbd>)。 |
    [ ]

    {#devops-config-azure-integration__table_gb4_yfb_w5b}

例 - 特定のスナップショット
:


        -task: ServiceNow-DevOps-Config-Agent-Get-Snapshot
         name: getSnapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           applicationName: 'PaymentDemo'
           deployableName: 'Production'
           changesetNumber: 'Chset-16'
           isValidated: true
           continueWithLatest: true

例:最新の検証済みスナップショット (特定のアプリケーションと展開可能な組み合わせ)
:


        -task: ServiceNow-DevOps-Config-Agent-Get-Snapshot
         name: getSnapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           applicationName: 'PaymentDemo'
           deployableName: 'Production'
           isValidated: true

例 - すべての変更セットのスナップショット
:


        -task: ServiceNow-DevOps-Config-Agent-Get-Snapshot
         name: getSnapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           applicationName: 'PaymentDemo'
           changesetNumber: 'Chset-16'

例:ポリシー検証結果の表示

:   <kbd class="ph userinput">ServiceNow-DevOps-Config-Agent-Get-Snapshot</kbd> タスク中に生成されたスナップショット検証結果を含むファイルのパスに変数を割り当てます。

    スナップショットの検証結果をパイプライン実行に読み込むには、変数を入力として使用して、ADO ネイティブの [Publish Test Results v2 タスク](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-test-results-v2?view=azure-pipelines&tabs=trx,trxattachments,yaml)を活用する必要があります。  


        stages:
        - stage: Two
          jobs:
            - job: A
        	variables:
              - name: validationResultsPath
                value: 1/TEST_DATA_$(Build.DefinitionName)_$(Build.BuildNumber)_*.xml
              steps:
                - task: PublishTestResults@2
                  inputs:
                     testResultsFormat: 'JUnit'
                     testResultsFiles: '$(validationResultsPath)'
                     searchFolder: '$(System.WorkFolder)'

## ServiceNow-DevOps-Config-Agent-Get-Snapshot-Name {#devops-config-azure-integration__section_ic5_11f_psb}

このタスクは、特定のスナップショットからスナップショット名を取得するために、 <kbd class="ph userinput">ServiceNow-DevOps-Config-Agent-Get-Snapshot-Name</kbd> タスクからのフォローアップとして使用されます。ここから、スナップショット名を、スナップショットの公開などのダウンストリームタスクへの入力として使用できます。

入力変数
:

    |-|-|
    | deployableName | <kbd class="ph userinput">ServiceNow-DevOps-Config-Agent-Get-Snapshot</kbd> タスクから返されたスナップショットオブジェクトを取得するための展開可能項目を指定します。 |
    | スクリプト | スナップショットオブジェクトからスナップショット名を抽出するスクリプトを指定します。 |
    [ ]

    {#devops-config-azure-integration__table_ctq_f1f_psb}

出力変数
:

    |-|-|
    | snapshotName | 展開可能項目のスナップショット名。 後でパイプラインで使用できるように、タスクに名前を付けます (例:<kbd class="ph userinput">getSnapshotName)。</kbd> |
    [ ]

    {#devops-config-azure-integration__table_u4n_hgb_w5b}

例:スナップショット名を取得

:   このスクリプトを使用して、 <kbd class="ph userinput">ServiceNow-DevOps-Config-Agent-Get-Snapshot</kbd> タスクから取得したスナップショット名を抽出します。


        -task: ServiceNow-DevOps-Config-Agent-Get-Snapshot-Name
         inputs:
           deployableName: 'PRD'
           script: |
        	function run() {
                let name;
                let deployableName = process.argv[2];
                let jsonObj = $(getSnapshot.snapshotObjects);
                let size = jsonObj.result.length;
                for(let i=0; i<size; i++) {
                 obj = jsonObj.result[i];
                 if(obj["deployable_id.name"].toLowerCase() == deployableName) {
                   name = obj.name;
                   console.log(name);
                  }
                 }
                }
                run();

例:スナップショットの取得で使用されるスナップショット名の取得

:   <kbd class="ph userinput">ServiceNow-DevOps-Config-Agent-Get-Snapshot</kbd> タスクの直後に <kbd class="ph userinput">ServiceNow-DevOps-Config-Agent-Get-Snapshot-Name</kbd> タスクを呼び出して、スナップショット名を返します。

    スナップショットを取得 (影響を受けるスナップショットを含む JSON オブジェクトを返します):


        -stage: Two​
         jobs:​
            -job: B​
             steps:​
                -task: ServiceNow-DevOps-Config-Agent-Get-Snapshot
                 name: getSnapshot​
                 inputs:​
                    connectedServiceName: 'MyServiceNowInstance'​​
                    applicationName: 'PaymentDemo'​
                    deployableName: 'Production-2'
                    changesetNumber: 'Chset-16'​

    スナップショット名を取得します (特定の展開可能項目のスナップショット名を返します):


        -stage: Two​
         jobs:​
            - job: B​
              steps:​
                - task: ServiceNow-DevOps-Config-Agent-Get-Snapshot
                  name: getSnapshotName​
                  inputs:​
                      deployableName: 'Production-2'
                      script:|​
                      function run() {​
                       let name;​
                       let deployableName = process.argv[2]; ​
                       let jsonObj = $(getSnapshot.snapshotObjects);​
                       let size = jsonObj.result.length;​
                       for(let i=0; i<size ;i++) {​
                        obj = jsonObj.result[i];​
                        if(obj["deployable_id.name"].toLowerCase() == deployableName) {​
                         name = obj.name;​
                         console.log(name); // This standard output of inline script is given as the task output​
                        }​
                       }​
                      }​
                      run();

    返されたスナップショット名をパイプラインで使用します (たとえば、公開)。


        -stage: Three​
         jobs:​
            -job: C​
             variables:​
               varSnapshotName: $[stageDependencies.Two.B.outputs['getSnapshotName.snapshotName']]​
             steps:​
                -task: ServiceNow-DevOps-Config-Agent-Publish-Snapshot
                 inputs:​
                   connectedServiceName: 'MyServiceNowInstance'
                   applicationName: 'PaymentDemo'
                   deployableName: 'Production-2'
                   snapshotName: '$(varSnapshotName)'​

## ServiceNow-DevOps-Config-Agent-Publish-Snapshot {#devops-config-azure-integration__section_fjq_k1f_psb}

このタスクは、指定されたアプリケーションおよび展開可能項目のスナップショットを公開します。ここから、スナップショットはエクスポートプロセスを通じて使用できます。

入力変数
:

    |-|-|
    | connectedServiceName | ServiceNowエンドポイント接続を指定します。 |
    | applicationName | 公開するアプリケーションを指定します。 |
    | deployableName | 構成データを公開するアプリケーションの展開可能項目を指定します。 |
    | snapshotName | 公開するスナップショットの名前を指定します。 |
    [ ]

    {#devops-config-azure-integration__table_vd4_41f_psb}

出力変数
:   適用外 (成功した場合は true を返し、それ以外の場合は false を返します)。

例
:


        -task: ServiceNow-DevOps-Config-Agent-Publish-Snapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           applicationName: 'PaymentDemo'
           deployableName: 'Production-2'
           snapshotName: 'Production-v23.dpl'

## ServiceNow-DevOps-Config-Agent-Export-Snapshot {#devops-config-azure-integration__section_bn2_x1f_psb}

このタスクは、指定されたアプリケーションおよび展開可能項目のスナップショットをエクスポートします。エクスポートされた構成データのエクスポーター、関連するエクスポーター引数、エクスポート形式 (YAML、JSON など)、および出力場所を指定します。ここから、構成データをパイプラインのダウンストリームにある展開ツールまたはプロビジョニングツールの入力として直接使用できます。

入力変数
:

    |-|-|
    | connectedServiceName | ServiceNowエンドポイント接続を指定します。 |
    | applicationName | 公開元のアプリケーションを指定します。 |
    | deployableName | 構成データのエクスポート元のアプリケーションの展開可能項目を指定します。 |
    | snapshotName | 構成データのエクスポート元のスナップショットの名前を指定します。 |
    | exporterName | スナップショットに適用するエクスポーター ( <kbd class="ph userinput">UniqueCDI</kbd> など) を指定します。 |
    | 引数 | (オプション)エクスポーターとともに使用する引数を指定します。 |
    | エクスポート形式 | スナップショットデータをエクスポートする形式 ( <kbd class="ph userinput">INI</kbd>、 <kbd class="ph userinput">YAML</kbd>、 <kbd class="ph userinput">PROPS</kbd> など) を指定します。 |
    | saveFile | ファイルを Azure リポジトリに保存するかどうかを確認します (true/false)。デフォルトは false です。 注: スクリプトへの適切な権限/OAuth トークンアクセス権が必要です。 それ以外の場合、エクスポート ファイルはパイプライン ワークスペース ディレクトリに作成されます。 |
    [ ]

    {#devops-config-azure-integration__table_mtx_bbf_psb}

出力変数
:   適用外 (成功した場合は true を返し、それ以外の場合は false を返します)。

例
:


        -task: ServiceNow-DevOps-Config-Agent-Export-Snapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           applicationName: 'PaymentDemo'
           deployableName: 'Production-2'
           exporterName: 'returnAllData-nowPreview'
           dataFormat: 'yaml'
           args: ''
           snapshotName: 'Production-v23.dpl'
           saveFile: true​
           fileName: 'ExporterOutput/ExportData_$(build.definitionName)_$(build.buildNumber).yaml'
           
## ServiceNow-DevOps-Config-Agent-Register-Pipeline {#devops-config-azure-integration__section_jms_kcf_psb}

このタスクは、変更セットとスナップショットをパイプラインに関連付けて、パイプラインの実行中に追跡できるようにします。DevOps チェンジベロシティでは、これはパイプライン UI に表示されます。

入力変数
:

    |-|-|
    | connectedServiceName | DevOpsパイプラインエンドポイント接続を指定します。 |
    | applicationName | アプリケーション名を指定します。 |
    | changesetNumber | (オプション)パイプライン実行に関連付ける変更セットの ID を指定します。 |
    | snapshotName | (オプション)パイプライン実行に関連付けるスナップショットの名前を指定します。 |
    [ ]

    {#devops-config-azure-integration__table_nym_4cf_psb}

出力変数
:   適用外 (成功した場合は true を返し、それ以外の場合は false を返します)。

例
:


        -task: ServiceNow-DevOps-Config-Agent-Publish-Snapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           changesetNumber: 'Changeset-143'

## ServiceNow-DevOps-Config-agent-validate-snapshot {#devops-config-azure-integration__section_a3d_t3b_ypb}

組織のポリシーに照らして構成データを検証します。

入力変数
:

    |-|-|
    | connectedServiceName | ServiceNowエンドポイント接続を指定します。 |
    | applicationName | 検証するアプリケーションを指定します。 |
    | deployableName | 検証する展開可能項目を (指定されたアプリケーションごとに) 指定します。 |
    | snapshotName | (オプション)検証するスナップショットの名前を指定します。 |
    | 結果を表示 | (オプション)コンソールログに検証結果を表示するように指定します。 |
    [ ]

    {#devops-config-azure-integration__table_hk2_nkf_psb}

出力変数
:   適用外 (成功した場合は true を返し、それ以外の場合は false を返します)。

例
:


        -task: ServiceNow-DevOps-Config-Agent-Validate-Snapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           applicationName: 'PaymentDemo'
           deployableName: 'Production-2'
           snapshotName: ''
           showResults: false

## ServiceNow-DevOps-Server-Change-Acceleration {#devops-config-azure-integration__section_tcn_vqf_w5b}

このタスクは、エージェントレス (サーバー) ジョブがAzure DevOpsパイプラインの一部としてServiceNow 変更管理で変更要求を自動的に作成するために必要です。

DevOps コンフィグ、同じ変更セットの複数のスナップショットを変更要求に関連付けるには、スナップショット名とアプリケーション名を使用して、特定のアプリケーションサービスの特定の構成データを追跡します。

DevOps 変更の促進機能の詳細については、「[DevOps変更プロセスの加速](https://servicenow-prod.fluidtopics.net/PewgmoIzDmnYrtTZcvM5xQ "パイプラインで変更要求を自動的に作成するために DevOps チェンジベロシティ の変更の促進機能を有効にし、変更承認フローとポリシーを使用して特定の条件下で承認を自動化します。")」を参照してください。

入力変数 ( DevOps コンフィグ関連)
:

    |-|-|
    | connectedServiceName | DevOpsパイプラインエンドポイント接続を指定します。 |
    | applicationName | 変更要求に添付されるスナップショットに関連付けられたアプリケーション。 |
    | snapshotName | 変更要求に添付するスナップショットの名前。 |
    [ ]

    {#devops-config-azure-integration__table_tsl_wsf_w5b}

例
:


        -stage: ChangeRequest
         jobs:
            -job: 'changerequestjob'
             pool: server
             steps:
                -task: ServiceNow-DevOps-Server-Change-Acceleration
                 inputs:
                    connectedServiceName: 'MyServiceNowInstance'
                    applicationName: 'PaymentDemo'
                    snapshotName: 'Production-v23.dpl'

## YAML パイプラインの例 {#devops-config-azure-integration__section_h2d_xkq_mwb}

    trigger:
      branches:
        include:
        - none
    stages:
    - stage: One
      displayName: Upload Configuration Data
      pool:
        vmImage: ubuntu-latest
      jobs:
      - job: A
        displayName: Upload
        steps:
        - task: ServiceNow-DevOps-Config-Agent-Upload-Config@1
          name: componentUpload
          inputs:
            connectedServiceName: 'MyServiceNowInstance'
            applicationName: 'PaymentDemo'
            uploadTarget: 'component'
            configFile: 'k8s/helm/values.yml'
            namePath: 'processor-api-v1.0'
            dataFormat: 'yaml'
            autoValidate: true
            autoCommit: true
            convertPath: true
    - stage: Two
      displayName: Get Latest Snapshot
      pool:
        vmImage: ubuntu-latest
      jobs:
      - job: B
        displayName: Get Snapshot
        variables:
        - name: varChangesetNumber
          value: $[stageDependencies.One.A.outputs['componentUpload.changesetNumber'] ]
        - name: varConfigValidationResults
            value: 1/TEST_DATA_$(Build.DefinitionName)_$(Build.BuildNumber)_*.xml
        steps:
        - task: ServiceNow-DevOps-Config-Agent-Get-Snapshot@1
          name: getSnapshot
          inputs:
            connectedServiceName: 'MyServiceNowInstance'
            applicationName: 'PaymentDemo'
            deployableName: 'Production-EMEA'
            changeSetNumber: '$(varChangesetNumber)'
            continueWithLatest: true
        - task: ServiceNow-DevOps-Config-Agent-Get-Snapshot-Name@1
          name: getSnapshotName
          inputs:
            deployableName: 'Production-EMEA'
            script: "function run() {\n  let name;\n  let deployableName = process.argv[2]; \n  let jsonObj = $(getSnapshot.snapshotObjects);\n  let size = jsonObj.result.length;\n  for(let i=0; i<size ;i++) {\n    obj = jsonObj.result[i];\n    if(obj[\"deployable_id.name\"].toLowerCase() == deployableName) {\n      name = obj.name;\n      console.log(name);   // This standard output of inline script is given as the task output\n    }\n  }\n}\nrun();\n"
        - task: PublishTestResults@2
              inputs:
                 testResultsFormat: 'JUnit'
                 testResultsFiles: '$(varConfigValidationResults)'
                 searchFolder: '$(System.WorkFolder)'
        - task: ServiceNow-DevOps-Config-Agent-Register-Pipeline@1
          inputs:
            connectedServiceName: 'MyServiceNowInstance'
            snapshotName: '$(getSnapshotName.snapshotName)'
            applicationName: 'PaymentDemo'
    - stage: Three
      displayName: Publish Snapshot
      pool:
        vmImage: ubuntu-latest
      jobs:
      - job: C
        displayName: Publish
        variables:
        - name: varSnapshotName
          value: $[stageDependencies.Two.B.outputs['getSnapshotName.snapshotName']]
        steps:
        - task: ServiceNow-DevOps-Config-Agent-Publish-Snapshot@1
          inputs:
            connectedServiceName: 'MyServiceNowInstance'
            applicationName: 'PaymentDemo'
            deployableName: 'Production-EMEA'
            snapshotName: '$(varSnapshotName)'
    - stage: ChangeRequest
      dependsOn:
      - Two
      - Three
      jobs:
      - job: 'changerequestjob'
        timeoutInMinutes: 2
        pool:
          name: server
        variables:
        - name: varSnapshotName
          value: $[stageDependencies.Two.B.outputs['getSnapshotName.snapshotName']]
        steps:
        - task: ServiceNow-DevOps-Server-Change-Acceleration@1
          inputs:
            connectedServiceName: 'MyServiceNowInstance'
            applicationName: 'PaymentDemo'
            snapshotName: '$(varSnapshotName)'
    - stage: Four
      displayName: Export Snapshot
      dependsOn:
      - Two
      - Three
      - ChangeRequest
      pool:
        vmImage: ubuntu-latest
      variables:
      - name: varSnapshotName
        value: $[stageDependencies.Two.B.outputs['getSnapshotName.snapshotName']]
      jobs:
      - job: D
        displayName: Export
        steps:
        - task: ServiceNow-DevOps-Config-Agent-Export-Snapshot@1
          inputs:
            connectedServiceName: 'MyServiceNowInstance'
            applicationName: 'PaymentDemo'
            deployableName: 'Production-EMEA'
            exporterName: 'returnAllData-now'
            dataFormat: 'yaml'
            snapshotName: '$(varSnapshotName)'
            saveFile: true
            fileName: 'ExportData_$(build.definitionName)_$(build.buildNumber).yaml'
        - task: CmdLine@2
          inputs:
            script: |
              echo Write your commands here
              echo Hello world
              tree $(Pipeline.Workspace)


