Apidog

オールインワンのAPI開発プラットフォーム

API設計

API仕様書生成

APIデバッグ

API Mock

APIテスト自動化

無料登録
Home / Apidogの自動テストをJenkinsと統合してCI/CDを実現する方法

Apidogの自動テストをJenkinsと統合してCI/CDを実現する方法

APIテストにおけるCI/CD(継続的インテグレーション/継続的デリバリー)の主な目的は、検証プロセスを自動化し、APIが機能しており、本番環境にデプロイする前に準備が整っていることを確認することです。継続的インテグレーションを使用することで、API定義に変更が加えられるたびに機能テストを自動的に実行でき、潜在的な問題を早期に検出できます。

Apidogは、Jenkins、GitLab、GitHub Actionsなど、さまざまなCI/CDプラットフォームとの統合をサポートしています。Apidogの自動テストのCI/CDモジュールに、統合コードスニペットがあります。これらのスニペットをCI/CDワークフローに追加することで、既存のCI/CDプロセスにApidogの自動テストをシームレスに組み込むことができます。

この記事では、Apidogの自動テストをJenkinsと統合することに焦点を当て、具体的な手順を詳述します。

ボタン

手順1:Jenkinsのインストール

異なるオペレーティングシステムに合わせたインストール手順については、公式のJenkinsドキュメントを参照してください。

Jenkinsのインストール

インストールが完了したら、http://{your-public-IP}:8080を通じてJenkinsの視覚インターフェースにアクセスできます。

Jenkinsの視覚インターフェース

Apidog CLIコマンドの実行のためにJenkinsを設定します。

Node.js環境の設定

NodeJSプラグインのインストール

Jenkinsの管理ページから「Jenkinsの管理」をクリックし、「プラグインの管理」を選択してプラグイン管理ページに入ります。

NodeJSプラグインのインストール

「利用可能」タブの下でNodeJSプラグインを検索し、インストール後にJenkinsを再起動します。

利用可能なプラグイン

NodeJSとグローバルnpmパッケージの設定

NodeJSプラグインがインストールされた後、「Jenkinsの管理」ページに戻り、「ツール」を選択してグローバル設定ツールページにアクセスします。

NodeJSとグローバルnpmパッケージの設定

NodeJSモジュールを探し、「NodeJSを追加」をクリックし、NodeJSエイリアス(例:nodejs18)を入力し、NodeJSのバージョン(v14.20.1より大きい必要があります)を選択し、「グローバルnpmパッケージにインストールする」にApidog-cliを入力します。

「自動的にインストール」をチェックして、ビルドプロセス中にパッケージがインストールされるようにし、設定を保存します。

継続的インテグレーションパイプラインの作成

Jenkinsで継続的インテグレーションを達成するためには、パイプラインとフリースタイルプロジェクトの二つの方法があります。以下に両方の方法の詳細を示します。

1:パイプラインの構築

パイプラインプロジェクトの作成:Jenkinsのホームページで「新しいアイテム」をクリックし、プロジェクト名を入力して「パイプライン」を選択し、「OK」をクリックします。

2. パイプラインの設定:

プロジェクト設定ページで、「パイプライン」オプションを見つけ、「定義」ドロップダウンメニューから「パイプラインスクリプト」を選択します。

パイプラインスクリプト

以下のApidogからのパイプラインスクリプトをスクリプトボックスに入力し、設定を保存します。

pipeline {
  agent any

  tools {nodejs "nodejs18"}

  stages {
    stage('Install Apidog CLI') {
      steps {
        sh 'npm install -g apidog-cli'
      }
    }

    stage('Running Test Scenario') {
      steps {
        sh 'apidog run --access-token $APIDOG_ACCESS_TOKEN -t 605067 -e 1629989 -n 1 -r html,cli'
      }
    }
  }
}

このパイプラインスクリプトは、Apidog自動化テストのCI/CDモジュールで利用できます。

上記のパイプラインスクリプトは、Apidog CLIをインストールするスクリプトを削除することによって、次のように簡略化できます。これにより、ビルドを行うたびにapidog-cliをインストールする必要がなくなり、ビルド時間とリソース消費を削減できます。これは、NodeJSとグローバルnpmパッケージ(すなわち、apidog-cli)がグローバルツール設定で事前に構成されており、インストールされたツールがビルドプロセス中に直接使用できることを保証します。

pipeline {
  agent any

  tools {nodejs "nodejs18"}

  stages {
    stage('Running Test Scenario') {
      steps {
        sh 'apidog run --access-token $APIDOG_ACCESS_TOKEN -t 605067 -e 1629989 -n 1 -r html,cli'
      }
    }
  }
}

新しいバージョンのCI/CDコマンドを使用している場合は、コマンドライン上の変数が必要です。変数$APIDOG_ACCESS_TOKENをコード内の実際のアクセストークンに置き換える必要があります。また、Jenkinsの「ダッシュボード -> Jenkinsの管理 -> システム」に環境変数$APIDOG_ACCESS_TOKENを追加し、その値をアクセストークンに設定することもできます。これにより、パイプラインの実行時にシステムがアクセストークンを読み取れるようになります。

$APIDOG_ACCESS_TOKEN

3. ビルドの実行

プロジェクトページで「今すぐビルド」をクリックして実行パイプラインを開始します。

今すぐビルド

ビルドの進捗状況と結果は、ビルド履歴で確認できます。

ビルド履歴


フリースタイルプロジェクトの構築

  1. フリースタイルプロジェクトの作成

Jenkinsのホームページで「新しいアイテム」をクリックし、プロジェクト名を入力して「フリースタイルプロジェクト」を選択し、「OK」をクリックします。

フリースタイルプロジェクト

2. ビルド環境の設定

プロジェクト設定ページで、「ビルド環境」セクションの下にある「Node&npm bin/フォルダーをPATHに提供」をチェックし、先に設定したNodeJSのバージョン(例:nodejs18)を選択します。

ビルド環境

3. ビルドステップの追加

ビルド環境を設定したら、「ビルドステップ」セクションに移動し、「ビルドステップを追加」をクリックし、「シェルを実行」(またはWindowsサーバーの場合は「Windowsバッチコマンドを実行」)を選択します。

ビルドステップ

提供されたフィールドにApidog CLIコマンドを貼り付けて、設定を保存します。

Apidog CLIコマンドを貼り付ける

4. ビルドの実行

プロジェクトページで「今すぐビルド」をクリックしてビルドプロセスを開始します。

ビルドを実行

手順4:ビルド結果をサードパーティアプリケーションに送信する

CIビルドの結果は、FeishuやDingTalkなどのサードパーティアプリケーションに送信できます。通知を設定するには、Apidogのプロジェクト設定 -> 通知設定 -> 外部通知に移動し、必要な通知イベントを設定します。

よくある質問

  1. インターフェースにアップロードが必要なファイルがある場合、ビルド時にそのファイルをどう取得しますか?

必要なファイルをCLIを実行しているマシン(Jenkinsが実行されているホスト)に事前にアップロードできます。たとえば、この画像ファイル:images.jpgを、そのパスをコピーして持っておくことができます。

images.jpg

Apidogでファイルアップロードが必要なAPIに移動し、「一括編集」ボタンをクリックします。

一括編集

アップロードしたファイルのファイルパスを「パラメータ値」フィールドに入力することで、ビルド中に自動的に実際のファイルを取得できます。

パラメータ値

さらに、環境変数の「初期値」にファイルのパスを入れることもできます。

初期値

その後、「一括編集」で変数としてファイルパスを参照することで、ビルド時にもファイルパスを使って実際のファイルを取得できます。

一括編集

2. Jenkinsで定期ビルドを設定するには?

Apidogはいまのところ定期タスクをサポートしており、ヘルプファイルの「定期的に機能テストを実行する」モジュールを参照してください。これはより親しみやすく、便利です。

Jenkinsで定期的なタスクを設定したい場合は、プロジェクトの「ビルドトリガー」を設定し、Unix系のcron式を使用してビルドの時間と頻度を指定できます。

Jenkinsプロジェクト設定ページで、「ビルドトリガー」モジュールを見つけ、「定期的にビルド」をチェックし、表示されるテキストボックスにcron式を入力してビルドの時間と頻度を定義します。ここではcron式の使用について詳しくは述べません。

ビルドトリガー

結論

このガイドは、Apidog自動テストをJenkinsと統合する方法を概説しています。選択したビルド方法に関係なく、Apidog CLIが事前にインストールされていることを確認してください。これは、ビルド中の自動インストールまたはJenkinsホスト上でのプレインストール(コマンドnpm install -g Apidog-cliを使用)によって行うことができます。

ボタン

Apidogのニュースレターを購読する

今すぐ購読すると、いつでもApidogから更新情報と最新観点を手に入れることができます。

有効なメールアドレスを入力してください。
ネットワークエラー、後で再試行してください
購読していただきありがとうございます!