@elyun/bylane 1.32.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 CHANGED
@@ -486,17 +486,45 @@ respond-loop 독립: 5분 주기 리뷰 코멘트 감지
486
486
  }
487
487
  ```
488
488
 
489
- ### Slack 웹훅 설정
489
+ ### Slack 웹훅 설정 (Workflow Builder)
490
490
 
491
- 1. [Slack API](https://api.slack.com/apps) → **Create New App** → **Incoming Webhooks** 활성화
492
- 2. **Add New Webhook to Workspace** → 채널 선택 → Webhook URL 복사
493
- 3. `.bylane/bylane.json`에 입력:
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`에 입력**
494
522
 
495
523
  ```json
496
524
  "notifications": {
497
525
  "slack": {
498
526
  "enabled": true,
499
- "webhookUrl": "https://hooks.slack.com/services/T.../B.../..."
527
+ "webhookUrl": "https://hooks.slack.com/workflows/..."
500
528
  }
501
529
  }
502
530
  ```
@@ -38,21 +38,44 @@ PR: PR_URL
38
38
 
39
39
  ### Slack 알림 (notifications.slack.enabled: true)
40
40
 
41
- `config.notifications.slack.webhookUrl`로 Incoming Webhook POST:
41
+ Slack Workflow Builder 웹훅으로 POST한다.
42
+ Workflow에 정의된 변수 스키마와 페이로드 키가 일치해야 한다.
42
43
 
43
44
  ```bash
44
- # 완료 메시지
45
+ # 완료 (type: completed)
45
46
  curl -s -X POST "$SLACK_WEBHOOK_URL" \
46
47
  -H "Content-Type: application/json" \
47
- -d '{"text":"[byLane] ✅ 완료: TITLE\nPR: PR_URL | 소요 시간: ELAPSED"}'
48
-
49
- # 개입 필요 메시지
48
+ -d "{
49
+ \"title\": \"TITLE\",
50
+ \"status\": \"completed\",
51
+ \"url\": \"PR_URL\",
52
+ \"elapsed\": \"ELAPSED\",
53
+ \"reason\": \"\"
54
+ }"
55
+
56
+ # 개입 필요 (type: escalated / error)
50
57
  curl -s -X POST "$SLACK_WEBHOOK_URL" \
51
58
  -H "Content-Type: application/json" \
52
- -d '{"text":"[byLane] ⚠️ 개입 필요: TITLE\n이유: REASON | 확인: PR_URL"}'
59
+ -d "{
60
+ \"title\": \"TITLE\",
61
+ \"status\": \"escalated\",
62
+ \"url\": \"PR_URL\",
63
+ \"elapsed\": \"\",
64
+ \"reason\": \"REASON\"
65
+ }"
53
66
  ```
54
67
 
55
- `webhookUrl`이 비어 있으면 Slack 알림을 건너뜬다.
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 알림을 건너뛴다.
56
79
 
57
80
  ### Telegram 알림 (notifications.telegram.enabled: true)
58
81
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elyun/bylane",
3
- "version": "1.32.0",
3
+ "version": "1.33.0",
4
4
  "description": "Frontend development harness for Claude Code",
5
5
  "type": "module",
6
6
  "bin": {