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 ビルド番号を取得します。
手順
- パイプラインを作成するには、 の順にクリックします。
- パイプライン ステージで、[+ シーケンシャル タスク] をクリックします。
- タスク ペインで、次の REST タスクを追加します。
- タスクの名前を入力します。
- [タイプ] ドロップダウン メニューで、[REST] を選択します。
- [REST リクエスト] 領域で、[GET] を選択します。
REST タスクが別のアプリケーションにデータを申請するようにするには、GET メソッドを選択します。別のアプリケーションにデータを送信するには、POST メソッドを選択します。
- ビルド タグの取得に使用する 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 にシークレット変数を使用します。シークレット変数も制限付き変数も、パイプライン内の任意のタイプのタスクで使用できます。
- タスクの認証を行うには、[ヘッダーの追加] をクリックして、ヘッダーのキーと値を入力します。以下はその一例です。
Key |
値 |
同意する |
application/json |
Content-Type |
application/json |
- REST タスクの応答の情報を使用する後続のタスクを追加します。
- パイプラインを保存するには、[保存] をクリックします。
- [パイプライン] タブで、[パイプラインを有効にする] をクリックします。
- [保存] をクリックし、[閉じる] をクリックします。
- [実行] をクリックします。
- パイプラインの実行を監視するには、[実行] をクリックします。
- REST タスクから想定どおりの情報が返されたことを確認するには、パイプライン実行とタスク結果を調べます。
- パイプラインの完了後、申請したデータが他のアプリケーションから返されたことを確認するには、パイプライン実行へのリンクをクリックします。
- パイプラインの REST タスクをクリックします。
- パイプライン実行で、タスクをクリックし、タスクの詳細を観察して、REST タスクから想定どおりの結果が返されたことを確認します。
タスクの詳細には、応答コード、本文、ヘッダー キー、および値が表示されます。
- JSON 出力を表示するには、[JSON 出力の表示] をクリックします。
結果
完了です。REST API を呼び出し、REST プラグインを使用して Automation Pipelines と別のアプリケーション間で情報を送信する REST タスクを設定しました。
次のタスク
引き続きパイプラインで REST タスクを使用してコマンドを実行し、Automation Pipelines を他のアプリケーションと統合して、ソフトウェア アプリケーションを開発して配信できるようにします。ポーリング タスクを使用すると、API が完了し、パイプライン タスクが終了条件を満たすまで、API をポーリングできます。