Apidog

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

API設計

APIドキュメント

APIデバッグ

APIモック

API自動テスト

CI/CDの強化!ApidogとJenkins自動化統合の方法

このガイドは、Apidogの自動テストをJenkinsと統合してCI/CDを実現する方法を概説しています。選択したビルド方法に関係なく、Apidog CLIを事前にインストールすることが重要です。ビルド中の自動インストールまたはJenkinsホストでのプレインストールが可能です。

中村 拓也

中村 拓也

Updated on 11月 12, 2024

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でバックエンドAPI開発の効率をどう向上させるか?チュートリアル

ApidogでバックエンドAPI開発の効率をどう向上させるか?

ApidogはAPI管理の全体的なソリューションを提供し、定義からデバッグ、ドキュメント作成までバックエンド開発を最適化します。プロジェクトの規模に関わらず、開発者が効率的に作業を完了するのを支援します。

中村 拓也

11月 25, 2024

APIテスト効率化:ApidogでのJSONレスポンス管理法チュートリアル

APIテスト効率化:ApidogでのJSONレスポンス管理法

この記事では、ApidogでJSONレスポンスからアサーション設定、変数抽出、JSONパスのコピー方法を解説しました。APIテストの自動化と効率的なレスポンス検証が簡単になり、データの再利用も可能です。Apidogを使い、API機能を確認しましょう。

中村 拓也

11月 20, 2024

ApidogとAlgolia統合で実現する効率的なドキュメント検索チュートリアル

ApidogとAlgolia統合で実現する効率的なドキュメント検索

本記事は、AlgoliaをApidogと統合し、APIドキュメントの検索機能を改善する方法を紹介します。最適な検索設定を維持しながら、情報アクセスの迅速さと効率性を向上させ、ユーザー体験を向上させます。

中村 拓也

11月 19, 2024