REST API を使用して
Automation Pipelines
を他のアプリケーションと統合する方法

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
と他のアプリケーションとの間で情報を送受信できます。
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 タスクが失敗することがあります。
    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 をポーリングできます。