@bifos/dooray-cli 0.12.0 → 0.14.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.
@@ -0,0 +1,106 @@
1
+ # workflow
2
+
3
+ 워크플로우 판단 기준, 정형 task 자동화, 위키 이외 체이닝 시나리오(업무 완료 처리 / 업무 생성 / 댓글 추가 / 스크린샷 첨부 / 메신저 알림)를 다룬다.
4
+
5
+ ## 워크플로우 판단 기준
6
+
7
+ 1. **"내 프로젝트", "개인 프로젝트" 언급 시** → `dooray project list --type private --json` 으로 개인 프로젝트 먼저 조회
8
+ 2. **프로젝트 코드를 모르면** → `dooray project list --search <keyword>` 로 먼저 찾기
9
+ 3. **업무 번호를 모르면** → `dooray post search <project> "<keyword>"` 로 검색
10
+ 4. **워크플로우 이름을 모르면** → `dooray project workflows <project>` 로 확인
11
+ 5. **멤버 이름을 모르면** → `dooray member list <project>` (또는 `dooray project members <project>`) 로 확인
12
+ 6. **org 전체 멤버를 찾으려면** → `dooray member search <keyword>` (이름), `--email <addr>`, `--user-code <code>` 중 하나 사용
13
+ 7. **결과를 다음 액션에 사용하려면** → `--json` 플래그로 구조화된 데이터 획득
14
+
15
+ ---
16
+
17
+
18
+ ## 체이닝 예시
19
+
20
+ ### 업무 찾아서 완료 처리
21
+
22
+ ```bash
23
+ # 1. 업무 검색으로 번호 확인
24
+ dooray post search <project> "graceful shutdown" --json
25
+ # → [{ "number": 42, "subject": "graceful shutdown 구현", ... }]
26
+
27
+ # 2. 완료 처리
28
+ dooray post done <project> 42
29
+ ```
30
+
31
+
32
+ ### 프로젝트 찾아서 업무 생성
33
+
34
+ ```bash
35
+ # 1. 프로젝트 코드 확인
36
+ dooray project list --search "AI서비스" --json
37
+ # → [{ "code": "ai-service-dev", ... }]
38
+
39
+ # 2. 업무 생성
40
+ dooray post create ai-service-dev \
41
+ --title "주간보고 2026-W14" \
42
+ --body "## 이번 주 성과\n- 항목1\n- 항목2" \
43
+ --to "김철수"
44
+ ```
45
+
46
+
47
+ ### 업무 상세 조회 후 댓글 추가
48
+
49
+ ```bash
50
+ # 1. 업무 조회
51
+ dooray post get <project> 42 --json
52
+
53
+ # 2. 댓글 추가
54
+ dooray post comment add <project> 42 --body "진행 상황 업데이트: 80% 완료"
55
+ ```
56
+
57
+
58
+ ### 시나리오 — 댓글에 스크린샷 자동 첨부
59
+
60
+ 스크립트가 스크린샷을 댓글에 삽입하거나, 에이전트가 결과 파일을 첨부 댓글로 보고할 때 사용.
61
+ Dooray REST API 가 댓글 전용 attachment endpoint 를 미지원하므로 내부적으로 post-level files API + 댓글 본문 PUT 합성으로 동작한다.
62
+
63
+ ```bash
64
+ # 1. 댓글을 먼저 만든다 (텍스트만, --json 으로 commentId 획득)
65
+ COMMENT_ID=$(dooray post comment add <project> <post-num> --body "스크린샷 보고:" --json | jq -r '.id')
66
+
67
+ # 2. 그 댓글에 파일을 첨부 (post-level 업로드 + 댓글 본문 markdown 자동 추가)
68
+ dooray post comment file upload <project> <post-num> "$COMMENT_ID" ./screenshot.png
69
+ ```
70
+
71
+
72
+ ### 시나리오 — 배포 알림 메신저 자동 전송
73
+
74
+ CI/배포 스크립트가 완료 알림을 담당자 DM 또는 팀 대화방에 자동으로 보낼 때 사용.
75
+ 전송은 API 토큰 소유자 명의로 나가며, 본문은 plain text 만 지원한다.
76
+
77
+ ```bash
78
+ # 담당자 DM (id 또는 이메일만 가능 — 이름 검색 미지원)
79
+ dooray messenger send --to "user@example.com" --body "배포가 완료되었습니다 (v1.2.3)."
80
+
81
+ # 팀 대화방 (channelId 또는 자신이 속한 대화방 이름)
82
+ dooray messenger channel-send --channel "배포 알림방" --body-file ./release-note.md
83
+
84
+ # --json 으로 log-id 확인 (자동화 파이프라인에서 후속 처리 시)
85
+ dooray messenger send --to <memberId> --body "..." --json
86
+ ```
87
+
88
+
89
+ ---
90
+
91
+ ## 정형 task 자동화
92
+
93
+ 매주 같은 형식의 task 를 만드는 자동화는 템플릿 + override 패턴이 효율적:
94
+
95
+ ```bash
96
+ # 매주 월요일 실행되는 cron — "주간 릴리스 체크" 템플릿으로 자동 생성
97
+ TODAY=$(date +%Y-%m-%d)
98
+ POST_ID=$(dooray post create <project> \
99
+ --template "주간 릴리스 체크" \
100
+ --title "주간 릴리스 체크 — $TODAY" \
101
+ --json | jq -r '.id')
102
+ ```
103
+
104
+ 템플릿 본문의 `${year}` / `${month}` 등 매크로는 Dooray 가 자동 치환 (`interpolation=true` 기본).
105
+ 사용자 정의 변수는 미지원 — 필요 시 client 측 string replace 로 처리.
106
+