@lark-project/meegle 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +411 -0
- package/bin/meegle-darwin-arm64 +0 -0
- package/bin/meegle-darwin-x64 +0 -0
- package/bin/meegle-linux-arm64 +0 -0
- package/bin/meegle-linux-x64 +0 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,411 @@
|
|
|
1
|
+
# Meegle CLI
|
|
2
|
+
|
|
3
|
+
> **DEV** — 当前处于开发预览阶段,API 和命令可能发生变更。
|
|
4
|
+
|
|
5
|
+
飞书项目(Meegle)命令行工具。在终端中管理工作项、查看排期、搜索数据,无需打开浏览器。
|
|
6
|
+
|
|
7
|
+
## 安装
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g @lark-project/meegle
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
要求 Node.js >= 18。
|
|
14
|
+
|
|
15
|
+
## 快速开始
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# 1. 登录
|
|
19
|
+
meegle auth login
|
|
20
|
+
|
|
21
|
+
# 2. 查看本周待办
|
|
22
|
+
meegle mywork todo --action this_week --page-num 1
|
|
23
|
+
|
|
24
|
+
# 3. 查看帮助
|
|
25
|
+
meegle --help
|
|
26
|
+
meegle workitem --help
|
|
27
|
+
|
|
28
|
+
# 4. 查看命令参数详情
|
|
29
|
+
meegle inspect workitem.create
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 命令一览
|
|
33
|
+
|
|
34
|
+
### workitem — 工作项域
|
|
35
|
+
|
|
36
|
+
| 命令 | 说明 |
|
|
37
|
+
|------|------|
|
|
38
|
+
| `workitem create` | 创建工作项 |
|
|
39
|
+
| `workitem get` | 查看工作项概况 |
|
|
40
|
+
| `workitem update` | 修改工作项字段 |
|
|
41
|
+
| `workitem query` | 使用 MQL 搜索工作项 |
|
|
42
|
+
| `workitem list-op-records` | 查看操作记录 |
|
|
43
|
+
| `workitem meta-types` | 查看工作项类型列表 |
|
|
44
|
+
| `workitem meta-create-fields` | 查看创建时可用字段 |
|
|
45
|
+
| `workitem meta-fields` | 查看字段配置 |
|
|
46
|
+
| `workitem meta-roles` | 查看角色配置 |
|
|
47
|
+
|
|
48
|
+
### workflow — 工作流域
|
|
49
|
+
|
|
50
|
+
| 命令 | 说明 |
|
|
51
|
+
|------|------|
|
|
52
|
+
| `workflow transition` | 流转或回滚节点 |
|
|
53
|
+
| `workflow get-node` | 查看节点详情 |
|
|
54
|
+
| `workflow update-node` | 修改节点 |
|
|
55
|
+
| `workflow meta-node-fields` | 查看节点字段配置 |
|
|
56
|
+
| `workflow list-state-transitions` | 查看可流转状态 |
|
|
57
|
+
| `workflow list-state-required` | 查看流转必填信息 |
|
|
58
|
+
|
|
59
|
+
### subtask — 子任务
|
|
60
|
+
|
|
61
|
+
| 命令 | 说明 |
|
|
62
|
+
|------|------|
|
|
63
|
+
| `subtask update` | 创建/修改/完成/回滚子任务 |
|
|
64
|
+
|
|
65
|
+
### comment — 评论域
|
|
66
|
+
|
|
67
|
+
| 命令 | 说明 |
|
|
68
|
+
|------|------|
|
|
69
|
+
| `comment add` | 添加评论 |
|
|
70
|
+
| `comment list` | 查看评论列表 |
|
|
71
|
+
|
|
72
|
+
### workhour — 工时域
|
|
73
|
+
|
|
74
|
+
| 命令 | 说明 |
|
|
75
|
+
|------|------|
|
|
76
|
+
| `workhour list-records` | 查看工时登记记录 |
|
|
77
|
+
| `workhour list-schedule` | 查看人员排期 |
|
|
78
|
+
|
|
79
|
+
### relation — 关系域
|
|
80
|
+
|
|
81
|
+
| 命令 | 说明 |
|
|
82
|
+
|------|------|
|
|
83
|
+
| `relation list` | 查看关联的工作项 |
|
|
84
|
+
| `relation meta-definitions` | 查看关联关系定义 |
|
|
85
|
+
|
|
86
|
+
### mywork — 工作台域
|
|
87
|
+
|
|
88
|
+
| 命令 | 说明 |
|
|
89
|
+
|------|------|
|
|
90
|
+
| `mywork todo` | 查看我的待办/已办 |
|
|
91
|
+
|
|
92
|
+
### view — 视图域
|
|
93
|
+
|
|
94
|
+
| 命令 | 说明 |
|
|
95
|
+
|------|------|
|
|
96
|
+
| `view create-fixed` | 创建固定视图 |
|
|
97
|
+
| `view get` | 查看视图详情 |
|
|
98
|
+
| `view update-fixed` | 更新固定视图 |
|
|
99
|
+
| `view search` | 按名称搜索视图 |
|
|
100
|
+
|
|
101
|
+
### chart — 度量域
|
|
102
|
+
|
|
103
|
+
| 命令 | 说明 |
|
|
104
|
+
|------|------|
|
|
105
|
+
| `chart get` | 查看图表详情 |
|
|
106
|
+
| `chart list` | 查看视图下的图表列表 |
|
|
107
|
+
|
|
108
|
+
### team / user — 人员域
|
|
109
|
+
|
|
110
|
+
| 命令 | 说明 |
|
|
111
|
+
|------|------|
|
|
112
|
+
| `team list` | 查看空间下的团队列表 |
|
|
113
|
+
| `team list-members` | 查看团队成员 |
|
|
114
|
+
| `user search` | 搜索用户信息 |
|
|
115
|
+
|
|
116
|
+
### project — 空间域
|
|
117
|
+
|
|
118
|
+
| 命令 | 说明 |
|
|
119
|
+
|------|------|
|
|
120
|
+
| `project search` | 搜索空间信息 |
|
|
121
|
+
|
|
122
|
+
### 其他命令
|
|
123
|
+
|
|
124
|
+
| 命令 | 说明 |
|
|
125
|
+
|------|------|
|
|
126
|
+
| `inspect [command]` | 查看命令参数详情 |
|
|
127
|
+
|
|
128
|
+
## 常用示例
|
|
129
|
+
|
|
130
|
+
### 查看待办
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
# 本周待办
|
|
134
|
+
meegle mywork todo --action this_week --page-num 1
|
|
135
|
+
|
|
136
|
+
# 已办事项
|
|
137
|
+
meegle mywork todo --action done --page-num 1
|
|
138
|
+
|
|
139
|
+
# 逾期事项
|
|
140
|
+
meegle mywork todo --action overdue --page-num 1
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### 查询工作项
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
# 查看工作项概况
|
|
147
|
+
meegle workitem get --work-item-id 12345
|
|
148
|
+
|
|
149
|
+
# 查看工作项的节点详情
|
|
150
|
+
meegle workflow get-node --work-item-id 12345 --need-sub-task
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### 创建工作项
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
# 使用 --set 设置字段
|
|
157
|
+
meegle workitem create --project-key PROJ --work-item-type story \
|
|
158
|
+
--set name=优化登录流程 \
|
|
159
|
+
--set priority=P1
|
|
160
|
+
|
|
161
|
+
# 复杂字段传 JSON 值
|
|
162
|
+
meegle workitem create --project-key PROJ --work-item-type story \
|
|
163
|
+
--set name=排期任务 \
|
|
164
|
+
--set schedule='[1722182400000,1722355199999]'
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### 修改字段
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# 修改工作项名称
|
|
171
|
+
meegle workitem update --work-item-id 12345 \
|
|
172
|
+
--set name=新标题
|
|
173
|
+
|
|
174
|
+
# 同时修改多个字段
|
|
175
|
+
meegle workitem update --work-item-id 12345 \
|
|
176
|
+
--set name=新标题 \
|
|
177
|
+
--set priority=P0
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### MQL 搜索
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
# 查询空间下的 P0 需求
|
|
184
|
+
meegle workitem query --project-key PROJ \
|
|
185
|
+
--mql "SELECT \`name\`, \`priority\` FROM \`空间名\`.\`需求\` WHERE \`priority\` = 'P0'"
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### 查看排期
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
# 查看团队成员排期
|
|
192
|
+
meegle workhour list-schedule --project-key PROJ \
|
|
193
|
+
--start-time 2026-03-01 --end-time 2026-03-31 \
|
|
194
|
+
--user-keys "张三,李四,王五"
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### 查看用户信息
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
meegle user search --user-keys "张三,李四" --project-key PROJ
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## 参数传递
|
|
204
|
+
|
|
205
|
+
### 基本 flag
|
|
206
|
+
|
|
207
|
+
每个命令的参数通过 `--flag-name` 传递:
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
meegle workitem get --work-item-id 12345 --project-key PROJ
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### --set key=value(写入命令)
|
|
214
|
+
|
|
215
|
+
`workitem create`、`workitem update`、`workflow update-node`、`subtask update` 支持 `--set` 简便设置字段:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
--set name=标题 # 字符串
|
|
219
|
+
--set points=5 # 数字
|
|
220
|
+
--set is_urgent=true # 布尔
|
|
221
|
+
--set schedule='[1,2]' # JSON 数组
|
|
222
|
+
--set role='{"role":"RD"}' # JSON 对象
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
`--set` 可重复使用,一次设置多个字段。
|
|
226
|
+
|
|
227
|
+
### --params JSON(兜底)
|
|
228
|
+
|
|
229
|
+
所有命令都支持 `--params` 传入完整 JSON 参数:
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
meegle workitem create --project-key PROJ --work-item-type story \
|
|
233
|
+
--params '{"fields":[{"field_key":"name","field_value":"标题"}]}'
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### 优先级
|
|
237
|
+
|
|
238
|
+
当 `--set`、`--params` 和普通 flag 同时使用时:
|
|
239
|
+
|
|
240
|
+
1. `--set` 覆盖 `--params` 中同名字段
|
|
241
|
+
2. 普通 flag(如 `--project-key`)覆盖 `--params` 中同名顶层 key
|
|
242
|
+
|
|
243
|
+
### 数组参数
|
|
244
|
+
|
|
245
|
+
多个值用逗号分隔:
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
--user-keys "张三,李四,王五"
|
|
249
|
+
--field-keys "name,status,priority"
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### 布尔参数
|
|
253
|
+
|
|
254
|
+
直接加 flag 即为 true,不加即为 false:
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
meegle workflow get-node --work-item-id 12345 --need-sub-task
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
## 输出格式
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
# JSON(默认)
|
|
264
|
+
meegle workitem get --work-item-id 12345
|
|
265
|
+
|
|
266
|
+
# 选取输出属性(支持 dot path)
|
|
267
|
+
meegle workitem get --work-item-id 12345 --select "id,name,status"
|
|
268
|
+
meegle mywork todo --action done --page-num 1 --select "list.work_item_info.work_item_name"
|
|
269
|
+
|
|
270
|
+
# NDJSON(适合管道处理)
|
|
271
|
+
meegle mywork todo --action this_week --page-num 1 --format ndjson
|
|
272
|
+
|
|
273
|
+
# 表格
|
|
274
|
+
meegle mywork todo --action this_week --page-num 1 --format table
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
### --select dot path
|
|
278
|
+
|
|
279
|
+
`--select` 支持用 `.` 访问嵌套属性,遇到数组时自动穿透:
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
# 从嵌套结构中提取字段
|
|
283
|
+
--select "list.work_item_info.work_item_name,list.state_info.end_state_key_name"
|
|
284
|
+
|
|
285
|
+
# 混合顶层和嵌套
|
|
286
|
+
--select "total,list.work_item_info.work_item_name"
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
## 命令内省
|
|
290
|
+
|
|
291
|
+
使用 `inspect` 查看命令的完整参数信息:
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
# 列出所有命令
|
|
295
|
+
meegle inspect
|
|
296
|
+
|
|
297
|
+
# 查看特定命令的参数详情
|
|
298
|
+
meegle inspect workitem.create
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
## 认证
|
|
302
|
+
|
|
303
|
+
### 浏览器登录(默认)
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
meegle auth login
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
自动打开浏览器完成 OAuth 授权。如果浏览器未打开,终端会显示授权地址,手动复制即可。
|
|
310
|
+
|
|
311
|
+
### Device Code 登录(无浏览器环境)
|
|
312
|
+
|
|
313
|
+
```bash
|
|
314
|
+
meegle auth login --device-code
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
终端显示二维码和授权码,使用手机扫码授权。适用于 SSH 远程服务器等无浏览器环境。
|
|
318
|
+
|
|
319
|
+
### 其他认证命令
|
|
320
|
+
|
|
321
|
+
```bash
|
|
322
|
+
# 查看登录状态
|
|
323
|
+
meegle auth status
|
|
324
|
+
|
|
325
|
+
# 登出
|
|
326
|
+
meegle auth logout
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
## 配置
|
|
330
|
+
|
|
331
|
+
### 配置文件
|
|
332
|
+
|
|
333
|
+
配置存储在 `~/.meegle/config.json`:
|
|
334
|
+
|
|
335
|
+
```bash
|
|
336
|
+
# 初始化配置
|
|
337
|
+
meegle config init
|
|
338
|
+
|
|
339
|
+
# 查看当前配置
|
|
340
|
+
meegle config show
|
|
341
|
+
|
|
342
|
+
# 修改单个配置项
|
|
343
|
+
meegle config set host project.feishu.cn
|
|
344
|
+
|
|
345
|
+
# 查看单个配置项
|
|
346
|
+
meegle config get host
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
主要配置项:
|
|
350
|
+
|
|
351
|
+
| 字段 | 说明 | 示例 |
|
|
352
|
+
|------|------|------|
|
|
353
|
+
| `host` | 站点域名 | `project.feishu.cn`、`meegle.com` |
|
|
354
|
+
|
|
355
|
+
### 多环境 Profile
|
|
356
|
+
|
|
357
|
+
支持管理多个环境配置(不同站点、不同账号),每个 profile 独立存储 host 和认证信息。
|
|
358
|
+
|
|
359
|
+
```bash
|
|
360
|
+
# 创建新环境(交互式引导 host 选择 + 登录)
|
|
361
|
+
meegle config profile create staging
|
|
362
|
+
|
|
363
|
+
# 查看所有环境
|
|
364
|
+
meegle config profile list
|
|
365
|
+
|
|
366
|
+
# 切换默认环境
|
|
367
|
+
meegle config profile use staging
|
|
368
|
+
|
|
369
|
+
# 查看当前环境
|
|
370
|
+
meegle config profile current
|
|
371
|
+
|
|
372
|
+
# 临时使用其他环境(不改变默认)
|
|
373
|
+
meegle mywork todo --action this_week --page-num 1 --profile staging
|
|
374
|
+
|
|
375
|
+
# 删除环境
|
|
376
|
+
meegle config profile delete staging
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
### 环境变量
|
|
380
|
+
|
|
381
|
+
环境变量优先级高于配置文件:
|
|
382
|
+
|
|
383
|
+
| 变量 | 说明 |
|
|
384
|
+
|------|------|
|
|
385
|
+
| `MEEGLE_HOST` | 站点域名 |
|
|
386
|
+
| `MEEGLE_USER_ACCESS_TOKEN` | 直接传入 token(CI 场景) |
|
|
387
|
+
|
|
388
|
+
## 常见问题
|
|
389
|
+
|
|
390
|
+
### 命令列表为空
|
|
391
|
+
|
|
392
|
+
CLI 启动时会从服务端获取可用命令列表。如果网络不通或未登录,动态命令不会注册。请先确保已登录:
|
|
393
|
+
|
|
394
|
+
```bash
|
|
395
|
+
meegle auth login
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
命令列表会自动缓存,过期后在后台静默刷新,不影响使用。
|
|
399
|
+
|
|
400
|
+
### CI/CD 环境使用
|
|
401
|
+
|
|
402
|
+
通过环境变量传入 token,跳过交互式登录:
|
|
403
|
+
|
|
404
|
+
```bash
|
|
405
|
+
export MEEGLE_USER_ACCESS_TOKEN="your-token"
|
|
406
|
+
meegle mywork todo --action this_week --page-num 1
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
## License
|
|
410
|
+
|
|
411
|
+
[ISC](LICENSE) © Lark Technologies Pte. Ltd.
|
package/bin/meegle-darwin-arm64
CHANGED
|
Binary file
|
package/bin/meegle-darwin-x64
CHANGED
|
Binary file
|
package/bin/meegle-linux-arm64
CHANGED
|
Binary file
|
package/bin/meegle-linux-x64
CHANGED
|
Binary file
|