QualityForwardで提供されているAPIについて

[QualityForward](http://bit.ly/32Za29W)はテスト管理クラウドサービスです。ExcelやGoogleスプレッドシートような一覧形式でテストを一括作成したり、テストケースを更新できます。

QualityForwardではAPIを提供しているのですが、ドキュメントがばらばらで分かりづらかったので一覧にしてみます。

## エンドポイントURL

`https://cloud.veriserve.co.jp`

## 必須パラメータ

api_key

APIキー。プロジェクトの設定で確認できます。プロジェクトに対して1つのAPIキーになります。

![Screenshot_ 2019-08-15 17.51.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/197026/f7387e3d-8840-b86e-5329-b1a1adc925cc.png)


## ユーザ

ユーザの一覧を取得します。

```
GET /api/v2/users.json
```

## プロジェクト

現在のプロジェクトを取得します。

```
GET /api/v2/current_project.json
```

## テストスイート

### テストスイートの取得

テストスイートを取得します。

```
GET /api/v2/test_suites.json
```

### テストスイートの作成

テストスイートを作成します。

```
POST /api/v2/test_suites.json
```

### テストスイートの更新

テストスイートを更新します。

```
PATCH /api/v2/test_suites/:id.json
```

### テストスイートの削除

テストスイートを削除します。

```
DELETE /api/v2/test_suites/:id.json
```

## テストスイートバージョン

### テストスイートバージョンの取得

テストスイートバージョンを取得します。

```
GET /api/v2/test_suites/:test_suite_id/test_suite_versions.json
```

### テストスイートバージョンの作成

テストスイートバージョンを作成します。

```
POST /api/v2/test_suites/:test_suite_id/test_suite_versions.json
```

### テストスイートバージョンの更新

テストスイートバージョンを更新します。

```
PATCH /api/v2/test_suites/:test_suite_id/test_suite_versions/:id.json
```

### テストスイートバージョンの削除

テストスイートバージョンを削除します。

```
DELETE /api/v2/test_suites/:test_suite_id/test_suite_versions/:id.json
```

## テストケース

### テストケースの取得

テストケースの取得をします。

```
GET /api/v2/test_suites/:test_suite_id/test_suite_versions/:test_suite_version_id/test_cases.json
```

### テストケースの作成

テストケースを作成します。

```
POST /api/v2/test_suites/:test_suite_id/test_suite_versions/:test_suite_version_id/test_cases.json
```

### テストケースの更新

テストケースを更新します。

```
PATCH /api/v2/test_suites/:test_suite_id/test_suite_versions/:test_suite_version_id/test_cases/:id.json
```

### テストケースの削除

テストケースを削除します。

```
DELETE /api/v2/test_suites/:test_suite_id/test_suite_versions/:test_suite_version_id/test_cases/:id.json
```

## テストフェーズ

### テストフェーズの取得

テストフェーズを取得します。

```
GET /api/v2/test_phases.json
```

### テストフェーズの作成

テストフェーズを作成します。

```
POST /api/v2/test_phases.json
```

### テストフェーズの更新

テストフェーズを更新します。

```
PATCH /api/v2/test_phases/:id.json
```

### テストフェーズの削除

テストフェーズを削除します。

```
DELETE /api/v2/test_phases/:id.json
```

## テストサイクル

### テストサイクルの取得

テストサイクルを取得します。

```
GET /api/v2/test_phases/:test_phase_id/test_suite_assignments/:test_suite_assignment_id/test_cycles.json
```

### テストサイクルの作成

テストサイクルを作成します。

```
POST /api/v2/test_phases/:test_phase_id/test_suite_assignments/:test_suite_assignment_id/test_cycles.json
```

### テストサイクルの更新

テストサイクルを更新します。

```
PATCH /api/v2/test_phases/:test_phase_id/test_suite_assignments/:test_suite_assignment_id/test_cycles/:id.json
```

### テストサイクルの削除

テストサイクルを削除します。

```
DELETE /api/v2/test_phases/:test_phase_id/test_suite_assignments/:test_suite_assignment_id/test_cycles/:id.json
```

## テスト結果

### テスト結果の取得

テスト結果を取得します。

```
GET /api/v2/test_phases/:test_phase_id/test_suite_assignments/:test_suite_assignment_id/test_cycles/:test_cycle_id/test_results.json
```

### テスト結果の作成

テスト結果を作成します。

```
POST /api/v2/test_phases/:test_phase_id/test_suite_assignments/:test_suite_assignment_id/test_cycles/:test_cycle_id/test_results.json
```

### テスト結果の更新

テスト結果を更新します。

```
PATCH /api/v2/test_phases/:test_phase_id/test_suite_assignments/:test_suite_assignment_id/test_cycles/:test_cycle_id/test_results/:test_case_no.json
```

### テスト結果の削除

テスト結果を削除します。

```
DELETE /api/v2/test_phases/:test_phase_id/test_suite_assignments/:test_suite_assignment_id/test_cycles/:test_cycle_id/test_results/:test_case_no.json
```

## まとめ

QualityForwardのAPIはシンプルなRESTful APIとなっています。使いこなすのは難しくないでしょう。

APIから見るに、モデルは以下のような構造となっています。

- User
- Project
- Test Suite
  - Test Suite Version
    - Test Cases
- Test Phase
  - Test Suite Assignment
    - Test Cycle
      - Test Result

`Test Suite Assignment` を操作するAPIがありませんが、アンドキュメントまたはAPI操作はできないということでしょう。

社内DBと連携したテスト管理や、外部システムとの連携にAPIを活用してください。

[ヘルプ | QualityForward](http://bit.ly/31SiRB1)