@elyun/bylane 1.31.0 → 1.33.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 +50 -2
- package/commands/bylane-notify-agent.md +38 -12
- package/package.json +1 -1
- package/src/config.js +1 -1
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ GitHub Issues에서 시작해 코드 구현, 테스트, 커밋, PR 생성, 리
|
|
|
28
28
|
- [Claude Code](https://claude.ai/code) CLI
|
|
29
29
|
- Node.js 20+
|
|
30
30
|
- GitHub MCP (Claude Code 기본 제공) / `gh` CLI / `GITHUB_TOKEN` 중 하나
|
|
31
|
-
- Slack
|
|
31
|
+
- Slack Incoming Webhook URL 또는 Telegram Bot Token (알림 사용 시, 선택사항)
|
|
32
32
|
- Figma MCP (디자인 연동 사용 시, 선택사항)
|
|
33
33
|
|
|
34
34
|
---
|
|
@@ -443,7 +443,7 @@ respond-loop 독립: 5분 주기 리뷰 코멘트 감지
|
|
|
443
443
|
"linear": { "enabled": false, "apiKey": "" }
|
|
444
444
|
},
|
|
445
445
|
"notifications": {
|
|
446
|
-
"slack": { "enabled": true, "
|
|
446
|
+
"slack": { "enabled": true, "webhookUrl": "https://hooks.slack.com/services/T.../B.../..." },
|
|
447
447
|
"telegram": { "enabled": false, "chatId": "" }
|
|
448
448
|
},
|
|
449
449
|
"workflow": {
|
|
@@ -486,6 +486,54 @@ respond-loop 독립: 5분 주기 리뷰 코멘트 감지
|
|
|
486
486
|
}
|
|
487
487
|
```
|
|
488
488
|
|
|
489
|
+
### Slack 웹훅 설정 (Workflow Builder)
|
|
490
|
+
|
|
491
|
+
**1. Workflow 생성**
|
|
492
|
+
|
|
493
|
+
Slack → **Automations** → **New Workflow** → **Start from scratch**
|
|
494
|
+
트리거: **Webhook**
|
|
495
|
+
|
|
496
|
+
**2. 변수 스키마 정의**
|
|
497
|
+
|
|
498
|
+
웹훅 트리거 설정에서 아래 변수를 추가:
|
|
499
|
+
|
|
500
|
+
| 변수명 | 타입 |
|
|
501
|
+
|--------|------|
|
|
502
|
+
| `title` | 텍스트 |
|
|
503
|
+
| `status` | 텍스트 |
|
|
504
|
+
| `url` | 텍스트 |
|
|
505
|
+
| `elapsed` | 텍스트 |
|
|
506
|
+
| `reason` | 텍스트 |
|
|
507
|
+
|
|
508
|
+
**3. 메시지 단계 추가**
|
|
509
|
+
|
|
510
|
+
"Send a message" 단계에서 변수 참조:
|
|
511
|
+
```
|
|
512
|
+
{{title}} — {{status}}
|
|
513
|
+
{{url}}
|
|
514
|
+
{{elapsed}}{{reason}}
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
**4. Workflow 게시 후 Webhook URL 복사**
|
|
518
|
+
|
|
519
|
+
URL 형식: `https://hooks.slack.com/workflows/...`
|
|
520
|
+
|
|
521
|
+
**5. `.bylane/bylane.json`에 입력**
|
|
522
|
+
|
|
523
|
+
```json
|
|
524
|
+
"notifications": {
|
|
525
|
+
"slack": {
|
|
526
|
+
"enabled": true,
|
|
527
|
+
"webhookUrl": "https://hooks.slack.com/workflows/..."
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
알림이 발송되는 시점:
|
|
533
|
+
- ✅ PR 생성/머지 완료
|
|
534
|
+
- ⚠️ 테스트 실패로 개입 필요
|
|
535
|
+
- ❌ 파이프라인 오류
|
|
536
|
+
|
|
489
537
|
### 브랜치 네이밍 토큰
|
|
490
538
|
|
|
491
539
|
| 토큰 | 설명 |
|
|
@@ -38,18 +38,44 @@ PR: PR_URL
|
|
|
38
38
|
|
|
39
39
|
### Slack 알림 (notifications.slack.enabled: true)
|
|
40
40
|
|
|
41
|
-
Slack
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
41
|
+
Slack Workflow Builder 웹훅으로 POST한다.
|
|
42
|
+
Workflow에 정의된 변수 스키마와 페이로드 키가 일치해야 한다.
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# 완료 (type: completed)
|
|
46
|
+
curl -s -X POST "$SLACK_WEBHOOK_URL" \
|
|
47
|
+
-H "Content-Type: application/json" \
|
|
48
|
+
-d "{
|
|
49
|
+
\"title\": \"TITLE\",
|
|
50
|
+
\"status\": \"completed\",
|
|
51
|
+
\"url\": \"PR_URL\",
|
|
52
|
+
\"elapsed\": \"ELAPSED\",
|
|
53
|
+
\"reason\": \"\"
|
|
54
|
+
}"
|
|
55
|
+
|
|
56
|
+
# 개입 필요 (type: escalated / error)
|
|
57
|
+
curl -s -X POST "$SLACK_WEBHOOK_URL" \
|
|
58
|
+
-H "Content-Type: application/json" \
|
|
59
|
+
-d "{
|
|
60
|
+
\"title\": \"TITLE\",
|
|
61
|
+
\"status\": \"escalated\",
|
|
62
|
+
\"url\": \"PR_URL\",
|
|
63
|
+
\"elapsed\": \"\",
|
|
64
|
+
\"reason\": \"REASON\"
|
|
65
|
+
}"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Workflow Builder에서 정의해야 할 변수 스키마:
|
|
69
|
+
|
|
70
|
+
| 변수명 | 타입 | 설명 |
|
|
71
|
+
|--------|------|------|
|
|
72
|
+
| `title` | 텍스트 | 작업 제목 |
|
|
73
|
+
| `status` | 텍스트 | `completed` / `escalated` / `error` |
|
|
74
|
+
| `url` | 텍스트 | GitHub PR/Issue URL |
|
|
75
|
+
| `elapsed` | 텍스트 | 소요 시간 (완료 시) |
|
|
76
|
+
| `reason` | 텍스트 | 실패/에스컬레이션 이유 |
|
|
77
|
+
|
|
78
|
+
`webhookUrl`이 비어 있으면 Slack 알림을 건너뛴다.
|
|
53
79
|
|
|
54
80
|
### Telegram 알림 (notifications.telegram.enabled: true)
|
|
55
81
|
|
package/package.json
CHANGED
package/src/config.js
CHANGED