このページを共有

# 何もない作業項目に「テスト」タスクを追加する

このフローの目標は、各ストーリーにタイプtestのタスクが少なくとも1つ割り当てられていることを確認し、必要に応じてタスクを追加することです。

エリア: 作業項目、タスク、リストノード

このトピックの内容:

## エンティティ関連図

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

エンティティ | このフローの関係 | 関係の説明 | 参照 /関係フィールド
--- | --- | --- | ---
作業項目 | エピック、フィーチャー、不具合、ユーザーストーリー、品質ストーリー | この集約リソースコレクションは、エピック、フィーチャー、不具合、ユーザーストーリー、品質ストーリーなど、作業項目のタイプを表します。 | subtype
タスク | 作業項目はタスクに関連付けることができます。 | child_task
リリース | 作業項目はリリースに関連付けることができます。 | release
タスク | 作業項目 | タスクは、1つの品質ストーリー、ユーザーストーリー、または不具合に関連付ける必要があります。 タスクは、エピックやフィーチャーなどの他の作業項目に関連付けることはできません。 ユーザーストーリー、品質ストーリー、および不具合は、複数のタスクに関連付けることができます。 | story defect
フェーズ | タスクはフェーズに関連付ける必要があります。 | phase
ユーザー | タスクには1人の所有者が必要です。 | owner
リストノード | 各タスクのタイプは、list_nodeリソースコレクションを照会することで参照できます。 | item_type
エピック | 作業項目 | エピックはwork_itemsのサブタイプです。 集約リソースコレクションwork_itemsに関連するフィールドはありません。 |
フィーチャー | エピックはフィーチャーに関連付けることができます。 |
フィーチャー | 作業項目 | フィーチャーはwork_itemsのサブタイプです。 集約リソースコレクションwork_itemsに関連するフィールドはありません。 |
エピック | フィーチャーはエピックに関連付けることができます。 | parent
ストーリーと不具合 | フィーチャーは、ユーザーストーリー、品質ストーリー、および不具合に関連付けることができます。 |
ユーザーストーリー | 作業項目 | ユーザーストーリーは、work_itemsのサブタイプです。 集約リソースコレクションwork_itemsに関連するフィールドはありません。 |
フィーチャー | ユーザーストーリーはフィーチャーに関連付けることができます。 | parent
不具合 | ユーザーストーリーは不具合に関連している可能性があります。 |
品質ストーリー | 作業項目 | 品質ストーリーは、work_itemsのサブタイプです。 集約リソースコレクションwork_itemsに関連するフィールドはありません。 |
フィーチャー | 品質ストーリーはフィーチャーに関連付けることができます。 | parent
不具合 | 品質ストーリーは不具合と関連している可能性があります。 |
不具合 | 作業項目 | 不具合はwork_itemsのサブタイプです。 集約リソースコレクションwork_itemsに関連するフィールドはありません。 |
フィーチャー | 不具合はフィーチャーに関連付けることができます。 | parent
ストーリー | 不具合はストーリーに関連付けることができます。 |
フェーズ | フィーチャー、品質ストーリー、ユーザーストーリー、および不具合 | フィーチャー、品質ストーリー、ユーザーストーリー、および不具合は、フェーズに関連付ける必要があります。 | phase
ユーザー | すべての作業項目 | エピック、フィーチャー、品質ストーリー、ユーザーストーリー、および不具合は、所有者に関連付けることができます。 | owner
リリース | すべての作業項目 | エピック、フィーチャー、品質ストーリー、ユーザーストーリー、および不具合は、所有者に関連付けることができます。 | release
スプリント | スプリントはリリースに関連付けられています。 | release

トップに戻る

## フロー

このフローの目標は、各ストーリーに、タイプtestのタスクが少なくとも1つ割り当てられていることを確認することです。

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

1. すべてのストーリーにタスクを設定してもらいたい。したがって、最初のステップとして、ユーザーストーリーであるすべての作業項目を一覧表示します。

   これを行うには、subtypeがstoryである作業項目のみを一覧表示するクエリ句を入力します。

   `GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/work_items&query="(subtype EQ ^story^)"`

2. タスクリソースコレクションを見ると、item_typeフィールドがタスクタイプをリストしていることがわかります。これは、list_nodeリソースを指す参照フィールドです。

   `GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/tasks`

   以下の応答では、item_typeは、list_node.task_item_type.documentのidが、このタスクがたまたまdocumentであることを示しています。タイプ。

   応答

   これは、list_nodeリソースを参照することで示されるように、タイプがtestであるタスクを示す部分的な応答です。

       {
          "type": "task",
          "phase": {
              "type": "phase",
              "id": "phase.task.new"
          },
          "item_type": {
              "type": "list_node",
              "id": "list_node.task_item_type.document"
          },
          "remaining_hours": 9,
          "invested_hours": 0,
          "estimated_hours": 9,
          "name": "fixed and closed legends are the same color",
          "id": "1171",
          "story": {
              "type": "story",
              "id": "1070"
           }
       },
         ...
         ...
         ...

3. ストーリーのタスクを表示する方法と、list_nodesでタイプを検索するために使用するフィールドがわかったので、使用可能なタスクタイプをどのように知ることができますか？

   これは、*ワイルドカードを使用してlogical_nameがlist_node.task_item_typeで始まるリストノードについて、list_nodeリソースにクエリを実行することで確認できます。

   5つのタイプが返されます。1つは、タスク項目のリストノードのルートです。他の4つは、使用可能なさまざまなタスクタイプです。調査、開発、ドキュメント、テスト。

   `GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/list_nodes?query="logical_name EQ ^list_node.task_item_type*^"`

   応答

       {
           "total_count": 5,
           "data": [
               {
                   "type": "list_node",
                   "logical_name": "list_node.task_item_type.research",
                   "name": "Research",
                   "list_root": {
                       "type": "list_node",
                       "id": "list_node.task_item_type"
                   },
                   "id": "list_node.task_item_type.research",

               },
               {
                   "type": "list_node",
                   "logical_name": "list_node.task_item_type.develop",
                   "name": "Develop",
                   "list_root": {
                       "type": "list_node",
                       "id": "list_node.task_item_type"
                   },
                   "id": "list_node.task_item_type.develop",

               },
               {
                   "type": "list_node",
                   "logical_name": "list_node.task_item_type.document",
                   "name": "Document",
                   "list_root": {
                       "type": "list_node",
                       "id": "list_node.task_item_type"
                   },
                   "id": "list_node.task_item_type.document",

               },
               {
                   "type": "list_node",
                   "logical_name": "list_node.task_item_type.test",
                   "name": "Test",
                   "list_root": {
                       "type": "list_node",
                       "id": "list_node.task_item_type"
                   },
                   "id": "list_node.task_item_type.test",

               },
               {
                   "type": "list_node",
                   "logical_name": "list_node.task_item_type",
                   "name": "Task Item Type",
                   "list_root": null,
                   "id": "list_node.task_item_type",

               }
           ],
           "exceeds_total_count": false
       }

4. これで、テストタスクが欠落しているすべてのストーリーのリストを取得するために必要なすべての情報が得られました。

   テスト以外のタスクのみを取得するには、Not演算子!を使用していることに注意してください。

   `GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/work_items?fields=name,id&order_by=id&query="(subtype EQ ^story^;!(child_tasks EQ {item_type EQ {id EQ ^list_node.task_item_type.test^}}))"`

5. 各ストーリーにテストタスクを持たせたい場合は、それぞれに新しいタスクを追加します。

   POST時に特定のフィールドに参照フィールド値を割り当てる方法に注意してください。

   また、このリクエストは、is_draftフィーチャーを使用してドラフトエンティティを作成する方法を示しています。ドラフトエンティティを使用すると、エンティティを作成するときに必須フィールドの値の指定をバイパスできます。後でエンティティ (PUT) を更新するときに、必須フィールドは必須になります。詳細については、ドラフトエンティティを参照してください。

   `POST .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/tasks`

   ペイロード

       {"data":
          [
             {   "item_type":
                       {"type":"list_node",
                        "id":"list_node.task_item_type.test"},
                 "phase":
                       {"type":"phase",
                       "id":"phase.task.new"},
                 "story":
                       {"type":"work_item",
                       "id":"1220"},
                 "owner":
                       {"type":"workspace_user",
                       "id":"1001"},
                 "name":"Testing",
                 "is_draft":true
             }
          ]
       }

トップに戻る

参照情報:

- REST APIの操作方法
- 一般的なフローとERダイアグラム

https://admhelp.microfocus.com ALM Octane 8942
検索結果を改善するためのヒント... ALM Octaneヘルプセンター ALM Octaneヘルプ 15.1.90 すべて ローカルヘルプセンターを表示 オンラインヘルプセンターを表示 戻る ブラウザーの履歴内を戻る 進む ブラウザーの履歴内を進む 検索のハイライトを削除する 次のトピック 次のトピックに進む 前のトピック 前のトピックに戻る 現在のトピックを印刷 バージョン: