feat(base): add dashboard block data shortcut and workflow docs#1067
feat(base): add dashboard block data shortcut and workflow docs#1067yballul-bytedance wants to merge 1 commit into
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughAdds a new ChangesDashboard Block Get Data Command
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1067 +/- ##
==========================================
+ Coverage 67.80% 67.93% +0.12%
==========================================
Files 591 602 +11
Lines 55237 55784 +547
==========================================
+ Hits 37454 37896 +442
- Misses 14675 14752 +77
- Partials 3108 3136 +28 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
🚀 PR Preview Install Guide🧰 CLI updatenpm i -g https://pkg.pr.new/larksuite/cli/@larksuite/cli@7311b82834e48eca61abbea23cd5ba5c0be985a8🧩 Skill updatenpx skills add larksuite/cli#feat/product_cli_v5 -y -g |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@tests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go`:
- Around line 17-61: Add a live E2E test (e.g.,
TestBaseDashboardBlockGetDataLive) parallel to
TestBaseDashboardBlockGetDataDryRun that performs a real create->use->cleanup
round-trip: use the same clie2e.RunCmd harness to (1) create a temporary
base/dashboard and a dashboard block (store returned base_token and block_id),
(2) invoke the "+dashboard-block-get-data" command without --dry-run against
those created resources and assert a successful non-zero API response and
expected fields in stdout, and (3) delete the created block/base in cleanup.
Ensure the test uses the same environment setup routine (replace
setBaseDryRunConfigEnv with a live-config setup or skip if live creds are
missing), name the test uniquely (TestBaseDashboardBlockGetDataLive), and assert
exit code 0 via result.AssertExitCode and response content via assert/require;
clean up resources even on failures.
- Around line 58-60: Replace the loose non-zero exit check and stderr-only
assertions with a strict Validate-stage rejection contract: assert the concrete
exit code equals 2 (use result.ExitCode) and search for expected messages in the
concatenated output (result.Stdout + result.Stderr) instead of only
result.Stderr; update the assertions in
base_dashboard_block_get_data_dryrun_test.go (and other tests under
tests/cli_e2e/*_dryrun_test.go) to use assert.Equal(t, 2, result.ExitCode) and
assert.Contains(t, result.Stdout+result.Stderr, "base-token") /
assert.Contains(t, result.Stdout+result.Stderr, "block-id").
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: b3f8afcc-f480-46ce-8f74-fe51c686a8fa
📒 Files selected for processing (10)
shortcuts/base/base_dashboard_execute_test.goshortcuts/base/base_shortcuts_test.goshortcuts/base/dashboard_block_get_data.goshortcuts/base/dashboard_ops.goshortcuts/base/shortcuts.goshortcuts/register_test.goskills/lark-base/SKILL.mdskills/lark-base/references/lark-base-dashboard-block-get-data.mdskills/lark-base/references/lark-base-dashboard.mdtests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go
9021343 to
b9c6a8e
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (2)
tests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go (2)
17-41: 🛠️ Refactor suggestion | 🟠 Major | 🏗️ Heavy liftAdd a live E2E test for the new
+dashboard-block-get-dataflow.Only dry-run coverage is added here. As per coding guidelines, "Live E2E tests required for new flows or behavior changes must validate real API round-trips, be self-contained (create->use->cleanup), placed in
tests/cli_e2e/<domain>/." Please add a self-contained live round-trip test that creates a temporary base/dashboard and dashboard block, invokes+dashboard-block-get-datawithout--dry-run, asserts a successful response with expected fields, and cleans up the created resources.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@tests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go` around lines 17 - 41, The current TestBaseDashboardBlockGetDataDryRun only covers dry-run; add a new self-contained live E2E test (e.g., TestBaseDashboardBlockGetDataLive) under tests/cli_e2e/base/ that uses clie2e.RunCmd to perform a full create->use->cleanup round-trip: create a temporary base and dashboard and a dashboard block (capture their IDs), call the "+dashboard-block-get-data" command without "--dry-run" (using the created base token and block id), assert the command exits 0 and response contains expected live fields (e.g., HTTP status, block_id, returned data), and then delete the created dashboard/base in a defer or cleanup step; reference the existing TestBaseDashboardBlockGetDataDryRun, clie2e.RunCmd, and result.AssertExitCode to mirror patterns and ensure proper resource cleanup.
58-60:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winStrengthen validation-failure assertions for the dry-run reject path.
For Validate-stage rejects, assert the concrete exit code (2) and inspect
result.Stdout + result.Stderrto match the structured error envelope contract.🔧 Suggested assertion update
- assert.NotEqual(t, 0, result.ExitCode) - assert.Contains(t, result.Stderr, "base-token") - assert.Contains(t, result.Stderr, "block-id") + result.AssertExitCode(t, 2) + combined := result.Stdout + result.Stderr + assert.Contains(t, combined, "base-token") + assert.Contains(t, combined, "block-id")Based on learnings: In larksuite/cli E2E dry-run tests, Validate-callback failures must exit with code 2 and print structured JSON to stdout; tests must assert
result.ExitCode != 0(specifically 2) and verify messages fromresult.Stdout + result.Stderr.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@tests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go` around lines 58 - 60, Replace the loose failure assertions with concrete Validate-stage expectations: assert that result.ExitCode equals 2 (not just non-zero) and combine result.Stdout + result.Stderr into one string and assert that this combined output contains the structured error envelope content (e.g., "base-token" and "block-id") so the test validates the JSON error contract; update the assertions referencing result.ExitCode, result.Stdout, and result.Stderr accordingly.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@skills/lark-base/references/lark-base-workflow-guide.md`:
- Line 59: The anchor link on the table row currently uses
"`#示例6-按钮触发--调用外部接口--写入同步日志`" which does not match the actual section header "示例
6: 按钮触发 + 调用外部接口 + 写入同步日志"; update the link to the generated anchor for that
header—replace the href with "`#示例-6-按钮触发--调用外部接口--写入同步日志`" so the table entry
"按钮点击+调用外部接口+写入日志 | ButtonTrigger → HTTPClientAction → AddRecordAction" points
to the correct section.
---
Duplicate comments:
In `@tests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go`:
- Around line 17-41: The current TestBaseDashboardBlockGetDataDryRun only covers
dry-run; add a new self-contained live E2E test (e.g.,
TestBaseDashboardBlockGetDataLive) under tests/cli_e2e/base/ that uses
clie2e.RunCmd to perform a full create->use->cleanup round-trip: create a
temporary base and dashboard and a dashboard block (capture their IDs), call the
"+dashboard-block-get-data" command without "--dry-run" (using the created base
token and block id), assert the command exits 0 and response contains expected
live fields (e.g., HTTP status, block_id, returned data), and then delete the
created dashboard/base in a defer or cleanup step; reference the existing
TestBaseDashboardBlockGetDataDryRun, clie2e.RunCmd, and result.AssertExitCode to
mirror patterns and ensure proper resource cleanup.
- Around line 58-60: Replace the loose failure assertions with concrete
Validate-stage expectations: assert that result.ExitCode equals 2 (not just
non-zero) and combine result.Stdout + result.Stderr into one string and assert
that this combined output contains the structured error envelope content (e.g.,
"base-token" and "block-id") so the test validates the JSON error contract;
update the assertions referencing result.ExitCode, result.Stdout, and
result.Stderr accordingly.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 1ec152b2-47e7-478d-8c3f-aa05420f3d56
📒 Files selected for processing (12)
shortcuts/base/base_dashboard_execute_test.goshortcuts/base/base_shortcuts_test.goshortcuts/base/dashboard_block_get_data.goshortcuts/base/dashboard_ops.goshortcuts/base/shortcuts.goshortcuts/register_test.goskills/lark-base/SKILL.mdskills/lark-base/references/lark-base-dashboard-block-get-data.mdskills/lark-base/references/lark-base-dashboard.mdskills/lark-base/references/lark-base-workflow-guide.mdskills/lark-base/references/lark-base-workflow-schema.mdtests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go
✅ Files skipped from review due to trivial changes (3)
- skills/lark-base/SKILL.md
- skills/lark-base/references/lark-base-dashboard.md
- skills/lark-base/references/lark-base-dashboard-block-get-data.md
b9c6a8e to
a67dae9
Compare
a67dae9 to
11f202e
Compare
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
skills/lark-base/references/lark-base-workflow-schema.md (1)
101-124:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winSync the “节点输出能力总览” summary table with the newly documented node types.
ButtonTriggerandHTTPClientActionare documented in detail here, but the capability summary table later in this file still omits them. Please add rows there to keep the quick-reference view consistent.Also applies to: 725-742
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@skills/lark-base/references/lark-base-workflow-schema.md` around lines 101 - 124, Update the "节点输出能力总览" summary table to include entries for the newly documented node types: add a row for `ButtonTrigger` (matching the Trigger section description) and a row for `HTTPClientAction` (matching the Action section description), ensuring their capability/outputs columns reflect the detailed docs; also mirror these additions in the other summary location mentioned (the duplicate table covering the same content around the second occurrence) so both quick-reference tables include `ButtonTrigger` and `HTTPClientAction`.
♻️ Duplicate comments (2)
tests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go (2)
58-60:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse strict Validate-stage failure assertions (exit code + combined output).
This reject-path test should assert exit code
2and inspectresult.Stdout + result.Stderr, not juststderrwith a loose non-zero check.🔧 Suggested assertion update
- assert.NotEqual(t, 0, result.ExitCode) - assert.Contains(t, result.Stderr, "base-token") - assert.Contains(t, result.Stderr, "block-id") + result.AssertExitCode(t, 2) + combined := result.Stdout + result.Stderr + assert.Contains(t, combined, "base-token") + assert.Contains(t, combined, "block-id")Based on learnings: in
tests/cli_e2e/*_dryrun_test.go, Validate-callback failures should assert exit code 2 and verify error content fromresult.Stdout + result.Stderr.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@tests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go` around lines 58 - 60, Update the test's failure assertions to require the strict Validate-stage failure: replace the loose non-zero exit-code check on result.ExitCode with assert.Equal(t, 2, result.ExitCode) and change the stderr-only checks to inspect the combined output by concatenating result.Stdout + result.Stderr (e.g., combined := result.Stdout + result.Stderr) and assert.Contains(t, combined, "base-token") and assert.Contains(t, combined, "block-id"); apply these changes where the current assertions reference result.ExitCode, result.Stderr and the test in base_dashboard_block_get_data_dryrun_test.go.
17-42:⚠️ Potential issue | 🟠 Major | 🏗️ Heavy liftAdd a live E2E round-trip test for this new command flow.
Dry-run coverage is good, but this new behavior path also needs a self-contained live E2E (create → use
+dashboard-block-get-data→ cleanup) undertests/cli_e2e/base/.As per coding guidelines: “Live E2E tests required for new flows or behavior changes must validate real API round-trips, be self-contained (create->use->cleanup), placed in
tests/cli_e2e/<domain>/.”🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@tests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go` around lines 17 - 42, The current TestBaseDashboardBlockGetDataDryRun only asserts the dry-run output; add a new live E2E test (e.g. TestBaseDashboardBlockGetDataLive) under tests/cli_e2e/base/ that performs a full create→use→cleanup round-trip: use helper setup (or create resources via clie2e.RunCmd) to create a base and dashboard block, call clie2e.RunCmd with the same Args as in TestBaseDashboardBlockGetDataDryRun but without "--dry-run" to execute the real API call, assert successful exit code and inspect Stdout/StdErr for real API response details (status/code/body), then delete the created block/base in test teardown; reference and reuse the RunCmd invocation pattern and ensure cleanup happens in t.Cleanup to keep the test self-contained.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@skills/lark-base/references/lark-base-workflow-schema.md`:
- Around line 101-124: Update the "节点输出能力总览" summary table to include entries
for the newly documented node types: add a row for `ButtonTrigger` (matching the
Trigger section description) and a row for `HTTPClientAction` (matching the
Action section description), ensuring their capability/outputs columns reflect
the detailed docs; also mirror these additions in the other summary location
mentioned (the duplicate table covering the same content around the second
occurrence) so both quick-reference tables include `ButtonTrigger` and
`HTTPClientAction`.
---
Duplicate comments:
In `@tests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go`:
- Around line 58-60: Update the test's failure assertions to require the strict
Validate-stage failure: replace the loose non-zero exit-code check on
result.ExitCode with assert.Equal(t, 2, result.ExitCode) and change the
stderr-only checks to inspect the combined output by concatenating result.Stdout
+ result.Stderr (e.g., combined := result.Stdout + result.Stderr) and
assert.Contains(t, combined, "base-token") and assert.Contains(t, combined,
"block-id"); apply these changes where the current assertions reference
result.ExitCode, result.Stderr and the test in
base_dashboard_block_get_data_dryrun_test.go.
- Around line 17-42: The current TestBaseDashboardBlockGetDataDryRun only
asserts the dry-run output; add a new live E2E test (e.g.
TestBaseDashboardBlockGetDataLive) under tests/cli_e2e/base/ that performs a
full create→use→cleanup round-trip: use helper setup (or create resources via
clie2e.RunCmd) to create a base and dashboard block, call clie2e.RunCmd with the
same Args as in TestBaseDashboardBlockGetDataDryRun but without "--dry-run" to
execute the real API call, assert successful exit code and inspect Stdout/StdErr
for real API response details (status/code/body), then delete the created
block/base in test teardown; reference and reuse the RunCmd invocation pattern
and ensure cleanup happens in t.Cleanup to keep the test self-contained.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 199a7de2-eaad-4f2b-b8f7-0b38babb0316
📒 Files selected for processing (14)
.gitignoreshortcuts/base/base_dashboard_execute_test.goshortcuts/base/base_shortcuts_test.goshortcuts/base/dashboard_block_get_data.goshortcuts/base/dashboard_ops.goshortcuts/base/shortcuts.goshortcuts/register_test.goskills/lark-base/SKILL.mdskills/lark-base/references/lark-base-dashboard-block-get-data.mdskills/lark-base/references/lark-base-dashboard.mdskills/lark-base/references/lark-base-workflow-guide.mdskills/lark-base/references/lark-base-workflow-schema.mdskills/lark-base/references/lark-base-workflow-update.mdtests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go
✅ Files skipped from review due to trivial changes (4)
- .gitignore
- skills/lark-base/SKILL.md
- skills/lark-base/references/lark-base-dashboard.md
- skills/lark-base/references/lark-base-dashboard-block-get-data.md
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@skills/lark-base/references/lark-base-workflow-schema.md`:
- Around line 645-660: The ButtonTrigger outputs table currently mixes
field-based and static outputs without indicating which are conditional on
button_type; update the ButtonTrigger section to explicitly state availability
by button_type (reference the ButtonTrigger table and the existing data
structure fields button_type and table_name). Add a short note or an extra
column clarifying: when button_type=buttonField (aka buttonField) all outputs
are available (field-based: {fieldId}, {fieldId}.fieldId, {fieldId}.fieldName,
recordId, recordLink, recordCreatedUser, recordModifiedUser, recordModifiedTime
plus static: time, user, buttonName); when button_type=buttonElement only static
outputs are available (time, user, buttonName) and field/record outputs must not
be referenced. Ensure the wording mentions table_name is only applicable for
buttonField and update the example/reference rows accordingly.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: c35eee5d-964f-45ab-8e8a-4018161d264f
📒 Files selected for processing (14)
.gitignoreshortcuts/base/base_dashboard_execute_test.goshortcuts/base/base_shortcuts_test.goshortcuts/base/dashboard_block_get_data.goshortcuts/base/dashboard_ops.goshortcuts/base/shortcuts.goshortcuts/register_test.goskills/lark-base/SKILL.mdskills/lark-base/references/lark-base-dashboard-block-get-data.mdskills/lark-base/references/lark-base-dashboard.mdskills/lark-base/references/lark-base-workflow-guide.mdskills/lark-base/references/lark-base-workflow-schema.mdskills/lark-base/references/lark-base-workflow-update.mdtests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go
✅ Files skipped from review due to trivial changes (5)
- .gitignore
- skills/lark-base/references/lark-base-workflow-update.md
- skills/lark-base/SKILL.md
- skills/lark-base/references/lark-base-dashboard.md
- skills/lark-base/references/lark-base-dashboard-block-get-data.md
ec4c549 to
9f6941e
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@skills/lark-base/references/lark-base-workflow-schema.md`:
- Around line 739-757: The “节点输出能力总览” summary table is missing the newly added
node types ButtonTrigger and HTTPClientAction; update that table to add rows for
ButtonTrigger (describe its output fields and whether they are referenceable)
and HTTPClientAction (include notes about response_type variants:
none/text/json, indicate which outputs are referenceable and that response_value
is required for json and only declared fields can be referenced, and expose
status_code only for json). Locate the table headed "节点输出能力总览" and the detailed
HTTPClientAction section (references to HTTPClientAction, ButtonTrigger,
response_type, response_value, and $.{stepId}) to mirror the detailed behavior
into the summary rows so the quick reference matches the new node contracts.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 7518f219-7e21-4714-8fee-71c889e6d485
📒 Files selected for processing (14)
.gitignoreshortcuts/base/base_dashboard_execute_test.goshortcuts/base/base_shortcuts_test.goshortcuts/base/dashboard_block_get_data.goshortcuts/base/dashboard_ops.goshortcuts/base/shortcuts.goshortcuts/register_test.goskills/lark-base/SKILL.mdskills/lark-base/references/lark-base-dashboard-block-get-data.mdskills/lark-base/references/lark-base-dashboard.mdskills/lark-base/references/lark-base-workflow-guide.mdskills/lark-base/references/lark-base-workflow-schema.mdskills/lark-base/references/lark-base-workflow-update.mdtests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go
✅ Files skipped from review due to trivial changes (7)
- .gitignore
- shortcuts/base/base_shortcuts_test.go
- skills/lark-base/references/lark-base-workflow-update.md
- skills/lark-base/references/lark-base-dashboard.md
- skills/lark-base/references/lark-base-workflow-guide.md
- skills/lark-base/SKILL.md
- skills/lark-base/references/lark-base-dashboard-block-get-data.md
Change-Id: I52c471886bdb2d4b7be021ce86c34bbb78385017
9f6941e to
7311b82
Compare
| lark-env.sh | ||
|
|
||
| # Harness | ||
| ./docs |
There was a problem hiding this comment.
.gitignore pattern 不支持 ./xxx 这种前缀,git 会按字面量匹配
./docs,而工作树里的路径不会以 ./ 开头,所以这条规则永远不会命中。
| | pathId | 说明 | 引用示例 | | ||
| |--------|------|----------| | ||
| | `{fieldId}` | 用户配置的字段值,可下钻字段属性 | `$.{stepId}.{fieldId}` | | ||
| | `{fieldId}.fieldId` | 用户配置的字段id | `$.{stepId}.{fieldId}.fieldId}` | |
There was a problem hiding this comment.
725、726、735、736 也多了一个右括号
Change-Id: I52c471886bdb2d4b7be021ce86c34bbb78385017
Summary
Add the lark base dashboard block data retrieval command and expand workflow documentation for ButtonTrigger and HTTPClientAction.
Changes
Change 1
Added the
lark base +dashboard-block-get-datacapability, including command implementation, shortcut registration, dry-run E2E coverage, and related unit tests for dashboard block data retrieval.Change 2
Expanded lark-base documentation by adding ButtonTrigger and HTTPClientAction schema definitions, output reference rules, and a practical workflow example covering button-triggered HTTP sync plus log record creation.
Test Plan
lark base +dashboard-block-get-datacommand works as expectedRelated Issues
Summary by CodeRabbit
New Features
Documentation
Tests
Chores