任务运行期与 Worklist
任务设计版本发布后,可以使用 spark worklist 和 spark task 在运行期验证任务。Worklist 命令只读取数据;spark task create 会创建真实任务,因此应先使用 --dry-run 检查请求。
1. App 与环境
运行期命令必须明确目标 App 和环境:
spark worklist my-pending --app spark-sample --env dev
支持的环境别名:
| 输入 | 实际环境 |
|---|---|
dev、development | DEV |
test、uat | TEST |
prod、production | PROD |
也可以设置单次 shell 默认值:
export SPARK_WORKLIST_APP=spark-sample
export SPARK_WORKLIST_ENV=dev
spark worklist my-pending
:::warning 默认环境
没有传参数时,CLI 使用默认 App low-code-app 和 PROD。在开发和验收阶段,建议始终显式传入 --app 与 --env,避免查询或写入错误环境。
:::
2. 三个常用任务视图
spark worklist my-pending --app spark-sample --env dev
spark worklist my-created --app spark-sample --env dev
spark worklist my-processed --app spark-sample --env dev
spark worklist drafts --app spark-sample --env dev
my-pending:当前用户需要办理的任务。my-created:当前用户创建的任务。my-processed:当前用户已经处理过的任务。drafts:当前用户的草稿任务;实际可用性取决于运行期是否已开放完整草稿能力。
3. 列表过滤、排序和分页
spark worklist my-created \
--app spark-sample \
--env dev \
--keyword Purchase \
--status OPEN \
--page 1 \
--limit 50
spark worklist my-pending \
--app spark-sample \
--env dev \
--task-type PURCHASE \
--step "Department Review" \
--assignee alice \
--sort updatedAt:desc
选择列和格式:
spark worklist my-pending \
--app spark-sample \
--env dev \
--columns key,title,status,assignee,updated \
--format table
spark worklist my-pending --app spark-sample --env dev --json
spark worklist my-pending --app spark-sample --env dev --csv
4. TQL 与保存的 Filter
运行临时 TQL:
spark worklist search \
'assignee = currentUser() AND status = OPEN ORDER BY updatedAt DESC' \
--app spark-sample \
--env dev
查看并执行保存的 Filter:
spark worklist filters
spark worklist filter "All Open Purchase Requests" \
--app spark-sample \
--env dev
Filter 列表属于当前用户上下文;执行 Filter 时仍应明确目标 App 和环境。
5. Worklist 指标与菜单
spark worklist metrics --app spark-sample --env dev
spark worklist menus --app spark-sample --env dev
metrics 展示我的待办、我创建的等聚合数量;menus 展示该运行环境提供的 Workbench 菜单及其查询信息。
6. 查看任务详情
从 Worklist 取得 task key 后:
spark task detail DEV-PURCHASE-18 \
--app spark-sample \
--env dev
其他输出方式:
spark task detail DEV-PURCHASE-18 --app spark-sample --env dev --format table
spark task detail DEV-PURCHASE-18 --app spark-sample --env dev --json
spark task detail DEV-PURCHASE-18 --app spark-sample --env dev --verbose
详情会展示任务摘要、字段、当前处理人、可用操作、日志和运行进度。show、view 是 detail 的别名。
7. 预检查并创建任务
先读取任务类型和字段,确认当前版本中实际使用的 task type key 与字段 Code。页面中新建字段时 Key 由系统自动生成,不能根据 Amount 等 Label 猜测:
spark-designer task app use spark-sample
spark-designer task type list
spark-designer task field list --json
再使用 --dry-run 解析任务类型、版本、Create Form 和提交值,但不创建任务:
spark task create \
--task-type PURCHASE \
--title "Laptop purchase" \
--app spark-sample \
--env dev \
--dry-run \
--json
确认 dry-run 中的 appId、environment、versionId、taskTypeId、formId 和 values 后,去掉 --dry-run 创建真实任务:
spark task create \
--task-type PURCHASE \
--title "Laptop purchase" \
--app spark-sample \
--env dev
需要提交自定义字段时,使用 field list 返回的真实 Code 组织 JSON。字段较多时,建议从文件读取:
{
"<amount-field-code>": 12000,
"<category-field-code>": "Hardware"
}
将占位符替换为当前 App 中的实际字段 Code,再执行:
spark task create \
--task-type PURCHASE \
--values-file purchase-values.json \
--app spark-sample \
--env dev \
--dry-run
:::danger task create 会立即写入
当前命令在没有 --dry-run 时直接创建任务,不需要额外 --yes。在脚本、Codex 或 Claude 中调用时,必须先执行 dry-run,并由用户确认目标 App、环境和字段值。
:::
8. 当前功能边界
当前 CLI 已支持:
- 查询 Worklist 内置视图。
- 运行临时 TQL 和保存的 Filter。
- 查看 Worklist 指标、菜单和任务详情。
- dry-run 并创建任务。
- 查询任务相关 SLA 数据。
当前 CLI 尚未提供通用的任务 transition/operation 执行命令。需要审批、驳回、认领或其他工作流操作时,使用 Spark Runtime 任务工作台。后续开放相应 CLI 后,应同样基于可用操作、表单校验和显式确认实现,不能绕过任务引擎直接修改状态。
9. 与 AI 助手组合
Codex:
$spark-worklist 查询 spark-sample DEV 环境中我的待办,并打开最近更新任务的详情。只读取。
Claude Code:
/spark-worklist my-pending --app spark-sample --env dev --limit 20
更多说明:Codex 集成 和 Claude Code 集成。