Files
Starlight_Lancher/.agents/skills/lark-okr/references/lark-okr-alignments.md

181 lines
5.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# OKR 对齐关系管理
> **前置条件:** 先阅读 [`lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
管理 OKR 目标之间的对齐关系,包括查询、创建和删除对齐。
## 对齐关系说明
OKR 对齐关系表示两个目标之间的关联:
- **对齐aligning**:目标 A 对齐到目标 B表示 A 的完成有助于 B 的完成
- **被对齐aligned**:目标 B 被目标 A 对齐
每个对齐关系有唯一的 `alignment_id`,用于删除操作。
---
## 一、查询对齐关系
### 命令
```bash
lark-cli okr objective.alignments list --objective-id "<目标ID>" [flags]
```
### 常用示例
```bash
# 获取目标的所有对齐关系(同时包含对齐和被对齐)
lark-cli okr objective.alignments list \
--objective-id "7652569715131075772"
# 只查询该目标主动对齐他人的关系
lark-cli okr objective.alignments list \
--objective-id "7652569715131075772" \
--align-type "aligning"
# 只查询他人对齐该目标的关系
lark-cli okr objective.alignments list \
--objective-id "7652569715131075772" \
--align-type "aligned"
# 自动分页获取全部数据
lark-cli okr objective.alignments list \
--objective-id "7652569715131075772" \
--page-all
```
### 参数
| 参数 | 必填 | 默认值 | 说明 |
|----------------------|----|----------------|--------------------------------------------------------------------|
| `--objective-id` | 是 | — | 目标 ID |
| `--align-type` | 否 | — | 对齐类型:`aligning`(该目标对齐他人)\| `aligned`(他人对齐该目标)。留空返回全部。 |
| `--user-id-type` | 否 | `open_id` | 用户 ID 类型:`open_id` \| `union_id` \| `user_id` |
| `--page-size` | 否 | `10` | 分页大小,最大 100 |
| `--page-all` | 否 | — | 自动分页获取全部数据 |
### 返回字段说明
- `items[].id`:对齐关系 ID删除时需要
- `items[].from_entity_id`:发起对齐的目标 ID
- `items[].to_entity_id`:被对齐的目标 ID
- `items[].from_owner` / `to_owner`:双方所有者信息
---
## 二、创建对齐关系
### 命令
```bash
lark-cli okr objective.alignments create --objective-id "<发起对齐的目标ID>" --data '<JSON>'
```
### 常用示例
```bash
# 创建对齐关系:目标 7652569715131075772 对齐到目标 7652569715131075773
lark-cli okr objective.alignments create \
--objective-id "7652569715131075772" \
--data '{"to_entity_id":"7652569715131075773","to_entity_type":2}'
# 从文件读取请求体
lark-cli okr objective.alignments create \
--objective-id "7652569715131075772" \
--data @alignment.json
```
### 参数
| 参数 | 必填 | 说明 |
|------------------|----|--------------------------------------------------------------------|
| `--objective-id` | 是 | 发起对齐的目标 ID"我"的目标) |
| `--data` | 是 | JSON 请求体,格式见下方。支持 `@文件路径` 从文件读取。 |
### 请求体格式
```json
{
"to_entity_id": "7652569715131075773", // 被对齐的目标 ID
"to_entity_type": 2 // 固定值 2表示目标类型
}
```
### 对齐规则
- **禁止自对齐**:不能自己对齐自己
- **周期时间重叠**:两个目标所在周期的时间范围必须有重叠
- **权限要求**:需要对发起对齐的目标有编辑权限
### 返回
成功后返回 `alignment_id`,保存好以便后续删除。
---
## 三、删除对齐关系
### 命令
```bash
lark-cli okr alignments delete --alignment-id "<对齐关系ID>"
```
### 常用示例
```bash
# 删除指定的对齐关系
lark-cli okr alignments delete \
--alignment-id "7652569715131075780"
```
### 参数
| 参数 | 必填 | 说明 |
|------------------|----|--------------------------------------|
| `--alignment-id` | 是 | 对齐关系 ID从 list 或 create 返回) |
### 注意事项
- 删除操作不可逆,请谨慎操作
- 需要对关联的目标有编辑权限
---
## 完整工作流示例
### 场景:将目标 A 对齐到目标 B
1. **查询现有对齐关系**(确认是否已存在)
```bash
lark-cli okr objective.alignments list \
--objective-id "目标A的ID" \
--align-type "aligning"
```
2. **创建对齐关系**
```bash
lark-cli okr objective.alignments create \
--objective-id "目标A的ID" \
--data '{"to_entity_id":"目标B的ID","to_entity_type":2}'
```
3. **验证对齐结果**
```bash
lark-cli okr objective.alignments list \
--objective-id "目标A的ID" \
--align-type "aligning"
```
4. **(如需)删除对齐关系**
```bash
lark-cli okr alignments delete \
--alignment-id "从步骤1返回的alignment_id"
```
## 参考
- [lark-okr](../SKILL.md) -- 所有 OKR 命令
- [lark-shared](../../lark-shared/SKILL.md) -- 认证和全局参数