Loading...
Loading...
Compare original and translation side by side
| Task | Command |
|---|---|
| List components | |
| Components from integration | |
| Describe a component | |
| List triggers | |
| Create canvas | |
| Update canvas | |
| 任务 | 命令 |
|---|---|
| 列出组件 | |
| 查看集成中的组件 | |
| 查看组件详情 | |
| 列出触发器 | |
| 创建画布 | |
| 更新画布 | |
superplane whoamicommand not foundsuperplane connect <URL> <TOKEN>
superplane whoamisuperplane whoamicommand not foundsuperplane connect <URL> <TOKEN>
superplane whoamisuperplane integrations listThis canvas needs GitHub and Daytona integrations. Your org has GitHub connected but Daytona is not connected. Please connect it in the SuperPlane UI (Settings → Integrations) before proceeding.
superplane integrations list # connected instances → real integration IDs
superplane index triggers --from <provider> # exact trigger names
superplane index components --from <provider> # exact component namessuperplane index triggers --name github.onPush
superplane index components --name semaphore.runWorkflowintegration-resourcesuperplane integrations list-resources --id <id> --type <type>superplane integrations list该画布需要GitHub和Daytona集成。您的组织已连接GitHub,但未连接Daytona。请先在SuperPlane UI(设置→集成)中完成连接,再继续操作。
superplane integrations list # 已连接实例 → 实际集成ID
superplane index triggers --from <provider> # 准确的触发器名称
superplane index components --from <provider> # 准确的组件名称superplane index triggers --name github.onPush
superplane index components --name semaphore.runWorkflowintegration-resourcesuperplane integrations list-resources --id <id> --type <type>truefalseapprovedrejecteddefaulttruefalseapprovedrejecteddefaultposition: { x, y }| Direction | Increment | Why |
|---|---|---|
| Horizontal (x) | +600px per column | 515 width + 85 gap |
| Vertical (y) | +300px per row | 215 height + 85 gap |
{ x: 120, y: 100 }Trigger: { x: 120, y: 100 } → Step A: { x: 720, y: 100 } → Step B: { x: 1320, y: 100 } ┌─ Branch A: { x: 1320, y: 100 }
Source: { x: 720, y: 250 } ───┤
└─ Branch B: { x: 1320, y: 400 }Branch A: { x: 1320, y: 100 } ──┐
├── Merge: { x: 1920, y: 250 }
Branch B: { x: 1320, y: 400 } ──┘position: { x, y }| 方向 | 增量 | 原因 |
|---|---|---|
| 水平方向(x) | +600px 每列 | 515px宽度 + 85px间距 |
| 垂直方向(y) | +300px 每行 | 215px高度 + 85px间距 |
{ x: 120, y: 100 }Trigger: { x: 120, y: 100 } → Step A: { x: 720, y: 100 } → Step B: { x: 1320, y: 100 } ┌─ Branch A: { x: 1320, y: 100 }
Source: { x: 720, y: 250 } ───┤
└─ Branch B: { x: 1320, y: 400 }Branch A: { x: 1320, y: 100 } ──┐
├── Merge: { x: 1920, y: 250 }
Branch B: { x: 1320, y: 400 } ──┘STOP before writing any expression that references payload fields you have not confirmed. Do not guess field paths from trigger or component names.
注意:在编写任何引用负载字段的表达式之前,请先确认字段的存在。不要根据触发器或组件名称猜测字段路径。
{ data: {...}, timestamp, type }.data.| Pattern | Description |
|---|---|
| Access any upstream node's output by name |
| Access the root event that started the run |
| Access the immediate upstream node's output |
Common mistake: writinginstead of$['Create Sandbox'].id. Always include$['Create Sandbox'].data.id..data.
{{ }}{{ $['GitHub onPush'].data.ref }}{ data: {...}, timestamp, type }.data.| 方式 | 描述 |
|---|---|
| 通过名称访问任意上游节点的输出 |
| 访问启动工作流运行的根事件 |
| 访问直接上游节点的输出 |
常见错误:写成而非$['Create Sandbox'].id。请始终包含$['Create Sandbox'].data.id。.data.
{{ }}{{ $['GitHub onPush'].data.ref }}superplane executions list --canvas-id <id> --node-id <nid> -o yamlreferences/superplane executions list --canvas-id <id> --node-id <nid> -o yamlreferences/superplane canvases create --file canvas.yamlsuperplane canvases create --file canvas.yaml
Then verify:
```bash
superplane canvases get <name>errorMessagewarningMessage
然后验证:
```bash
superplane canvases get <name>errorMessagewarningMessage<GITHUB_INTEGRATION_ID>superplane canvases create --file canvas.yaml<GITHUB_INTEGRATION_ID>superplane canvases create --file canvas.yamlnodes:
- { id: trigger, ..., position: { x: 120, y: 100 } }
- { id: a, ..., position: { x: 720, y: 100 } }
- { id: b, ..., position: { x: 1320, y: 100 } }
- { id: c, ..., position: { x: 1920, y: 100 } }
edges:
- { sourceId: trigger, targetId: a, channel: default }
- { sourceId: a, targetId: b, channel: default }
- { sourceId: b, targetId: c, channel: default }nodes:
- { id: trigger, ..., position: { x: 120, y: 100 } }
- { id: a, ..., position: { x: 720, y: 100 } }
- { id: b, ..., position: { x: 1320, y: 100 } }
- { id: c, ..., position: { x: 1920, y: 100 } }
edges:
- { sourceId: trigger, targetId: a, channel: default }
- { sourceId: a, targetId: b, channel: default }
- { sourceId: b, targetId: c, channel: default }nodes:
- { id: trigger, ..., position: { x: 120, y: 250 } }
- { id: check, ..., component: { name: if }, position: { x: 720, y: 250 } }
- { id: on-true, ..., position: { x: 1320, y: 100 } }
- { id: on-false, ..., position: { x: 1320, y: 400 } }
edges:
- { sourceId: trigger, targetId: check, channel: default }
- { sourceId: check, targetId: on-true, channel: true }
- { sourceId: check, targetId: on-false, channel: false }nodes:
- { id: trigger, ..., position: { x: 120, y: 250 } }
- { id: check, ..., component: { name: if }, position: { x: 720, y: 250 } }
- { id: on-true, ..., position: { x: 1320, y: 100 } }
- { id: on-false, ..., position: { x: 1320, y: 400 } }
edges:
- { sourceId: trigger, targetId: check, channel: default }
- { sourceId: check, targetId: on-true, channel: true }
- { sourceId: check, targetId: on-false, channel: false }defaultnodes:
- { id: trigger, ..., position: { x: 120, y: 100 } }
- { id: filter, ..., component: { name: filter }, position: { x: 720, y: 100 } }
- { id: next-step, ..., position: { x: 1320, y: 100 } }
edges:
- { sourceId: trigger, targetId: filter, channel: default }
- { sourceId: filter, targetId: next-step, channel: default }defaultnodes:
- { id: trigger, ..., position: { x: 120, y: 100 } }
- { id: filter, ..., component: { name: filter }, position: { x: 720, y: 100 } }
- { id: next-step, ..., position: { x: 1320, y: 100 } }
edges:
- { sourceId: trigger, targetId: filter, channel: default }
- { sourceId: filter, targetId: next-step, channel: default }nodes:
- { id: trigger, ..., position: { x: 120, y: 250 } }
- { id: a, ..., position: { x: 720, y: 100 } }
- { id: b, ..., position: { x: 720, y: 400 } }
- { id: merge, ..., position: { x: 1320, y: 250 } }
- { id: final, ..., position: { x: 1920, y: 250 } }
edges:
- { sourceId: trigger, targetId: a, channel: default }
- { sourceId: trigger, targetId: b, channel: default }
- { sourceId: a, targetId: merge, channel: default }
- { sourceId: b, targetId: merge, channel: default }
- { sourceId: merge, targetId: final, channel: default }nodes:
- { id: trigger, ..., position: { x: 120, y: 250 } }
- { id: a, ..., position: { x: 720, y: 100 } }
- { id: b, ..., position: { x: 720, y: 400 } }
- { id: merge, ..., position: { x: 1320, y: 250 } }
- { id: final, ..., position: { x: 1920, y: 250 } }
edges:
- { sourceId: trigger, targetId: a, channel: default }
- { sourceId: trigger, targetId: b, channel: default }
- { sourceId: a, targetId: merge, channel: default }
- { sourceId: b, targetId: merge, channel: default }
- { sourceId: merge, targetId: final, channel: default }nodes:
- { id: ci-done, ..., position: { x: 120, y: 100 } }
- { id: timegate, ..., position: { x: 720, y: 100 } }
- { id: approval, ..., position: { x: 1320, y: 100 } }
- { id: deploy, ..., position: { x: 1920, y: 100 } }
edges:
- { sourceId: ci-done, targetId: timegate, channel: default }
- { sourceId: timegate, targetId: approval, channel: default }
- { sourceId: approval, targetId: deploy, channel: approved }nodes:
- { id: ci-done, ..., position: { x: 120, y: 100 } }
- { id: timegate, ..., position: { x: 720, y: 100 } }
- { id: approval, ..., position: { x: 1320, y: 100 } }
- { id: deploy, ..., position: { x: 1920, y: 100 } }
edges:
- { sourceId: ci-done, targetId: timegate, channel: default }
- { sourceId: timegate, targetId: approval, channel: default }
- { sourceId: approval, targetId: deploy, channel: approved }| Need | Use Skill |
|---|---|
| CLI commands and authentication | superplane-cli |
| Debug a failed run | superplane-monitor |
| 需求 | 使用技能 |
|---|---|
| CLI命令与认证 | superplane-cli |
| 调试失败的运行 | superplane-monitor |