Help us understand the problem. What is going on with this article?

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用の差分ビューワーを使うのも良いでしょう。

Screenshot_ 2019-09-13 16.24.59.png

まとめ

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

QualityForward

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away