QualityForwardのAPIを使って更新履歴を取る


QualityForwardはテスト管理をクラウドで提供しています。そして、多くのクラウドサービスと同様にAPIを提供しています。現在、下記のデータを取得または新規作成、更新、削除できます。

  • プロジェクト
  • テストケース
  • テストサイクル
  • テストフェーズ
  • テスト結果
  • テストスイート
  • テストスイートバージョン
  • ユーザ

現在、非公式ながらNode.js用ライブラリ qualityforward-node を作っていますが、その使い方の一例として、テストスイートの更新履歴を管理してみます。

コード例

コードは下記のようになります。テストスイートを取得し、それをCSV化しています。

import * as dotenv from 'dotenv';
const { parse } = require('json2csv');

dotenv.config();
import { QualityForward} from 'qualityforward-node';

(async () => {
  const client = new QualityForward(process.env.API_KEY);
  const testSuites = await client.getTestSuites();
  const csv = parse(testSuites.map(s => s.toJSON()), {});
  console.log(csv);
})();

後はこれを定期的に実行するだけです。出力先は適当なGitリポジトリとしています。

$ npx ts-node test.ts > /home/user/repo/res.csv

cronなどで定期実行していれば、自動的に更新されるでしょう。データ取得時には自動でコミットも追加しておく方が良いでしょう。

差分を見る

CSVの差分を見る場合は、次のように行うと分かりやすいです。

$ git diff --word-diff-regex="[^,]+" res.csv 

そうすると、異なるセルだけが色分けされて表示されます(via csvを見やすくgit diff (word-diff-regexオプション) - Qiita)。もちろんCSV用の差分ビューワーを使うのも良いでしょう。

まとめ

データが誰かによって変更された場合にも、その差分を取っておけば安心です。差分によって設定を戻すこともできますし、いつから変わったのか捕捉も簡単です。APIを使って、適切な運用が行えるようになるでしょう。

QualityForward