GitHub Actionsとの統合方法：Apidogを活用したAPIテスト自動化

## はじめに

ApidogはAPIテストツールとして知られていますが、最近ではGitHub Actionsとの統合もサポートしています。これにより、APIのテストをCI/CDパイプラインの一部として簡単に組み込むことができます。この記事では、Apidogから自動生成されたコードをGitHub Actionsに統合し、テストを実行する方法を解説します。


:::note info
API テストの自動化は開発の効率化において重要な役割を果たします。[Apidog](http://www.apidog.com/jp/?utm_source=opr&utm_medium=a2takuya)を使えば、API プロジェクトにおけるテストの作成、実行、管理が簡単にできます。さらに、Apidog は GitHub Actions とシームレスに統合でき、コードの各段階でテストを自動で実行し、API の安定性と信頼性を確保できます。小規模なプロジェクトから大規模な企業向けアプリケーションまで、Apidog は開発効率を高める手助けをします。

今すぐ [Apidog を試して](https://apidog.com/jp/download/)、API テストの効率化を実感してください！
:::

## GitHub Actionsの初期設定
まず最初に、GitHub Actionsの環境をセットアップします。

### GitHubリポジトリの作成
GitHub ActionsはGitHubリポジトリ内で動作するため、まずはGitHubにログインし、新しいリポジトリを作成します。

- [GitHub](https://github.com/)に**サインイン**します
- 新しいリポジトリを作成し、任意の名前を設定します
- 「**Create repository**」をクリックします
![screenshot-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3877124/f72e0114-d19f-771f-1225-aea109bae6d3.png)


### GitHub Actionsの設定ファイル作成
次に、リポジトリ内にGitHub Actionsの設定ファイルを作成します。これにより、**Apidog**で生成したコードを**GitHub Actions**で実行できるようになります。

- 作成したリポジトリのページに移動し、上部の "**Actions**" タブをクリックします


- GitHub はいくつかのワークフローテンプレートを提供しますが、 "**set up a workflow yourself**" を選択します

![screenshot-4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3877124/2af73e80-300d-57e6-50bc-2223099539de.png)

- 新しいワークフローファイルを編集するページに移動し、`main2.yml` という名前のワークフローを作成します
![screenshot-5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3877124/301932cc-3d5c-5fb0-dc0e-d2457dfc1d4a.png)

リポジトリ内の `.github/workflows` ディレクトリに移動します。
`main2.yml` というファイルを作成し、以下の内容を入力します。

```
name: Automated API Tests

on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    # リポジトリのコードをチェックアウト
    - uses: actions/checkout@v3

    # Node.js のセットアップ
    - name: Setup Node.js environment
      uses: actions/setup-node@v2
      with:
        node-version: '14'

    # 依存関係のインストール
    - name: Install Apidog CLI
      run: npm install -g apidog-cli

    # Apidog CLI を使用して API テストを実行
    - name: Running Test Scenario
      run: apidog run --access-token $APIDOG_ACCESS_TOKEN -t 825138 -e 2563350 -n 1 -r html,cli
```


## Apidogで自動生成されるGitHub Actionsコードの利用方法
Apidogでは、APIテストのコードを自動生成する機能があります。このコードはGitHub Actionsに適用可能な形式で出力されるため、設定が非常に簡単です。

### Apidogでコードを生成する
- 1.ApidogでAPIテストを作成します
![apidog-aut-test-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3877124/b2150c6f-67fc-f121-ab46-d2d685bb9d6c.png)

- 2.テストが完成したら、「GitHub Actionsで使用するコードをエクスポート」オプションを選びます
- 3.「CI/CD」で生成されたコードを**コピー**します
![apidog-aut-test-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3877124/dd83f31a-5489-898d-383d-9e1a58979d84.png)



### GitHub Actionsにコードを追加する
次に、生成されたコードを先ほど作成した `main2.yml` ファイルに追加します。

```
      - name: Run Apidog API tests
        run: |
          echo "${{ secrets.APIDOG_API_TOKEN }}" > apidog.token
          npm install -g apidog-cli
          apidog run --token ${{ secrets.APIDOG_API_TOKEN }} --project "your_project_id"
```

上記のコードで、ApidogのテストがGitHub Actions内で実行されます。`${{ secrets.APIDOG_API_TOKEN }}` には、**Apidog APIの認証トークン**を設定してください。

- Apidogのトークンは簡単に取得でき、「Access Tokenを追加」をクリックするだけで、完全なコマンドを生成できます
![apidog-token-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3877124/96ee3426-3be9-bc84-d7ab-fd394686bc1d.png)

- 生成された完全なトークンコマンドは、コピーしてそのまま使用できます
![apidog-token-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3877124/bd415ae1-e9b8-dc52-f017-31951ddf379e.png)



## GitHub Actionsの実行と結果確認
### 流水線のトリガー
GitHub Actionsの設定が完了したら、`main` ブランチにコードをプッシュすることで、テストが自動的に実行されます。

- 1.リポジトリ内で変更を加え、`git push origin main` コマンドで変更をプッシュします
- 2.GitHub Actionsの設定ファイルがトリガーされ、APIテストが実行されます

### 結果の確認とデバッグ
GitHub Actions をコミットしてプッシュすると、ワークフローが自動的に実行されます。実行結果を確認する方法は次の通りです：

- GitHub リポジトリのページに戻り、上部の "Actions" タブをクリックします
- 実行中のワークフローや過去の実行履歴が表示されます
- 任意の実行履歴をクリックすると、詳細なログが表示され、各ステップの結果を確認できます。API テストが成功したかどうかもここで確認できます

![screenshot-7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3877124/c7f163d4-31fd-6ccb-9556-0018c7de2332.png)




## 終わりに
ApidogとGitHub Actionsを統合することで、APIテストをCI/CDパイプラインに組み込み、効率的な自動化を実現できます。Apidogで生成されたコードをGitHub Actionsで実行し、テスト結果をGitHub上で確認することで、よりスムーズな開発フローを実現しましょう。

**最後まで読んでくださり、ありがとうございました！
この記事を読んで少しでも理解を深めていただければ幸いです！**