@thinkingai/ae-cli 6.0.18 → 6.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -10
- package/README.zh.md +9 -11
- package/dist/{auth-DYC2BGLM.js → auth-I2G7OAU2.js} +2 -4
- package/dist/{auth-GHBMJ5ZR.js → auth-RDN6D5HU.js} +32 -104
- package/dist/{chunk-5OC7CYCG.js → chunk-2W7HULUD.js} +14 -14
- package/dist/chunk-4EUZRJPO.js +163 -0
- package/dist/{chunk-DMMEPCST.js → chunk-5FBLRSMU.js} +25 -115
- package/dist/{chunk-BJX3GXWC.js → chunk-E34XH4GW.js} +2 -2
- package/dist/chunk-FPE5LGVU.js +105 -0
- package/dist/{chunk-I5CRVM2S.js → chunk-H52CSLJW.js} +44 -17
- package/dist/{chunk-RSHMZ3LG.js → chunk-U6QPKCN3.js} +6 -20
- package/dist/{chunk-6W4QOZAL.js → chunk-WPXHCP4A.js} +23 -13
- package/dist/{chunk-PN3OS34E.js → chunk-XE2PI5DS.js} +1 -1
- package/dist/{chunk-2DUEAXV3.js → chunk-YACCPUNQ.js} +1 -1
- package/dist/cli-token-6AGEDJF4.js +14 -0
- package/dist/{client-2UJ63MVQ.js → client-VTJMUZ4O.js} +3 -3
- package/dist/{config-NCUGK6NS.js → config-2SDTLGOC.js} +3 -3
- package/dist/index.js +314 -197
- package/dist/metadata-JZ2OTWBK.js +420 -0
- package/dist/{model-SJSOZTRS.js → model-ZYMRN4VS.js} +2 -2
- package/dist/{raw-7NVWSVJP.js → raw-NGYHAL3F.js} +4 -4
- package/dist/{sync-GRVO4K3U.js → sync-JVLX6TGW.js} +3 -3
- package/dist/{te-agent-KZRIEN4N.js → te-agent-QPZTLHPH.js} +545 -21
- package/dist/{te-analysis-VAR4KUOK.js → te-analysis-WWX3Z6RP.js} +352 -52
- package/dist/te-audience-UXGHUVBB.js +599 -0
- package/dist/{te-common-WNCZB7R7.js → te-common-7XXH73MF.js} +5 -4
- package/dist/{te-community-JEEFXPB3.js → te-community-QKE67HR2.js} +5 -4
- package/dist/te-dataops-6W7NNYST.js +1841 -0
- package/dist/{te-engage-4XHCTS6I.js → te-engage-NCFAQFX3.js} +5 -4
- package/dist/{te-kb-B62KFP2A.js → te-kb-K5BQYUCM.js} +50 -26
- package/dist/{te-meta-EPZGQN56.js → te-meta-LJZBOSMO.js} +48 -24
- package/dist/{te-team-YY24VORI.js → te-team-DHK5R7MV.js} +5 -6
- package/package.json +3 -2
- package/skills/ae-agent/SKILL.md +103 -4
- package/skills/ae-analysis/SKILL.md +75 -21
- package/skills/ae-analysis/references/build_attribution_analysis_qp.md +62 -0
- package/skills/ae-analysis/references/build_cluster_definition.md +62 -0
- package/skills/ae-analysis/references/build_distribution_analysis_qp.md +67 -0
- package/skills/ae-analysis/references/build_event_analysis_qp.md +2 -0
- package/skills/ae-analysis/references/build_funnel_analysis_qp.md +2 -0
- package/skills/ae-analysis/references/build_heat_map_analysis_qp.md +54 -0
- package/skills/ae-analysis/references/build_interval_analysis_qp.md +60 -0
- package/skills/ae-analysis/references/build_path_analysis_qp.md +53 -0
- package/skills/ae-analysis/references/build_prop_analysis_qp.md +2 -0
- package/skills/ae-analysis/references/build_rank_list_analysis_qp.md +63 -0
- package/skills/ae-analysis/references/build_retention_analysis_qp.md +2 -0
- package/skills/ae-analysis/references/build_tag_definition.md +65 -0
- package/skills/ae-analysis/references/cancel_query.md +2 -3
- package/skills/ae-analysis/references/copy_dashboard.md +33 -0
- package/skills/ae-analysis/references/create_id_cluster.md +40 -0
- package/skills/ae-analysis/references/create_id_tag.md +39 -0
- package/skills/ae-analysis/references/delete_alert.md +27 -0
- package/skills/ae-analysis/references/delete_cluster.md +27 -0
- package/skills/ae-analysis/references/delete_dashboard.md +30 -0
- package/skills/ae-analysis/references/delete_metric.md +27 -0
- package/skills/ae-analysis/references/delete_report.md +27 -0
- package/skills/ae-analysis/references/delete_tag.md +27 -0
- package/skills/ae-analysis/references/drilldown_user_events.md +4 -4
- package/skills/ae-analysis/references/drilldown_users.md +3 -3
- package/skills/ae-analysis/references/freeze_dashboards.md +29 -0
- package/skills/ae-analysis/references/get_table_columns.md +11 -12
- package/skills/ae-analysis/references/list_cluster_members.md +4 -4
- package/skills/ae-analysis/references/list_clusters.md +5 -3
- package/skills/ae-analysis/references/list_dashboards.md +3 -3
- package/skills/ae-analysis/references/list_entities.md +1 -1
- package/skills/ae-analysis/references/list_events.md +7 -4
- package/skills/ae-analysis/references/list_metrics.md +5 -3
- package/skills/ae-analysis/references/list_properties.md +6 -4
- package/skills/ae-analysis/references/list_reports.md +3 -3
- package/skills/ae-analysis/references/list_spaces.md +27 -0
- package/skills/ae-analysis/references/list_tag_members.md +4 -4
- package/skills/ae-analysis/references/list_tags.md +4 -2
- package/skills/ae-analysis/references/move_dashboard.md +33 -0
- package/skills/ae-analysis/references/query_adhoc.md +2 -2
- package/skills/ae-analysis/references/query_bi_panel_data.md +2 -2
- package/skills/ae-analysis/references/query_dashboard_report_data.md +4 -4
- package/skills/ae-analysis/references/query_entity_details.md +4 -4
- package/skills/ae-analysis/references/query_event_details.md +3 -3
- package/skills/ae-analysis/references/query_report_data.md +37 -3
- package/skills/ae-analysis/references/update_id_cluster.md +36 -0
- package/skills/ae-analysis/references/update_id_tag.md +37 -0
- package/skills/ae-analysis/references/update_report.md +35 -0
- package/skills/ae-analysis-intent/SKILL.md +1 -1
- package/skills/ae-dataops/SKILL.md +54 -522
- package/skills/ae-dataops/references/dataops-flow-create.md +78 -75
- package/skills/ae-dataops/references/dataops-flow-monitor.md +58 -51
- package/skills/ae-dataops/references/dataops-integration.md +80 -41
- package/skills/ae-dataops/references/dataops-query.md +54 -53
- package/skills/ae-dataops/references/dataops-table.md +28 -59
- package/skills/ae-generate-tracking-code/SKILL.md +68 -31
- package/skills/ae-generate-tracking-code/references/snippet-delivery.md +26 -1
- package/skills/ae-generate-tracking-code/references/te-api.md +47 -164
- package/skills/ae-generate-tracking-plan/SKILL.md +109 -32
- package/skills/ae-generate-tracking-plan/references/te-api.md +57 -27
- package/skills/ae-metadata/SKILL.md +90 -0
- package/skills/ae-metadata/references/metadata_data_table_csv_delete.md +15 -0
- package/skills/ae-metadata/references/metadata_data_table_csv_write.md +29 -0
- package/skills/ae-metadata/references/metadata_data_table_download.md +17 -0
- package/skills/ae-metadata/references/metadata_data_table_get.md +24 -0
- package/skills/ae-metadata/references/metadata_data_table_list.md +27 -0
- package/skills/ae-metadata/references/metadata_data_table_property_bindings_update.md +17 -0
- package/skills/ae-metadata/references/metadata_data_table_sql_delete.md +15 -0
- package/skills/ae-metadata/references/metadata_data_table_sql_write.md +31 -0
- package/skills/ae-metadata/references/metadata_event_get.md +52 -0
- package/skills/ae-metadata/references/metadata_input_file_upload.md +29 -0
- package/skills/ae-metadata/references/metadata_property_dimension_table_bind_existing.md +27 -0
- package/skills/ae-metadata/references/metadata_property_dimension_table_create_and_bind_csv.md +30 -0
- package/skills/ae-metadata/references/metadata_property_get.md +54 -0
- package/dist/te-audience-KMKYI2YJ.js +0 -400
- package/dist/te-dataops-GD3XBYCS.js +0 -1830
|
@@ -30,6 +30,8 @@ Domain: **Report Management**
|
|
|
30
30
|
```bash
|
|
31
31
|
ae-cli analysis +query_report_data --project_id <project_id> --report_ids '[1001]'
|
|
32
32
|
ae-cli analysis +query_report_data --project_id <project_id> --report_ids '[1001]' --filters '{}' --group_by '[]' --request_id mcp_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa --use_cache true --start_date 2026-04-08 --end_date 2026-04-08 --time_granularity day --timeout_minutes 8
|
|
33
|
+
# SQL-model report: override its dynamic parameters (${Selector}/${Time}/${Text}) by paramName
|
|
34
|
+
ae-cli analysis +query_report_data --project_id <project_id> --report_ids '[1001]' --sql_params '[{"paramName":"selector1","paramExpress":"<selectorName>"},{"paramName":"time2","startTime":"2026-01-01 00:00:00","endTime":"2026-06-30 23:59:59"}]'
|
|
33
35
|
ae-cli analysis +query_report_data --dry-run
|
|
34
36
|
```
|
|
35
37
|
|
|
@@ -40,26 +42,58 @@ ae-cli analysis +query_report_data --dry-run
|
|
|
40
42
|
| `--report_ids` | Yes | List of report IDs |
|
|
41
43
|
| `--filters` | No | Optional filter JSON. If provided, MUST follow `+get_filter_schema`, and referenced fields must come from `analysis_meta +list_properties` in the same `project_id`. |
|
|
42
44
|
| `--group_by` | No | Optional group-by JSON array. If provided, MUST follow `+get_groupby_schema`, and referenced fields must come from `analysis_meta +list_properties` in the same `project_id`. |
|
|
43
|
-
| `--request_id` |
|
|
45
|
+
| `--request_id` | Yes | Required unique request ID used for tracking and cancellation. Generate it before starting the query. It must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. Provide this before starting the query so it can be cancelled later with `+cancel_query --request_id <same value>`, even if the caller stops waiting before the tool returns. If `fetch failed`, HTTP timeout, or caller timeout happens, the backend query may still be running. `requestId` is not auto-generated for MCP query tools because the caller must know it before the response for proactive cleanup. If omitted or blank, the backend returns `REQUEST_ID_REQUIRED`; invalid format returns `INVALID_REQUEST_ID`. The response `metadata.requestId` echoes the supplied requestId and can also be passed to `cancel_query(requestId)` when the query is no longer needed. |
|
|
44
46
|
| `--use_cache` | No | Whether to use cache. Default: true |
|
|
45
47
|
| `--start_date` | No | Optional start date in yyyy-MM-dd format |
|
|
46
48
|
| `--end_date` | No | Optional end date in yyyy-MM-dd format |
|
|
47
49
|
| `--time_granularity` | No | Optional time granularity used to override the report default. Supported values: minute, minute5, minute10, hour, day, week, month, quarter, year, total. |
|
|
48
50
|
| `--timeout_minutes` | No | Query timeout in minutes. If the query exceeds this time, it will be cancelled automatically. 30 minutes if omitted. |
|
|
51
|
+
| `--sql_params` | No | Optional override for a SQL-model report's dynamic parameters (the `${...}` placeholders embedded in the report SQL). JSON array of params matched by `paramName`. Only listed params are overridden; omitted params keep the report's saved defaults. Ignored for non-SQL reports. Different from `--filters`: see the SQL report dynamic parameters section below. |
|
|
52
|
+
|
|
53
|
+
## SQL report dynamic parameters (`--sql_params`)
|
|
54
|
+
- Applies ONLY to SQL-model reports (`reportModel: sql` in `+get_report_definition`). Such reports may embed `${...}` placeholders of 6 paramTypes — `Variable`, `PartDate`, `Time`, `Number`, `Text`, `Selector` — whose default values are saved in the report's `eventView.sqlViewParams`.
|
|
55
|
+
- `--sql_params` overrides those values by `paramName`; the backend merges them into the report's `sqlViewParams` before running the SQL. Omitting `--sql_params` keeps the report defaults (backward compatible).
|
|
56
|
+
- `--sql_params` is NOT the same as `--filters`: `--filters` adds a post-query WHERE filter on the SQL result columns (using real field names), while `--sql_params` changes the report's own dynamic parameters before the SQL runs. To adjust a report's selectors/time parameters, use `--sql_params`, not `--filters`.
|
|
57
|
+
- Workflow: `+get_report_definition` -> read `events.sqlVoParams` (each param's `paramName`, `paramType`, and for Selector the allowed `selectorItems` names) -> build the override array -> `+query_report_data --sql_params '[...]'`.
|
|
58
|
+
- Override shape by `paramType` (read each param's current `quota`/`paramExpress`/`startTime`/`endTime` and the VO's `variableType`/`selectorItems` from `+get_report_definition`):
|
|
59
|
+
- `Selector` — `{"paramName":"selector1","paramExpress":"<selectorName>"}`; `<selectorName>` must be one of the VO's `selectorItems`. No `quota`.
|
|
60
|
+
- `Variable` — no `quota`; override `paramExpress` only. Quoting depends on the VO's `variableType`: a custom (`Normal`) variable is substituted verbatim, so include the quotes exactly as shown in the definition (e.g. `"paramExpress":"'2025-12-31'"`); a `TimeSelect` variable takes a bare value (the backend quotes it). `variableType` itself is a report-design property in `events.sqlVoParams` and is NOT changed by `--sql_params` (only the value is); the resulting SQL is the same regardless of `variableType` as long as the value is supplied with the right quoting.
|
|
61
|
+
- `Text` — `quota` (operator) + `paramExpress`; supports all 12 operators in the table below. Setting only `paramExpress` while leaving the no-value default `quota` (e.g. `C04`) does NOT filter.
|
|
62
|
+
- `Number` — `quota` (operator) + `paramExpress`; 9 numeric operators: `C00` IN / `C01` NOT IN / `C06` BETWEEN (array); `C02` < / `C03` > / `C020` <= / `C030` >= (single, numeric string); `C04` IS NOT NULL / `C05` IS NULL (no value). No LIKE/CONTAIN for numbers. E.g. `{"paramName":"num1","quota":"C06","paramExpress":["10","20"]}`.
|
|
63
|
+
- `Time` — `quota` (operator) + time fields (NOT recentDay): `C020` <= (uses `endTime`) / `C030` >= (uses `startTime`) / `C06` BETWEEN by datetime (`startTime`+`endTime`) / `C060` BETWEEN by date (`startTime`+`endTime`) / `C04` IS NOT NULL / `C05` IS NULL (no value). To only change the range keep the report's range `quota` and set `startTime`+`endTime`; to change the operator also set `quota`.
|
|
64
|
+
- `PartDate` — a date range; set `startTime`+`endTime`: `{"paramName":"date1","startTime":"yyyy-MM-dd HH:mm:ss","endTime":"yyyy-MM-dd HH:mm:ss"}`.
|
|
65
|
+
|
|
66
|
+
`quota` operators (Text = all; Number = the non-LIKE subset; Time = comparison/range/null subset using time fields):
|
|
67
|
+
|
|
68
|
+
| quota | operator | value |
|
|
69
|
+
|---|---|---|
|
|
70
|
+
| `C00` | IN | array `paramExpress` |
|
|
71
|
+
| `C01` | NOT IN | array `paramExpress` |
|
|
72
|
+
| `C06` | BETWEEN / 区间 | array `[min,max]` (Time: `startTime`+`endTime`) |
|
|
73
|
+
| `C060` | BETWEEN by date / 日期区间 (Time only) | `startTime`+`endTime` |
|
|
74
|
+
| `C02` / `C03` | `<` / `>` | single `paramExpress` |
|
|
75
|
+
| `C020` / `C030` | `<=` / `>=` | single `paramExpress` (Time: `endTime` / `startTime`) |
|
|
76
|
+
| `C30` / `C31` | LIKE / NOT LIKE (Text only) | single `paramExpress` |
|
|
77
|
+
| `C300` | CONTAIN (`LIKE '%v%'`, Text only) | single `paramExpress` |
|
|
78
|
+
| `C04` / `C05` | IS NOT NULL / IS NULL | no value (`C04` empty default = no filter) |
|
|
79
|
+
|
|
80
|
+
- An unknown `paramName` (not present in the report) or malformed JSON returns an error.
|
|
49
81
|
|
|
50
82
|
## Decision Rules
|
|
51
83
|
- `filters` / `group_by` cannot be written by hand based on experience alone: they must satisfy both the schema structure and the project's real metadata.
|
|
52
84
|
- `list_events` / `list_properties` must be learned from the corresponding reference docs before calling them.
|
|
53
|
-
- For the first run,
|
|
85
|
+
- For the first run, include all required parameters (`--project_id`, `--report_ids`, `--request_id`) and add optional parameters after confirming the chain works.
|
|
86
|
+
- Generate and pass `--request_id` before starting any cancelable query; it is required. If `fetch failed`, HTTP timeout, or caller timeout happens, the backend query may still be running; call `+cancel_query --request_id <same value>` with the preset ID. The value must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. Omitted or blank IDs return `REQUEST_ID_REQUIRED`; invalid format returns `INVALID_REQUEST_ID`.
|
|
54
87
|
- Wrap JSON parameters in single quotes (for example `--report_ids '{}'`, `--filters '{}'`) to avoid shell escaping issues.
|
|
55
88
|
- When dates/time ranges are involved, validate with a short range first and then expand gradually.
|
|
56
89
|
- For cross-project troubleshooting, first confirm whether `--project_id` matches the current permissions and target environment.
|
|
57
90
|
|
|
58
91
|
## Next Step After Failure
|
|
59
|
-
- If required parameters are missing, fall back to the smallest runnable command and fill them in (focus on `--project_id`, `--report_ids`).
|
|
92
|
+
- If required parameters are missing, fall back to the smallest runnable command and fill them in (focus on `--project_id`, `--report_ids`, `--request_id`).
|
|
60
93
|
- If `Invalid JSON` appears, first check the required schema fields, then verify that the event name/property name comes from metadata queried in the same `project_id`.
|
|
61
94
|
- If the query times out or the result is abnormal, first reduce the time range/grouping dimensions, then split the query to locate the issue.
|
|
62
95
|
|
|
63
96
|
## Recommended Chaining
|
|
64
97
|
- +get_filter_schema -> +get_groupby_schema -> analysis_meta +list_events -> analysis_meta +list_properties -> +query_report_data
|
|
98
|
+
- (SQL-model report, override dynamic params) +get_report_definition -> +query_report_data --sql_params '[...]'
|
|
65
99
|
- +list_reports -> +get_report_definition -> +query_report_data
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# analysis_audience +update_id_cluster (Update ID Cluster)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Cluster Management**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Update an existing ID cluster by re-uploading CSV file content as plain text.
|
|
9
|
+
- The cluster is identified by `cluster_name`. The operation is asynchronous.
|
|
10
|
+
|
|
11
|
+
## Commands
|
|
12
|
+
```bash
|
|
13
|
+
ae-cli analysis_audience +update_id_cluster --project_id <project_id> --cluster_name my_id_cluster --file_content "user_001
|
|
14
|
+
user_002"
|
|
15
|
+
ae-cli analysis_audience +update_id_cluster --dry-run
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Parameters
|
|
19
|
+
| Parameter | Required | Description |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| `--project_id` / `-p` | Yes | Project ID |
|
|
22
|
+
| `--cluster_name` | Yes | Cluster name to update |
|
|
23
|
+
| `--file_content` | Yes | New CSV file content as plain text. No header row, UTF-8 encoding. Each row contains one user ID. Max 100MB. |
|
|
24
|
+
| `--display_name` | No | Optional new display name |
|
|
25
|
+
| `--remarks` | No | Optional new remarks (max 200 characters) |
|
|
26
|
+
| `--main_column_name` | No | Optional new main column name for ID matching |
|
|
27
|
+
|
|
28
|
+
## Return Value
|
|
29
|
+
Returns `clusterId`, `uploadNum`, `userNum`, `unmatchedNum`, and `clusterName`.
|
|
30
|
+
|
|
31
|
+
## Decision Rules
|
|
32
|
+
- Use `+list_clusters` to confirm the cluster name before updating.
|
|
33
|
+
- If file size exceeds 100MB, inform the user to upload directly via the web interface.
|
|
34
|
+
|
|
35
|
+
## Recommended Chain
|
|
36
|
+
- `+list_clusters` -> `+update_id_cluster`
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# analysis_audience +update_id_tag (Update ID Tag)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Tag Management**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Update an existing ID tag by re-uploading CSV file content as plain text.
|
|
9
|
+
- The tag is identified by `tag_name`. The operation is asynchronous.
|
|
10
|
+
|
|
11
|
+
## Commands
|
|
12
|
+
```bash
|
|
13
|
+
ae-cli analysis_audience +update_id_tag --project_id <project_id> --tag_name vip_tag --file_content "user_001,gold
|
|
14
|
+
user_002,silver"
|
|
15
|
+
ae-cli analysis_audience +update_id_tag --dry-run
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Parameters
|
|
19
|
+
| Parameter | Required | Description |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| `--project_id` / `-p` | Yes | Project ID |
|
|
22
|
+
| `--tag_name` | Yes | Tag name to update |
|
|
23
|
+
| `--file_content` | Yes | New CSV file content as plain text. No header row, UTF-8 encoding. Column 1: user ID. Column 2: tag value (optional). Example: user_001,gold_member. Max 100MB. |
|
|
24
|
+
| `--display_name` | No | Optional new display name |
|
|
25
|
+
| `--remarks` | No | Optional new remarks (max 200 characters) |
|
|
26
|
+
| `--entity_id` | No | Entity ID to associate the tag with |
|
|
27
|
+
| `--main_column_name` | No | Optional new main column name for ID matching |
|
|
28
|
+
|
|
29
|
+
## Return Value
|
|
30
|
+
Returns `clusterId`, `uploadNum`, `userNum`, `unmatchedNum`, and `clusterName` (tag name).
|
|
31
|
+
|
|
32
|
+
## Decision Rules
|
|
33
|
+
- Use `+list_tags` to confirm the tag name before updating.
|
|
34
|
+
- If file size exceeds 100MB, inform the user to upload directly via the web interface.
|
|
35
|
+
|
|
36
|
+
## Recommended Chain
|
|
37
|
+
- `+list_tags` -> `+update_id_tag`
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# analysis +update_report (Update Report)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Report Management**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Update an existing report's name, description, or QP (query parameter JSON).
|
|
9
|
+
- At least one of `--report_name`, `--report_desc`, or `--qp` must be provided.
|
|
10
|
+
- When updating `--qp`, also provide `--report_model` for QP validation.
|
|
11
|
+
|
|
12
|
+
## Commands
|
|
13
|
+
```bash
|
|
14
|
+
ae-cli analysis +update_report --project_id <project_id> --report_id <report_id> --version <version> --report_name "New Name"
|
|
15
|
+
ae-cli analysis +update_report --project_id <project_id> --report_id <report_id> --version <version> --qp '<qp_json>' --report_model 1
|
|
16
|
+
ae-cli analysis +update_report --dry-run
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Parameters
|
|
20
|
+
| Parameter | Required | Description |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| `--project_id` / `-p` | Yes | Project ID |
|
|
23
|
+
| `--report_id` | Yes | Report ID to update |
|
|
24
|
+
| `--version` | Yes | Current report version number. Retrieve via `+get_report_definition`. |
|
|
25
|
+
| `--report_name` | No | New report name. Omit to keep existing. |
|
|
26
|
+
| `--report_desc` | No | New report description. Omit to keep existing. |
|
|
27
|
+
| `--qp` | No | New QP JSON string. Omit to keep existing. When provided, also supply `--report_model`. |
|
|
28
|
+
| `--report_model` | No | Analysis model type integer (e.g. 1=event, 2=retention). Required when `--qp` is provided. |
|
|
29
|
+
|
|
30
|
+
## Decision Rules
|
|
31
|
+
- Always call `+get_report_definition` first to retrieve the current `version` number before updating.
|
|
32
|
+
- Omitting all of `report_name`, `report_desc`, and `qp` will cause an error.
|
|
33
|
+
|
|
34
|
+
## Recommended Chain
|
|
35
|
+
- `+list_reports` -> `+get_report_definition` (to get version) -> `+update_report`
|
|
@@ -71,7 +71,7 @@ ae-cli <service> +<command> [options]
|
|
|
71
71
|
- Event list: `ae-cli analysis_meta +list_events -p <project_id>`
|
|
72
72
|
- Property list: `ae-cli analysis_meta +list_properties -p <project_id>`
|
|
73
73
|
- Metric list: `ae-cli analysis_meta +list_metrics -p <project_id>`
|
|
74
|
-
- Table columns: `ae-cli analysis +get_table_columns -p <project_id> --
|
|
74
|
+
- Table columns: `ae-cli analysis +get_table_columns -p <project_id> --table_ref <hive.schema.table|schema.table|table>`
|
|
75
75
|
|
|
76
76
|
### Report/dashboard queries
|
|
77
77
|
|