mirror of
https://github.com/larksuite/cli.git
synced 2026-07-03 14:02:43 +08:00
Add semi-plain text (simple) format for OKR content I/O, and a new `+patch` shortcut for incremental updates to objectives and key results.
5.6 KiB
5.6 KiB
okr +progress-create
前置条件: 先阅读
lark-shared/SKILL.md了解认证、全局参数和安全规则。
为目标(Objective)或关键结果(Key Result)创建一条 OKR 进展记录。
推荐命令
# 为目标创建进展记录(默认 simple 风格,半纯文本格式)
lark-cli okr +progress-create \
--content '{"text":"本周完成了核心模块开发","mention":["ou_123"]}' \
--target-id 1234567890123456789 \
--target-type objective
# 为关键结果创建进展记录(richtext 风格,完整 ContentBlock 格式)
lark-cli okr +progress-create \
--content '{"blocks":[{"block_element_type":"paragraph","paragraph":{"elements":[{"paragraph_element_type":"textRun","text_run":{"text":"指标已达到 80%"}}]}}]}' \
--style richtext \
--target-id 2345678901234567891 \
--target-type key_result \
--progress-percent 80 \
--progress-status done
# 从文件读取 content(适用于较长的进展内容)
lark-cli okr +progress-create \
--content @progress_content.json \
--target-id 1234567890123456789 \
--target-type objective
参数
| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
--content |
是 | — | 进展内容。根据 --style 指定格式:simple 风格为 SemiPlainContent JSON,richtext 风格为 ContentBlock JSON。支持 @文件路径 从文件读取。请参考 ContentBlock 格式。 |
--style |
否 | simple |
输入风格:simple(半纯文本 JSON,推荐) | richtext(完整 ContentBlock JSON)。请参考 ContentBlock 格式 了解两种格式。 |
--target-id |
是 | — | 目标 ID 或关键结果 ID(int64 类型,正整数) |
--target-type |
是 | — | 目标类型:objective | key_result |
--progress-percent |
否 | — | 进度百分比(-99999999999 - 99999999999)。百分比的取值通常在 0-100,但允许超过此范围,以表示超额完成或负增长等情况。挂载的目标或关键结果的量化指标不使用百分比单位时,以这个字段更新当前值。系统内最多保留两位小数 |
--progress-status |
否 | — | 进度状态:normal(正常) | overdue(逾期) | done(已完成)。仅在指定 --progress-percent 时生效。 |
--source-title |
否 | created by lark-cli |
来源标题,用于在 OKR 界面中显示进展来源 |
--source-url |
否 | 根据品牌自动生成 | 来源 URL,用于在 OKR 界面中显示进展来源链接,通常可以填写 OKR 编写信息来源的文档链接等。飞书品牌默认为 https://open.feishu.cn/app, Lark 品牌默认为 https://open.larksuite.com/app |
--user-id-type |
否 | open_id |
用户 ID 类型:open_id | union_id | user_id |
--dry-run |
否 | — | 预览 API 调用而不实际执行。 |
--format |
否 | json |
输出格式。 |
工作流程
- 使用
+cycle-list和+cycle-detail获取目标或关键结果的 ID。 - 构造进展内容:
- 推荐:使用
simple风格(默认),构造 SemiPlainContent JSON:{"text":"内容","mention":["ou_xxx"]},mention 中提及的用户会统一连接在文本末尾。 - 如需复杂格式:使用
richtext风格,构造 ContentBlock JSON。请参考 ContentBlock 格式。若需要插入图片/飞书文档或复杂文本格式,则必须使用 richtext 风格
- 推荐:使用
- 执行
lark-cli okr +progress-create --content "..." --target-id "..." --target-type objective。 - 报告结果:新创建的进展记录 ID、修改时间等。
输出
返回 JSON:
{
"progress": {
"progress_id": "1234567890123456789",
"modify_time": "2025-01-15 10:30:00",
"content": "{...}",
"progress_rate": {
"percent": 80.0,
"status": "done"
}
}
}
其中:
content字段是 JSON 字符串,为 OKR ContentBlock 富文本格式。请参考 lark-okr-contentblock.md 了解详细信息。progress_rate.status返回可读字符串:normal(正常)、overdue(逾期)、done(已完成)。
参考
- lark-okr -- 所有 OKR 命令(shortcut 和 API 接口)
- ContentBlock 格式 -- 进展内容使用的富文本格式
- lark-shared -- 认证和全局参数