LoginSignup
0
0

More than 3 years have passed since last update.

Google Apps Scriptを使ってQualityForward APIを便利にする

Last updated at Posted at 2020-03-13

QualityForwardはテスト管理のクラウドサービスを提供しています。Web APIも提供しているのですが、各モデルの一覧を返すAPIのみとなっています。検索したり、並び替えるなどの機能がないので、操作が不便に感じる人もいるかも知れません。

そこでGoogle Apps Scriptを間に挟んでQualityForwardへのアクセスを容易にしてみたいと思います。

QualityForward用Google Apps Script SDKを使う

Google Apps ScriptでのプロジェクトIDは 1ppRPLjuClG0MhtnXYbskdZ8uYGbyCFHv7MFhr0GYa-3IAKEh8B7lmTMb になります。これを取り込んでください。以下はデフォルトの QualityForward として取り込んだ場合の書き方です。

初期化

初期化はAPIキーを適用して行います。

var apiKey = 'aaa';
var qf = new QualityForward.Client(apiKey);

簡単な使い方

今回はGET処理でデータを取得します。APIキーはパラメータとして与えられるようにします。

function doGet(e) {
  var out = ContentService.createTextOutput();
  if (!e.parameter.apiKey) {
    return out;
  }
  var qf = new QualityForward.Client(e.parameter.apiKey);
  // :
}

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

var testPhases = qf.getTestPhases();

後はこの内容をJSONとして返却します。全件返却なので特に意味はありません。

var out = ContentService.createTextOutput();
//Mime TypeをJSONに設定
out.setMimeType(ContentService.MimeType.JSON);

//JSONテキストをセットする
out.setContent(JSON.stringify(testPhases));
return out;

試す

では実際に呼び出してみます。

$ curl -L "https://script.google.com/macros/s/AKfycbzb7QkA-EbdynKorbaAqi3pxD8Ue-91w4jrRW1oxob5AGDXxqaN/exec?apiKey=0aa...340" | jq
[
  {
    "id": 3328,
    "project_id": 748,
    "name": "Redmine連携",
    "start_on": "2019-08-16T00:00:00.000Z",
    "end_on": "2019-09-16T00:00:00.000Z",
    "redmine_issues_url": "https://moongift.planio.jp/projects/website-redesign/issues.json?key=9fac1c578db4ea6a2bc2362ee0435539",
    "test_suite_assignments": [
      {
        "id": 16492,
        "test_phase_id": 3328,
        "test_suite_version_id": 13288
      }
    ],
    "created_at": "2019-08-16T03:26:32.781Z",
    "updated_at": "2019-08-16T03:35:14.758Z"
  },

このようにQualityForward APIの結果が返ってきます。後はパラメータを追加して検索結果をフィルタリングしたり、ソートするのも簡単にできそうです。また、集計結果を返す専用のAPIを作るのも難しくないでしょう。

QualityForward

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0