11. 外部連携
TestRail を課題管理ツール、要件管理ツールと連携したり、REST API を利用して外部から TestRail にアクセスすることができます。
本章では TestRail の外部連携について説明します。
課題管理ツールとの連携
テスト実行中に発見されたバグ情報を元に、TestRail から課題管理ツール(Redmine や JIRA など)のチケットを新規に起票することができます。
連携の仕組みは2通りあります。
欠陥URL
TestRail から課題管理ツールのチケット新規作成ページにジャンプして新しいバグ情報を登録することができます。
-
- テストの「結果の追加」画面の 欠陥 > 追加 リンクをクリックします。

-
- 連携設定済みの課題管理ツールの新規バグ登録画面が開き、バグ情報を登録します。

-
- バグ情報が発行された ID を 欠陥 フィールドに登録します。

-
- 結果登録後、結果の一覧に登録した ID のリンクからバグ情報の画面に遷移できます。
欠陥プラグイン
TestRail から直接、課題管理ツールにバグ情報を登録することができます。
-
-
テストの「結果の追加」画面の 欠陥 > プッシュ リンクをクリックします。
-

-
- 連携設定済みの課題管理ツールの新規バグ登録用のダイアログ画面が開き、登録情報を入力します。(赤枠内の TestRail のURLは自動で挿入されます。)

-
- 結果登録後、結果の一覧に登録した ID のリンクが表示され、カーソルをあてるとチケットの内容を確認できます。

【補足】登録されたチケット(課題管理ツール側)

要件管理ツールとの連携
要件管理ツールに登録された要件情報と TestRail のテストケースを紐づけて管理できます。
またテストケース登録時に新規の要件を、要件管理ツールに登録することもできます。
参照URL
-
- テストケース追加画面の 参照 フィールドに要件 ID を設定します。(追加リンクから要件管理ツールを開いて新規に要件を登録することもできます。)

-
- テストケース登録後、登録したのリンクから要件情報のページに遷移できます。
REST API
TestRail にはテスト管理を自動で行うために REST API が用意されています。
REST API を利用することで以下のことが可能になります。
-
- 自動テストからテスト結果、添付ファイルを登録する
- レガシーなシステムからテストケースを移行する
- 異なるシステム間でテストケースを共有する
- TestRail上のマイルストーンやテストランを作成する
テストケース情報の取得例 (python)
-
- REST API (get_case) の呼び出し
client = APIClient('http:///testrail/') client.user = 'username' client.password = 'password' case = client.send_get('get_case/1') pprint(case)
-
- 戻り値
{ "id": 1, "title": "文書のマージンを変更し、PDFエクスポートとの相互運用性をテストする", "section_id": 1, "template_id": 1, "type_id": 3, "priority_id": 2, "milestone_id": null, "refs": null, "created_by": 1, "created_on": 1580291613, "updated_by": 1, "updated_on": 1580291613, "estimate": "10m", "estimate_forecast": "9m 30s", "suite_id": 1, "display_order": 1, "custom_automation_type": 0, "custom_preconds": "**テストデータが初期化されていること。**\n", "custom_steps": "自動化スクリプトに順ずる。\n", "custom_expected": "自動化スクリプトに順ずる。\n", "custom_steps_separated": null, "custom_mission": null, "custom_goals": "Aenean quis nulla eu dui luctus lobortis:\n\n\t\th1 {\n\t\t\tfont-size: 20px;\n\t\t\tfont-weight: bold;\n\t\t\tmargin-bottom: 1em;\n\t\t\tmargin-top: 0.5em;\n\t\t}\n\t\t\nIn vulputate libero **in nulla feugiat tincidunt**. Etiam massa dolor, ornare sit amet, lacinia nec, bibendum ut, magna." }
テスト結果の登録例 (python)
-
- REST API (add_result_for_case) の呼び出し
result = client.send_post( 'add_result_for_case/1/1', { "status_id": 1, "comment":"This test worked fine!"} ) pprint(result)
-
- 戻り値
{ "id": 4563, "test_id": 3822, "status_id": 1, "created_by": 1, "created_on": 1581052893, "assignedto_id": null, "comment": "This test worked fine!", "version": null, "elapsed": null, "defects": null, "custom_step_results": null, "attachment_ids": [] }
リンク
-
- TestRail ユーザーガイド
- 次のチュートリアル: 12.その他