task list_added_task_history#

Description#

タスク一覧に、タスク履歴に関する情報に加えたものを出力します。 タスク履歴に関する情報は、たとえば以下のような情報です。

  • フェーズごとの作業時間

  • 各フェーズの最初の担当者と開始日時

Examples#

基本的な使い方#

$ annofabcli task list_added_task_history --project_id prj1 --output task.csv

警告

WebAPIの都合上、タスクは10,000件までしか出力できません。 10,000件以上のタスクを出力する場合は、annofabcli task list_all_added_task_history コマンドを使用してください。

タスクのフェーズやステータスなどで絞り込む#

--task_query を指定すると、タスクのフェーズやステータスなどで絞り込めます。

--task_query に渡す値は、https://annofab.com/docs/api/#operation/getTasks のクエリパラメータとほとんど同じです。 さらに追加で、user_id , previous_user_id キーも指定できます。

以下のコマンドは、受入フェーズで完了状態のタスク一覧を出力します。

$ annofabcli task list_added_task_history --project_id prj1 \
 --task_query '{"status":"complete", "phase":"not_started"}'

task_id絞り込む#

--task_id を指定すると、タスクIDで絞り込むことができます。

$ annofabcli task list_added_task_history --project_id prj1 \
 --task_id task1 task2

指定日以降の作業時間や担当者を出力する#

--start_date を指定すると、その日付以降(started_datetime を基準)に作業したタスク履歴に絞り込んで、フェーズごとの作業時間や効始担当者を計算します。

$ annofabcli task list_added_task_history --project_id prj1 \
 --start_date 2026-10-01

以下のカラムが追加されます。

  • since_2026-10-01.annotation_worktime_hour : 2026-10-01以降の教師付フェーズの作業時間

  • since_2026-10-01.inspection_worktime_hour : 2026-10-01以降の検査フェーズの作業時間

  • since_2026-10-01.acceptance_worktime_hour : 2026-10-01以降の受入フェーズの作業時間

  • since_2026-10-01.first_annotation_user_id : 2026-10-01以降に最初に教師付フェーズを担当したユーザのuser_id

  • since_2026-10-01.first_annotation_username : 2026-10-01以降に最初に教師付フェーズを担当したユーザの名前

  • since_2026-10-01.first_annotation_started_datetime : 2026-10-01以降に最初に教師付フェーズを着手した日時

  • since_2026-10-01.first_annotation_worktime_hour : 2026-10-01以降の最初の教師付フェーズの作業時間

検査・受入フェーズについても同様のカラムが追加されます。

--start_date は複数指定できます。

$ annofabcli task list_added_task_history --project_id prj1 \
 --start_date 2026-10-01 2026-12-01

出力結果#

CSV出力#

$ annofabcli task list_added_task_history --project_id prj1 --output task.csv

CSV出力時は、タスクのメタデータ(metadata)が metadata.{key名} の形式で列ごとに展開されます。 たとえば、タスクのmetadataが {"category": "foo", "priority": 1} の場合、metadata.categorymetadata.priority の2つの列が追加されます。

また、 input_data_id_list 列は、リスト型のためCSV出力時には除外されます。入力データの件数は input_data_count 列で確認できます。

JSON出力#

$ annofabcli task list_added_task_history --project_id prj1 --format pretty_json --output out.json
out.json#
[
{
    "project_id": "prj1",
    "task_id": "task1",
    "phase": "acceptance",
    "phase_stage": 1,
    "status": "complete",
    "input_data_id_list": [
        "input1",
        ...
    ],
    "account_id": "12bc2dca-d519-419b-8da1-cd431d91e193",
    "histories_by_phase": [
        ...
    ],
    "work_time_span": 3110962,
    "started_datetime": "2022-10-25T15:04:24.212+09:00",
    "updated_datetime": "2022-10-25T15:14:18.986+09:00",
    "operation_updated_datetime": "2022-10-25T15:14:18.986+09:00",
    "sampling": null,
    "metadata": {"category": "foo"},
    "user_id": "alice",
    "username": "Alice",
    "worktime_hour": 0.8641561111111111,
    "number_of_rejections_by_inspection": 1,
    "number_of_rejections_by_acceptance": 0,
    "input_data_count": 20,
    "created_datetime": "2022-10-22T00:18:20.922+09:00",
    "first_annotation_started_datetime": "2022-10-22T13:08:26.576+09:00",
    "first_annotation_worktime_hour": 0.5416294444444444,
    "first_annotation_user_id": "bob",
    "first_annotation_username": "Bob",
    "annotation_worktime_hour": 0.5879452777777777,
    "first_inspection_started_datetime": "2022-10-25T09:44:00.589+09:00",
    "first_inspection_worktime_hour": 0.08355916666666666,
    "first_inspection_user_id": "chris",
    "first_inspection_username": "Chris",
    "inspection_worktime_hour": 0.1110011111111111,
    "first_acceptance_started_datetime": "2022-10-25T15:04:24.212+09:00",
    "first_acceptance_worktime_hour": 0.16520972222222222,
    "first_acceptance_user_id": "alice",
    "first_acceptance_username": "Alice",
    "acceptance_worktime_hour": 0.16520972222222222,
    "first_inspection_reached_datetime": "2022-10-25T12:00:00.000+09:00",
    "first_acceptance_reached_datetime": "2022-10-24T15:14:18.967+09:00",
    "first_acceptance_completed_datetime": "2022-10-25T15:14:18.967+09:00",
    "completed_datetime": "2022-10-25T15:14:18.967+09:00",
    "inspection_is_skipped": false,
    "acceptance_is_skipped": false,
    "post_rejection_annotation_worktime_hour": 0.0,
    "post_rejection_inspection_worktime_hour": 0.0,
    "post_rejection_acceptance_worktime_hour": 0.0

},
...
]

以下の項目は、タスク履歴から算出した情報です。

日時#

  • created_datetime : タスクの作成日時

  • first_annotation_started_datetime : 初めて教師付フェーズを着手した日時

  • first_inspection_started_datetime : 初めて検査フェーズを着手した日時

  • first_inspection_reached_datetime : 初めて検査フェーズに到達した日時。 first_inspection_started_datetime より前の日時になる

  • first_acceptance_started_datetime : 初めて受入フェーズを着手した日時

  • first_acceptance_reached_datetime : 初めて受入フェーズに到達した日時。 first_acceptance_started_datetime より前の日時になる

  • first_acceptance_completed_datetime : 初めて受入フェーズかつ完了状態になった日時

  • completed_datetime : 受入フェーズかつ完了状態になった日時

作業時間#

  • annotation_worktime_hour : 教師付フェーズの作業時間

  • inspection_worktime_hour : 検査フェーズの作業時間

  • acceptance_worktime_hour : 受入フェーズの作業時間

  • first_annotation_worktime_hour : 最初の教師付フェーズの作業時間

  • first_inspection_worktime_hour : 最初の検査フェーズの作業時間

  • first_acceptance_worktime_hour : 最初の受入フェーズの作業時間

  • post_rejection_annotation_worktime_hour : 検査/受入フェーズでの差し戻し以降の教師付フェーズの作業時間[hour]

  • post_rejection_inspection_worktime_hour : 検査/受入フェーズでの差し戻し以降の検査フェーズの作業時間[hour]

  • post_rejection_acceptance_worktime_hour : 受入フェーズでの差し戻し以降の検査フェーズの作業時間[hour]

ユーザー情報#

  • first_annotation_user_id : 最初の教師付フェーズを担当したユーザのuser_id

  • first_annotation_username : 最初の教師付フェーズを担当したユーザの名前

  • first_inspection_user_id : 最初の検査フェーズを担当したユーザのuser_id

  • first_inspection_username : 最初の検査フェーズを担当したユーザの名前

  • first_acceptance_user_id : 最初の受入フェーズを担当したユーザのuser_id

  • first_acceptance_username : 最初の受入フェーズを担当したユーザの名前

その他#

  • inspection_is_skipped : 抜取検査により検査フェーズがスキップされたかどうか

  • acceptance_is_skipped : 抜取受入により受入フェーズがスキップされたかどうか

--start_date を指定した場合の追加カラム#

--start_date YYYY-MM-DD を指定した場合、以下のカラムが追加されます。

  • since_{YYYY-MM-DD}.annotation_worktime_hour : 指定日以降の教師付フェーズの作業時間

  • since_{YYYY-MM-DD}.inspection_worktime_hour : 指定日以降の検査フェーズの作業時間

  • since_{YYYY-MM-DD}.acceptance_worktime_hour : 指定日以降の受入フェーズの作業時間

  • since_{YYYY-MM-DD}.first_annotation_user_id : 指定日以降に最初に教師付フェーズを担当したユーザのuser_id

  • since_{YYYY-MM-DD}.first_annotation_username : 指定日以降に最初に教師付フェーズを担当したユーザの名前

  • since_{YYYY-MM-DD}.first_annotation_started_datetime : 指定日以降に最初に教師付フェーズを着手した日時

  • since_{YYYY-MM-DD}.first_annotation_worktime_hour : 指定日以降の最初の教師付フェーズの作業時間

検査・受入フェーズについても同様のカラムが追加されます。

--start_date を複数指定した場合は、それぞれの日付に対応するカラムが追加されます。

Usage Details#

タスク履歴に関する情報(フェーズごとの作業時間、担当者、開始日時)を加えたタスク一覧を出力します。

usage: annofabcli task list_added_task_history [-h] [--yes]
                                               [--endpoint_url ENDPOINT_URL]
                                               [--annofab_user_id ANNOFAB_USER_ID]
                                               [--annofab_password ANNOFAB_PASSWORD]
                                               [--annofab_pat ANNOFAB_PAT]
                                               [--logdir LOGDIR]
                                               [--disable_log] [--debug] -p
                                               PROJECT_ID
                                               [-tq TASK_QUERY | -t TASK_ID [TASK_ID ...]]
                                               [--start_date START_DATE [START_DATE ...]]
                                               [-o OUTPUT]
                                               [-f {csv,json,pretty_json}]

Named Arguments#

-p, --project_id

対象のプロジェクトのproject_idを指定します。

-tq, --task_query

タスクの検索クエリをJSON形式で指定します。指定しない場合は、すべてのタスクを取得します。 file:// を先頭に付けると、JSON形式のファイルを指定できます。クエリのフォーマットは、getTasks APIのクエリパラメータと同じです。さらに追加で、user_id , previous_user_id キーも指定できます。ただし page , limit キーは指定できません。

-t, --task_id

対象のタスクのtask_idを指定します。 --task_query 引数とは同時に指定できません。 file:// を先頭に付けると、task_idの一覧が記載されたファイルを指定できます。

--start_date

指定した日付以降(started_datetimeを基準)の教師付・検査・受入作業時間を計算し、 since_{日付}.{フェーズ}_worktime_hour``および ``since_{日付}.first_{フェーズ}_{user_id,username,started_datetime,worktime_hour} カラムを出力に追加します。YYYY-MM-DD 形式で指定してください。複数指定可能です。

-o, --output

出力先のファイルパスを指定します。未指定の場合は、標準出力に出力されます。

-f, --format

Possible choices: csv, json, pretty_json

出力フォーマットを指定します。

Default: 'csv'

global optional arguments#

--yes

処理中に現れる問い合わせに対して、常に yes と回答します。

--endpoint_url

Annofab WebAPIのエンドポイントを指定します。

Default: 'https://annofab.com'

--annofab_user_id

Annofabにログインする際のユーザーID

--annofab_password

Annofabにログインする際のパスワード

--annofab_pat

Annofabにログインする際のパーソナルアクセストークン

--logdir

ログファイルを保存するディレクトリを指定します。

Default: .log

--disable_log

ログを無効にします。

--debug

HTTPリクエストの内容やレスポンスのステータスコードなど、デバッグ用のログが出力されます。