QualityForward APIでGoogleスプレッドシートに一日の作業件数を記録する
QualityForwardはクラウドベースのテスト管理サービスです。Web APIを提供しています。そのWeb APIを使いやすくするため、Google Apps Script用ライブラリを開発中です。
今回はそのGoogle Apps Scriptライブラリを使って、Googleスプレッドシートに一日の作業件数を集計します。
インストール
Google Apps ScriptでのプロジェクトIDは 1ppRPLjuClG0MhtnXYbskdZ8uYGbyCFHv7MFhr0GYa-3IAKEh8B7lmTMb
になります。これを取り込んでください。以下はデフォルトの QualityForward
として取り込んだ場合の書き方です。
初期化
初期化はAPIキーを適用して行います。
var apiKey = 'aaa';
var qf = new QualityForward.Client(apiKey);
テストフェーズの取得
最初にテストフェーズをすべて取得します。
var testPhases = qf.getTestPhases();
次にすべてのテストフェーズについて、テストサイクルを取得します。
for (var i in testPhases) {
for (var j in testPhases[i].test_suite_assignments) {
var testSuiteAssignment = testPhases[i].test_suite_assignments[j];
var testCycles = testSuiteAssignment.getTestCycles();
// : 次の処理はこの中に記述
}
}
テスト結果の取得
すべてのテストサイクルについて、テスト結果を取得します。テスト結果の中で本日作業分をフィルタリングします。
for (var k in testCycles) {
var testCycle = testCycles[k];
var results = testCycle.getTestResults();
for (var l in results) {
var testResult = results[l];
var d = testResult.executed_at;
if (d.getFullYear() === today.getFullYear() &&
d.getMonth() === today.getMonth() &&
d.getDate() === today.getDate()) {
ary.push(testResult);
}
}
}
テスト結果ごとにグルーピングする
TestResultが取得できたら、例えばテスト結果ごとにグルーピングしてみます。
var group = {};
for (var key in ary) {
var testResult = ary[key];
if (!group[testResult.result]) group[testResult.result] = 0;
group[testResult.result]++;
}
後はスプレッドシートへの出力です。
var resultSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('TestResult')
var lastRow = resultSheet.getRange(resultSheet.getMaxRows(), 1).getNextDataCell(SpreadsheetApp.Direction.UP).getRow();
resultSheet.getRange(lastRow + 1, 1).setValue(today);
resultSheet.getRange(lastRow + 1, 2).setValue(group.pass || 0);
resultSheet.getRange(lastRow + 1, 3).setValue(group.fail || 0);
resultSheet.getRange(lastRow + 1, 4).setValue(group.skip || 0);
resultSheet.getRange(lastRow + 1, 5).setValue(group.cut || 0);
resultSheet.getRange(lastRow + 1, 6).setValue(group.block || 0);
resultSheet.getRange(lastRow + 1, 7).setValue(group.na || 0);
resultSheet.getRange(lastRow + 1, 8).setValue(group.qa || 0);
これを実行すると、スプレッドシートに日付ごとにテスト結果が一覧で記録されます。
まとめ
QualityForwardを使えばExcelなどで行っていた煩雑なテスト管理がクラウドベースでできるようになります。ライブラリを使うことで既存システムとの連携も用意です。ぜひお試しください!
Author And Source
この問題について(QualityForward APIでGoogleスプレッドシートに一日の作業件数を記録する), 我々は、より多くの情報をここで見つけました https://qiita.com/goofmint/items/ff67c46c090f2b0e9b10著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .