Automation Pipelines には、REST プラグインが提供されています。このプラグインを使用すると、REST API を使用する他のアプリケーションと Automation Pipelines を統合できます。これにより、情報をやり取りする必要があるソフトウェア アプリケーションを継続的に開発して配信できます。REST プラグインは、Automation Pipelines と別のアプリケーションとの間で情報を送受信する API を呼び出します。

REST プラグインでは、次のことが可能です。

  • 外部の REST API ベースのシステムと Automation Pipelines パイプラインを統合する。
  • Automation Pipelines パイプラインを外部システムのフローの一部として統合する。

REST プラグインは、どの REST API でも動作します。GET、POST、PUT、PATCH、DELETE の各メソッドをサポートしており、Automation Pipelines と他のアプリケーションとの間で情報を送受信できます。

表 1. REST API 経由で通信するためのパイプラインの準備
操作 実行の結果
パイプラインへの REST タスクを追加する。

REST タスクは、アプリケーション間で情報を通信し、パイプライン ステージの連続するタスクに関するステータス情報を提供できます。

REST タスクで REST アクションを選択し、URL を含める。

パイプライン タスクは、パイプラインの実行時に URL を呼び出します。

POST、PUT、PATCH の各アクションには、ペイロードが含まれている必要があります。ペイロードでは、パイプラインの実行時にパイプラインとタスク プロパティをバインドできます。

使用例を検討する。

REST プラグインの使用例:

REST タスクを追加して、後続のパイプライン タスクに必要な情報を取得できます。

REST プラグインを使用して API を呼び出す場合と同様に、パイプラインにポーリング タスクを含めて REST API を呼び出すことができます。API が完了し、パイプライン タスクが終了条件を満たすまで、API をポーリングできます。Automation Pipelines で使用可能なタスクのタイプを参照してください。

また、REST API を使用してパイプラインをインポートおよびエクスポートし、サンプル スクリプトを使用してパイプラインを実行することもできます。

この手順では、REST タスクが 1 つのサービスからビルド タグを取得し、後続の CI タスクがそのビルド タグを使用して CICD ビルド番号を取得します。

手順

  1. パイプラインを作成するには、[パイプライン] > [新しいパイプライン] > [空白のキャンバス] の順にクリックします。
  2. パイプライン ステージで、[+ シーケンシャル タスク] をクリックします。
  3. タスク ペインで、次の REST タスクを追加します。
    1. タスクの名前を入力します。
    2. [タイプ] ドロップダウン メニューで、[REST] を選択します。
    3. [REST リクエスト] 領域で、[GET] を選択します。
      REST タスクが別のアプリケーションにデータを申請するようにするには、GET メソッドを選択します。別のアプリケーションにデータを送信するには、POST メソッドを選択します。
    4. ビルド タグの取得に使用する REST API エンドポイントを識別する URL を入力します。例:
      https://devops.mycompany.com:8001/job/service-build/api/json
      注: Automation Pipelines では、次のように / の URL エンコードとして %2F を使用することはできません。
      https://gitlab.com/api/v4/projects/1234567/repository/files/FOLDERNAME%2Ftest.yaml
      REST API エンドポイントを指定する場合は、次のような基本的な URL 形式を使用します。
      https://gitlab.com/api/v4/projects/1234567/repository/files/FOLDERNAME/test.yaml
      他のアプリケーションからデータをインポートする REST タスクには、ペイロード変数を含めることができます。たとえば、インポート アクションの場合、 ${Stage0.export.responseBody} と入力できます。応答データのサイズが 5 MB を超えると、REST タスクが失敗することがあります。

      機密性のある情報を非表示および暗号化するには、シークレット変数を使用します。非表示にして暗号化して実行時に使用を制限する文字列、パスワード、URL については、制限付き変数を使用します。たとえば、パスワードや URL にシークレット変数を使用します。シークレット変数も制限付き変数も、パイプライン内の任意のタイプのタスクで使用できます。

    5. タスクの認証を行うには、[ヘッダーの追加] をクリックして、ヘッダーのキーと値を入力します。以下はその一例です。
      Key
      同意する application/json
      Content-Type application/json
    REST タスクを追加して REST 要求を構成するには、アクションを選択し、URL を入力して、必要に応じて認証用のヘッダーを追加します。
  4. REST タスクの応答の情報を使用する後続のタスクを追加します。
  5. パイプラインを保存するには、[保存] をクリックします。
  6. [パイプライン] タブで、[パイプラインを有効にする] をクリックします。
    パイプラインを実行するには、あらかじめ有効にする必要があります。
  7. [保存] をクリックし、[閉じる] をクリックします。
  8. [実行] をクリックします。
  9. パイプラインの実行を監視するには、[実行] をクリックします。
    パイプラインの実行が開始されると、実行に合わせてパイプラインのステータスを確認できます。
  10. REST タスクから想定どおりの情報が返されたことを確認するには、パイプライン実行とタスク結果を調べます。
    1. パイプラインの完了後、申請したデータが他のアプリケーションから返されたことを確認するには、パイプライン実行へのリンクをクリックします。
    2. パイプラインの REST タスクをクリックします。
    3. パイプライン実行で、タスクをクリックし、タスクの詳細を観察して、REST タスクから想定どおりの結果が返されたことを確認します。
      タスクの詳細には、応答コード、本文、ヘッダー キー、および値が表示されます。
      REST タスクの詳細に、COMPLETED ステータス、応答コード、応答本文、ヘッダーのキーおよび値が表示されています。
  11. JSON 出力を表示するには、[JSON 出力の表示] をクリックします。
    REST タスクの JSON 出力に応答ヘッダーと応答本文が表示され、コンテンツを検索するためのパス ファインダが含まれています。

結果

完了です。REST API を呼び出し、REST プラグインを使用して Automation Pipelines と別のアプリケーション間で情報を送信する REST タスクを設定しました。

次のタスク

引き続きパイプラインで REST タスクを使用してコマンドを実行し、Automation Pipelines を他のアプリケーションと統合して、ソフトウェア アプリケーションを開発して配信できるようにします。ポーリング タスクを使用すると、API が完了し、パイプライン タスクが終了条件を満たすまで、API をポーリングできます。