Skip to content

feat(base): add dashboard block data shortcut and workflow docs#1067

Open
yballul-bytedance wants to merge 1 commit into
mainfrom
feat/product_cli_v5
Open

feat(base): add dashboard block data shortcut and workflow docs#1067
yballul-bytedance wants to merge 1 commit into
mainfrom
feat/product_cli_v5

Conversation

@yballul-bytedance
Copy link
Copy Markdown
Collaborator

@yballul-bytedance yballul-bytedance commented May 25, 2026

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-data capability, 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

  • Unit tests pass
  • Dry-run E2E coverage validates the request structure for the dashboard block data retrieval flow
  • Manual local verification confirms the lark base +dashboard-block-get-data command works as expected
  • Evaluated natural language prompting for workflow construction to verify the model can accurately build new workflow nodes such as ButtonTrigger and HTTPClientAction based on the updated documentation
  • Evaluated natural language chart analysis scenarios to verify the model can correctly interpret dashboard block data and produce accurate summaries

Related Issues

  • None

Summary by CodeRabbit

  • New Features

    • Added +dashboard-block-get-data command to fetch a dashboard chart/block’s computed data as AI-friendly chart-protocol JSON; supports formatted output and dry-run.
  • Documentation

    • Added command reference, detailed protocol fields, examples, guidance, FAQ updates, workflow/schema docs; bumped skill docs version.
  • Tests

    • Added unit and CLI e2e dry-run tests covering successful output, dry-run URL output, and missing-required-flag scenarios.
  • Chores

    • Updated command registration and .gitignore.

Review Change Stack

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 25, 2026

Note

Reviews paused

It 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 reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a new +dashboard-block-get-data CLI shortcut to fetch a dashboard block’s computed chart JSON (GET /open-apis/base/v3/bases/:base_token/dashboards/blocks/:block_id/data). Includes command wiring, dry-run and execute handlers, unit/integration/e2e tests, and extensive user and schema documentation.

Changes

Dashboard Block Get Data Command

Layer / File(s) Summary
Command implementation and API wiring
shortcuts/base/dashboard_block_get_data.go, shortcuts/base/dashboard_ops.go, shortcuts/base/shortcuts.go
Shortcut BaseDashboardBlockGetData defines +dashboard-block-get-data with required --base-token and --block-id. Handlers dryRunDashboardBlockGetData and executeDashboardBlockGetData target /open-apis/base/v3/bases/:base_token/dashboards/blocks/:block_id/data. Command is registered in the shortcuts list.
Test coverage for command behavior
shortcuts/base/base_dashboard_execute_test.go, shortcuts/base/base_shortcuts_test.go, shortcuts/register_test.go, tests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go
Unit tests mock block-data responses and verify stdout contains dimensions, main_data, and expected aliases. Dry-run tests assert printed GET request path and required-flag validation. Integration test verifies command mount.
User-facing documentation and reference
skills/lark-base/SKILL.md, skills/lark-base/references/lark-base-dashboard-block-get-data.md, skills/lark-base/references/lark-base-dashboard.md, skills/lark-base/references/lark-base-workflow-guide.md, skills/lark-base/references/lark-base-workflow-schema.md, .gitignore, skills/lark-base/references/lark-base-workflow-update.md
SKILL.md version bumped to 1.2.2 and command catalog updated. New reference documents the endpoint, supported chart types, response protocol (dimensions/measures/main_data, optional comparison_data/trend_data), alias rules, examples, dry-run usage, and schema additions (ButtonTrigger, HTTPClientAction) plus workflow guide example.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • zhouyue-bytedance
  • kongenpei

Poem

🐰 A block of data, so calculated and bright,
I hop to fetch charts in the soft CLI light.
Dimensions and measures, neatly arrayed,
Main data revealed, no metadata weighed—
A rabbit’s small cheer for JSON displayed.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 76.47% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat(base): add dashboard block data shortcut and workflow docs' accurately summarizes the main changes: implementing a new dashboard block data retrieval command and expanding workflow documentation.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The PR description follows the template structure with Summary, Changes, and Test Plan sections, though formatting could be cleaner.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/product_cli_v5

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added domain/base PR touches the base domain size/L Large or sensitive change across domains or core paths labels May 25, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 25, 2026

Codecov Report

❌ Patch coverage is 88.88889% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 67.93%. Comparing base (6d1f998) to head (7311b82).
⚠️ Report is 15 commits behind head on main.

Files with missing lines Patch % Lines
shortcuts/base/dashboard_ops.go 81.81% 1 Missing and 1 partial ⚠️
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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 25, 2026

🚀 PR Preview Install Guide

🧰 CLI update

npm i -g https://pkg.pr.new/larksuite/cli/@larksuite/cli@7311b82834e48eca61abbea23cd5ba5c0be985a8

🧩 Skill update

npx skills add larksuite/cli#feat/product_cli_v5 -y -g

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 9d4233b and 9021343.

📒 Files selected for processing (10)
  • shortcuts/base/base_dashboard_execute_test.go
  • shortcuts/base/base_shortcuts_test.go
  • shortcuts/base/dashboard_block_get_data.go
  • shortcuts/base/dashboard_ops.go
  • shortcuts/base/shortcuts.go
  • shortcuts/register_test.go
  • skills/lark-base/SKILL.md
  • skills/lark-base/references/lark-base-dashboard-block-get-data.md
  • skills/lark-base/references/lark-base-dashboard.md
  • tests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go

Comment thread tests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go
Comment thread tests/cli_e2e/base/base_dashboard_block_get_data_dryrun_test.go
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 lift

Add a live E2E test for the new +dashboard-block-get-data flow.

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-data without --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 win

Strengthen validation-failure assertions for the dry-run reject path.

For Validate-stage rejects, assert the concrete exit code (2) and inspect result.Stdout + result.Stderr to 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 from result.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

📥 Commits

Reviewing files that changed from the base of the PR and between 9021343 and b9c6a8e.

📒 Files selected for processing (12)
  • shortcuts/base/base_dashboard_execute_test.go
  • shortcuts/base/base_shortcuts_test.go
  • shortcuts/base/dashboard_block_get_data.go
  • shortcuts/base/dashboard_ops.go
  • shortcuts/base/shortcuts.go
  • shortcuts/register_test.go
  • skills/lark-base/SKILL.md
  • skills/lark-base/references/lark-base-dashboard-block-get-data.md
  • skills/lark-base/references/lark-base-dashboard.md
  • skills/lark-base/references/lark-base-workflow-guide.md
  • skills/lark-base/references/lark-base-workflow-schema.md
  • tests/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

Comment thread skills/lark-base/references/lark-base-workflow-guide.md Outdated
@yballul-bytedance yballul-bytedance changed the title feat: Product CLI 5th feat(base): add dashboard block data shortcut and workflow docs May 26, 2026
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 win

Sync the “节点输出能力总览” summary table with the newly documented node types.

ButtonTrigger and HTTPClientAction are 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 win

Use strict Validate-stage failure assertions (exit code + combined output).

This reject-path test should assert exit code 2 and inspect result.Stdout + result.Stderr, not just stderr with 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 from result.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 lift

Add 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) under tests/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

📥 Commits

Reviewing files that changed from the base of the PR and between b9c6a8e and a67dae9.

📒 Files selected for processing (14)
  • .gitignore
  • shortcuts/base/base_dashboard_execute_test.go
  • shortcuts/base/base_shortcuts_test.go
  • shortcuts/base/dashboard_block_get_data.go
  • shortcuts/base/dashboard_ops.go
  • shortcuts/base/shortcuts.go
  • shortcuts/register_test.go
  • skills/lark-base/SKILL.md
  • skills/lark-base/references/lark-base-dashboard-block-get-data.md
  • skills/lark-base/references/lark-base-dashboard.md
  • skills/lark-base/references/lark-base-workflow-guide.md
  • skills/lark-base/references/lark-base-workflow-schema.md
  • skills/lark-base/references/lark-base-workflow-update.md
  • tests/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

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between a67dae9 and 11f202e.

📒 Files selected for processing (14)
  • .gitignore
  • shortcuts/base/base_dashboard_execute_test.go
  • shortcuts/base/base_shortcuts_test.go
  • shortcuts/base/dashboard_block_get_data.go
  • shortcuts/base/dashboard_ops.go
  • shortcuts/base/shortcuts.go
  • shortcuts/register_test.go
  • skills/lark-base/SKILL.md
  • skills/lark-base/references/lark-base-dashboard-block-get-data.md
  • skills/lark-base/references/lark-base-dashboard.md
  • skills/lark-base/references/lark-base-workflow-guide.md
  • skills/lark-base/references/lark-base-workflow-schema.md
  • skills/lark-base/references/lark-base-workflow-update.md
  • tests/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

Comment thread skills/lark-base/references/lark-base-workflow-schema.md
@yballul-bytedance yballul-bytedance force-pushed the feat/product_cli_v5 branch 2 times, most recently from ec4c549 to 9f6941e Compare May 26, 2026 06:49
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 11f202e and ec4c549.

📒 Files selected for processing (14)
  • .gitignore
  • shortcuts/base/base_dashboard_execute_test.go
  • shortcuts/base/base_shortcuts_test.go
  • shortcuts/base/dashboard_block_get_data.go
  • shortcuts/base/dashboard_ops.go
  • shortcuts/base/shortcuts.go
  • shortcuts/register_test.go
  • skills/lark-base/SKILL.md
  • skills/lark-base/references/lark-base-dashboard-block-get-data.md
  • skills/lark-base/references/lark-base-dashboard.md
  • skills/lark-base/references/lark-base-workflow-guide.md
  • skills/lark-base/references/lark-base-workflow-schema.md
  • skills/lark-base/references/lark-base-workflow-update.md
  • tests/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

Comment thread skills/lark-base/references/lark-base-workflow-schema.md
Change-Id: I52c471886bdb2d4b7be021ce86c34bbb78385017
Comment thread .gitignore
lark-env.sh

# Harness
./docs
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.gitignore pattern 不支持 ./xxx 这种前缀,git 会按字面量匹配
./docs,而工作树里的路径不会以 ./ 开头,所以这条规则永远不会命中。

| pathId | 说明 | 引用示例 |
|--------|------|----------|
| `{fieldId}` | 用户配置的字段值,可下钻字段属性 | `$.{stepId}.{fieldId}` |
| `{fieldId}.fieldId` | 用户配置的字段id | `$.{stepId}.{fieldId}.fieldId}` |
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

725、726、735、736 也多了一个右括号

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

domain/base PR touches the base domain size/L Large or sensitive change across domains or core paths

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants