失敗したテスト実行に関連する解決済みの不具合を取得する

このフローは、失敗したテスト実行に関連する閉じた不具合のリストを取得する方法を示しています。このAPIを呼び出して、実行が失敗した場合に不具合を閉じる方法をさらに調べることができます。

エリア: テストの実行、不具合 

エンティティ関連図

このフローでは、次のエンティティにアクセスし、これらのエンティティ間の関係を理解する必要があります。

エンティティ このフローの関係 関係の説明 参照フィールド
不具合 フェーズ フェーズは、不具合などの項目のステータスを示します。 phase
実行 テストの実行時に不具合を開くことができます。  
実行 テスト 実行はテストに関連付けられています。 test
不具合 不具合は、特定の実行で開かれる可能性があります。たとえば、その実行中に発見された場合などです。 run
テスト 実行

この集約リソースコレクションは、手動、Gherkin、テストスイート、自動化など、テストの種類を表します。

テストは実行に関連付けることができます。

run

トップに戻る

フロー

ステップバイステップでREST API呼び出しを作成しましょう。

  1. 不具合はクローズされますが、不具合に関連するテストはまだ失敗しています。このフローのテストのIDは1113です。

    最初のステップとして、ワークスペース1002のすべての不具合を一覧表示します。

    GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/defects

  2. query_clauseの作成を始めましょう。クエリ句は3つの基準をチェックします。各基準は、AND演算子を表すセミコロン (;) で区切ります。

    最初の基準は、閉じられているワークスペースの不具合をリストすることです。

    phase参照フィールドを使用し、フェーズリストのlogical_nameフィールドでフィルタリングして、閉じたフェーズのみを検索します。

    GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/defects?query="phase EQ {logical_name EQ ^phase.defect.closed^}"

  3. 閉じた不具合のみを調べることに加えて、特定のテスト1113の実行のみを調べたいと思います。これにはクロスフィルタリングを使用します。

    GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/defects?query="phase EQ {logical_name EQ ^phase.defect.closed^};run EQ {test EQ {id EQ 1113}}"

  4. 最後に、実行のステータスをチェックする句をクエリ句に追加します。失敗したテスト実行の不具合のみを確認したいと思います。status参照フィールドを使用し、リストノードのlogical_nameフィールドで失敗したステータスをフィルタリングします。

    GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/defects?query="phase EQ {logical_name EQ ^phase.defect.closed^};run EQ {test EQ {id EQ 1113}; status EQ {logical_name EQ ^list_node.run_status.failed^}}"

このフローの完全なREST API呼び出しは次のとおりです。 

GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/defects?query="phase EQ {logical_name EQ ^phase.defect.closed^};run EQ {test EQ {id EQ 1113}; status EQ {logical_name EQ ^list_node.run_status.failed^}}"

トップに戻る

Javascriptの例

/**
 * Flow: How to find closed defects with associated failing test run.
 * Use case: I have reported the defect as closed, but the test is still failing.
 * Find closed defects of all failing runs of a specific test with id x.
 * @param requestor
 */
function getClosedDefectsWithFailingTests1(requestor) {
  var testId = 1113;

  requestor.get('/defects?query="phase EQ {logical_name EQ ^phase.defect.closed^};' +
    'run EQ {test EQ {id EQ '+ testId +'};' +
    ' status EQ {logical_name EQ ^list_node.run_status.failed^}}"', function(error, message, defects) {
    console.info(defects);
  });
}

exports.getClosedDefectsWithFailingTests1 = getClosedDefectsWithFailingTests1;

トップに戻る

参照情報: