tagru custom-reports
カスタムレポートの一覧・内容・履歴・編集対象を表示し、ページや要素の非表示・文字・色を変更します。保存は画面と同じ検証を通ります。
tagru custom-reports [list] [--limit <n>] [--workspace <id>] [--target <prod|test|localhost>] [--json]
tagru custom-reports access [--workspace <id>] [--target <prod|test|localhost>] [--json]
tagru custom-reports get <report-id> [--data] [--workspace <id>] [--target <prod|test|localhost>] [--json]
tagru custom-reports history <report-id> [--limit <n>] [--workspace <id>] [--target <prod|test|localhost>] [--json]
tagru custom-reports elements <report-id> [--limit <n>] [--offset <n>] [--base-version <n>] [--workspace <id>] [--target <prod|test|localhost>] [--json]
tagru custom-reports update <report-id> <file.json> [--workspace <id>] [--target <prod|test|localhost>] [--json]サブコマンド・オプション
| 指定 | 内容 |
|---|---|
list(省略可) | 作成の新しい順の一覧 |
access | 新しいレポートを作れるかと選べるレイアウト |
get <report-id> | ページ・AIの文章・保存済み要素編集 |
history <report-id> | 新しい順の履歴と、戻すための編集内容 |
elements <report-id> | 現在の要素・所属・操作可否・文脈と位置情報 |
update <report-id> <file.json> | UTF-8のJSONファイルから編集を保存する。baseVersion必須 |
--limit <n> | 既定20。list/elementsは1〜100、historyは1〜50 |
--offset <n> | elementsの開始位置(0以上、既定0)。応答のnextOffsetで続きへ |
--base-version <n> | elementsの期待する版(1以上)。続きは最初の応答のversionを指定する |
--data | get --jsonでデータのスナップショットも返す |
--workspace <id> | tagru useで選んだWSより優先。WS未選択は終了コード1 |
-t, --target <name> | 接続先 |
--json | 成功を標準出力、エラーを標準エラーにJSONで返す |
機能がOFFでも一覧・1件・履歴は保持期限まで読めます。要素一覧と編集は機能・対象プランが有効な場合のみです。データは作成・作り直し時点のスナップショットで、取得時に外部データを同期しません。作成・作り直し・確認・PDF・共有はCLIから行えません。
編集の手順
getで今の版、elements --jsonで対象と既存編集を確認します。同じ文字の見出しは、文字だけでなくセクション・祖先の文脈・文書順で選びます。- 要素が続くときは
nextOffsetと最初のversionで次を取得します。 - 変更内容と読み取った
baseVersionをJSONファイルに書き、updateへ渡します。書き込みはtagru login --writeで許可してください。
tagru custom-reports elements report-example --json
tagru custom-reports elements report-example --offset 20 --base-version 2 --json
tagru custom-reports update report-example edit.json --jsonedit.jsonの例です。IDは要素一覧の値へ置き換えます。
{
"baseVersion": 2,
"hiddenSections": ["detail"],
"nodeEdits": [
{
"nodeId": "cover/div[1]/article[2]/h2[1]",
"hidden": false,
"text": "広告の成果",
"backgroundColor": "#AABBCC",
"textColor": "#123456"
}
]
}変更のある保存で版が1つ増え、確認は0人に戻ります。変更なしなら版は増えません。
- 未指定/nullのトップレベル項目(
hiddenSections/nodeEdits/ai/edits)は保持します。 hiddenSections/nodeEditsは配列全体の置換です。既存編集を残すなら一緒に送り、解除するときは空配列を送ります。- node editの項目は
nodeId/hidden/text/backgroundColor/textColorのみです。1つのnode editもプロパティ全体を置換します。残したい文字・色は一緒に送り、null/未指定なら元へ戻します。 - 編集は300件、変更文字は1要素2000字(全体の文字・ラベル合計50000字)まで。色は
#RRGGBBのみで、保存後は小文字になります。@<sectionId>はページの外枠で色のみ変更可能です。 - 非hideableページ、数値の変更、表・グラフ・fixed要素等の禁止操作は画面と同様400です。スキーマ不正は検証エラーになります。
- 409
version_conflictは最新の内容・要素一覧を読み直し、利用者と変更を突き合わせます。rebuild_in_progressは作り直しの完了を待ちます。CLIは自動再試行しません。
前の版に戻す
history --jsonの対象版のcontentをJSONファイルへ取り出し、現在のbaseVersionと対象のrevertedFromを加えてupdateします。contentは保存用の許可項目だけに整形されています。
{
"baseVersion": 3,
"revertedFrom": 1,
"ai": {},
"edits": {},
"hiddenSections": [],
"nodeEdits": []
}上の4つの内容項目は実際の対象版のcontentで置き換えてください。revertedFromだけでは内容を読み込みません(戻した元の版を記録する指定です)。同じ保存でさらに手直しもできます。作り直した版を示すrebuiltVersionより前へ戻すと409 version_before_rebuild、対象版が無ければ404 version_not_foundです。履歴は1回50版までなので、その範囲にない版の内容を推測して戻さないでください。
テキスト出力例
以下はローカルのフェイクAPIとダミー値で確認した例です。
$ tagru custom-reports update report-example edit.json
ワークスペース: ws-0001
保存後: Ver.3 / 確認 0 人
変更の保存で版が1つ増え、確認は0人に戻ります(変更なしなら版は増えません)。要素一覧は1件ごとにID・文書順・セクション・種類・現在の文字・祖先の文脈・可能操作を表示します。位置はピクセル座標ではなく文書順です。非表示の要素・ページも一覧に残ります。
JSON(--json)
list/historyは{target,workspaceId,items,count,hasMore}、access/get/elements/updateは{target,workspaceId,item}です。
list(items)
| 項目 | 内容 |
|---|---|
id | レポートID |
layoutId/layoutName | レイアウトID・名前 |
periodType/startDate/endDate | 期間の種類と開始・終了日 |
version | 現在の版 |
confirmedBy | 現在の版を確認した人の名前 |
rebuilding | 作り直し中か |
createdAt/updatedAt/expiresAt | ISO 8601日時(保持期限を含む) |
access(item)
enabled/featureEnabled/layouts[{id,name}]を返します。
get / update(item)
listの各項目に加えて次を返します。updateはデータの中身を返しません。
| 項目 | 内容 |
|---|---|
sections | ページ(id/title/hidden) |
aiTexts | AI文章(id/label/text/failed) |
elementEdits | 保存済み編集(nodeId/label/hidden/text/backgroundColor/textColor) |
rebuiltVersion | 最後にデータから作り直した版。無ければ0 |
dataSources | データのIDとcompact JSONのUTF-8バイト数(id/bytes) |
data | get --dataのみ。データIDから中身への対応 |
history(items)
version/reason/revertedFrom/createdAt/createdBy/confirmedBy/changes/contentを返します。reasonはcreate/edit/revert/rebuild等、changesはkind/label/textです。contentはai/edits/hiddenSections/nodeEditsで、nodeEditsは保存用入力項目だけを含みます。
elements(item)
| 項目 | 内容 |
|---|---|
id/version | レポートID・取得した版 |
sections | id/title/hideable/hidden/order(manifest順、1始まり) |
elements | 下記の要素配列 |
nodeEdits/hiddenSections | 保存済み編集。置換時に残すものを選ぶために使う |
unmatched | 現在の描画に当たらない編集(nodeId/reason/label)。勝手に消さず確認する |
total/hasMore/nextOffset | 全要素数・続きの有無・次のoffset(終端はnull) |
各要素はnodeId/sectionId/sectionTitle/tag/text/label/order/sectionOrder/parentNodeId/ancestors/canHide/canText/canColor/hidden/backgroundColor/textColorです。
textは現在の文字。まとまり要素は空文字なのでlabelを参照します。ancestorsは外側から内側の親(nodeId/tag/label/htmlId/classes)。同名要素は文脈とorder/sectionOrderで区別します。order/sectionOrderは1始まりの文書全体・セクション内順序です。CSSの左右配置やページのピクセル位置ではありません。hiddenは親・ページの非表示も含みます。色値はその要素へ適用された編集色で、nullは直接の色編集なしです。CSSの計算済み色ではありません。
別WSのレポートや保持期限後のIDは404です。APIのエラーコードはエラーと終了コードも参照してください。