@bifos/dooray-cli 0.8.0 → 0.9.0
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 +68 -0
- package/dist/index.js +444 -156
- package/package.json +1 -1
- package/skills/dooray-cli/SKILL.md +66 -0
package/README.md
CHANGED
|
@@ -46,6 +46,7 @@ dooray project members <project> # 멤버 목록
|
|
|
46
46
|
dooray project workflows <project> # 워크플로우 목록
|
|
47
47
|
dooray project groups <project> # 멤버 그룹 목록 (ID / Code)
|
|
48
48
|
dooray project tags <project> # 태그 목록 (ID / Color / Name / Group / Mandatory)
|
|
49
|
+
dooray project templates <project> # 템플릿 목록 (ID / Template Name, ADR-027)
|
|
49
50
|
```
|
|
50
51
|
|
|
51
52
|
> **태그 캐시 갱신**: 이전 버전에서 캐시한 태그가 색상 없이 표시되면 `dooray cache clear` 실행 후 다시 조회하세요.
|
|
@@ -108,6 +109,24 @@ dooray post create <project> \
|
|
|
108
109
|
|
|
109
110
|
> mandatory-tag 정책 프로젝트(예: `<project>`)에서는 mandatory 그룹마다 1개 이상 `--tag`로 지정해야 한다. 누락 시 클라이언트가 사전 검증으로 후보 목록과 함께 에러 출력.
|
|
110
111
|
|
|
112
|
+
#### 템플릿 기반 정형 task (ADR-027)
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# 프로젝트의 템플릿 목록
|
|
116
|
+
dooray project templates <project>
|
|
117
|
+
|
|
118
|
+
# 템플릿으로 업무 생성 (body/users/tags 자동 채움)
|
|
119
|
+
dooray post create <project> --template "릴리스 플랜"
|
|
120
|
+
|
|
121
|
+
# 사용자 옵션 override — 일부 필드만 다르게
|
|
122
|
+
dooray post create <project> --template "릴리스 플랜" --title "v0.9 릴리스 계획" --tag "p0"
|
|
123
|
+
|
|
124
|
+
# 19자리 templateId 직접 입력
|
|
125
|
+
dooray post create <project> --template 1234567890123456789 --title "by id"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
`interpolation=true` 가 기본 — Dooray 가 `${year}`, `${month}` 같은 시스템 매크로를 응답에서 자동 치환. 사용자 정의 변수 (`--field key=value`) 는 본 release scope 외.
|
|
129
|
+
|
|
111
130
|
### 업무 수정
|
|
112
131
|
|
|
113
132
|
```bash
|
|
@@ -186,6 +205,55 @@ dooray post edit <project> <post-number> --cc-group dev-team --dry-run --json |
|
|
|
186
205
|
# 출력 예: [{ "type": "group", "group": { "projectMemberGroupId": "...", "members": [] } }, ...]
|
|
187
206
|
```
|
|
188
207
|
|
|
208
|
+
#### 생성 후 태그 변경 (Issue #66)
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
# 기존 태그 유지 + 신규 추가 (dedupe)
|
|
212
|
+
dooray post edit --id <postId> --tag "<group>: <name>"
|
|
213
|
+
|
|
214
|
+
# 기존 태그 전부 제거 + 신규만 적용
|
|
215
|
+
dooray post edit --id <postId> --tag-clear --tag "<group>: <name>"
|
|
216
|
+
|
|
217
|
+
# 특정 태그만 제거 (기존 유지)
|
|
218
|
+
dooray post edit --id <postId> --tag-remove "<group>: <name>"
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
`--title` / `--body` 없이 단독 호출 가능 — 기존 본문은 자동 재전송.
|
|
222
|
+
mandatory tag 그룹은 `post create` 와 동일하게 사전 검증 (ADR-019).
|
|
223
|
+
|
|
224
|
+
#### 상위 업무 변경 (`--parent`)
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
# 자식 업무에 부모 지정
|
|
228
|
+
dooray post edit <project> <child-number> --title "<원제목>" --parent <project>/<parent-number>
|
|
229
|
+
|
|
230
|
+
# 다른 부모로 변경
|
|
231
|
+
dooray post edit --id <postId> --title "<원제목>" --parent <other-parent-postId>
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
내부적으로 `client.updatePost` 호출 후 별도 `POST .../set-parent-post` endpoint 추가 호출. **parent 해제 (top-level 화)** 는 Dooray API 가 미지원이라 웹 UI 에서 수동 처리.
|
|
235
|
+
|
|
236
|
+
interactive ($EDITOR) 모드에서 `--parent` 사용 시 무시 + stderr 경고. **parent 만 단독 변경하려면 `--title "<원제목>"` 동반 필요** — `post edit` 가 본문 변경(`--title`/`--body`) 동반 시에만 non-interactive 분기로 들어가며, parent 변경은 그 분기 안에서만 수행됨. (Issue #60)
|
|
237
|
+
|
|
238
|
+
`--dry-run --json` 출력의 `parentChange` 필드는 **사용자 입력 원문 그대로** (`<project>/<number>` 또는 raw postId) — resolver 처리 전 미리보기 값이며 실제 호출 대상 `postId` 가 아님. dry-run 은 API 미호출 원칙을 유지해 `resolvePostRef` 도 건너뜀.
|
|
239
|
+
|
|
240
|
+
#### `--to` / `--cc` / `--mention` 입력 형식 (자동 분기)
|
|
241
|
+
|
|
242
|
+
이름 외에도 이메일 / organizationMemberId 직접 입력 가능 — **동명이인 우회 + ID 직접 입력** (Issue #58):
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
# 이름 (이전부터 지원, 부분일치)
|
|
246
|
+
dooray post create <project> --title "..." --cc 홍길동
|
|
247
|
+
|
|
248
|
+
# 이메일 (동명이인 우회)
|
|
249
|
+
dooray post create <project> --title "..." --cc user@example.com
|
|
250
|
+
|
|
251
|
+
# organizationMemberId 직접
|
|
252
|
+
dooray post create <project> --title "..." --cc 1234567890123456789
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
분기 규칙: `^\d{15,}$` → memberId / `^[^\s@]+@[^\s@]+\.[^\s@]+$` → 이메일 / 그 외 → 이름 부분일치. `member search --email` 의 인프라 재사용.
|
|
256
|
+
|
|
189
257
|
#### comment list 필터 옵션
|
|
190
258
|
|
|
191
259
|
```bash
|