siesa-agents 2.1.28 → 2.1.29
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 +0 -2
- package/bin/install.js +9 -5
- package/bmad-core/agents/dev.md +3 -0
- package/bmad-core/agents/pm.md +19 -0
- package/bmad-core/agents/po.md +22 -0
- package/bmad-core/data/jira-preferences.md +153 -0
- package/bmad-core/tasks/create-next-story.md +31 -0
- package/bmad-core/tasks/jira-setup.md +396 -0
- package/bmad-core/tasks/sync-epic-files-to-jira.md +513 -0
- package/bmad-core/tasks/sync-prd-to-jira.md +439 -0
- package/bmad-core/tasks/sync-stories-batch-to-jira.md +561 -0
- package/bmad-core/tasks/sync-story-to-jira.md +628 -0
- package/bmad-core/tasks/update-epic-stories-jira-status.md +799 -0
- package/bmad-core/tasks/update-story-jira-status.md +600 -0
- package/bmad-core/tasks/validate-jira-auth.md +251 -0
- package/bmad-core/templates/jira-conf-tmpl.md +13 -0
- package/claude/commands/BMad/agents/dev.md +3 -0
- package/claude/commands/BMad/agents/pm.md +6 -0
- package/claude/commands/BMad/agents/po.md +21 -0
- package/claude/settings.local.json +3 -0
- package/github/chatmodes/dev.chatmode.md +3 -0
- package/github/chatmodes/pm.chatmode.md +6 -0
- package/github/chatmodes/po.chatmode.md +17 -1
- package/package.json +1 -1
- package/vscode/mcp.json +4 -0
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
<!-- Powered by BMAD™ Core -->
|
|
2
|
+
|
|
3
|
+
# Jira Setup Task
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
Configure project-specific Jira integration by collecting project information and validating authentication with Jira Cloud. This task interactively guides the user through setup and automatically retrieves project details using the Jira MCP integration.
|
|
8
|
+
|
|
9
|
+
## When to Use This Task
|
|
10
|
+
|
|
11
|
+
**Use this task when:**
|
|
12
|
+
|
|
13
|
+
- Setting up Jira integration for the first time
|
|
14
|
+
- `docs/jira-conf.md` doesn't exist
|
|
15
|
+
- Reconfiguring Jira connection for a different project
|
|
16
|
+
- Jira authentication needs to be validated
|
|
17
|
+
|
|
18
|
+
**Prerequisites:**
|
|
19
|
+
|
|
20
|
+
- Jira MCP integration must be available
|
|
21
|
+
- User must have access to a Jira Cloud instance
|
|
22
|
+
- User must know their Jira project key (or be able to find it)
|
|
23
|
+
|
|
24
|
+
## Instructions
|
|
25
|
+
|
|
26
|
+
### Phase 1: Pre-Configuration Validation
|
|
27
|
+
|
|
28
|
+
#### Step 1: Check for Existing Configuration
|
|
29
|
+
|
|
30
|
+
**Action:** Check if configuration already exists
|
|
31
|
+
|
|
32
|
+
- [ ] Check if `docs/jira-conf.md` exists
|
|
33
|
+
- [ ] If exists, load current configuration
|
|
34
|
+
- [ ] Display current settings to user
|
|
35
|
+
|
|
36
|
+
**If Configuration Exists:**
|
|
37
|
+
```elicit
|
|
38
|
+
path: Configuration already exists
|
|
39
|
+
format: |
|
|
40
|
+
⚠️ Jira configuration already exists at `docs/jira-conf.md`
|
|
41
|
+
|
|
42
|
+
Current Settings:
|
|
43
|
+
- Project Key: {{current_project_key}}
|
|
44
|
+
- Project Name: {{current_project_name}}
|
|
45
|
+
- Cloud ID: {{current_cloud_id}}
|
|
46
|
+
|
|
47
|
+
Options:
|
|
48
|
+
1. Keep existing configuration (cancel setup)
|
|
49
|
+
2. Reconfigure with new project
|
|
50
|
+
3. Validate and update existing configuration
|
|
51
|
+
|
|
52
|
+
Enter selection (1-3):
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**If User Selects Option 1:** Exit task gracefully
|
|
56
|
+
**If User Selects Option 2:** Continue to Step 2
|
|
57
|
+
**If User Selects Option 3:** Skip to Step 4 (validation)
|
|
58
|
+
|
|
59
|
+
#### Step 2: Elicit Project Key
|
|
60
|
+
|
|
61
|
+
**CRITICAL:** This step requires user interaction - DO NOT skip or auto-fill
|
|
62
|
+
|
|
63
|
+
```elicit
|
|
64
|
+
path: Collect Jira project key
|
|
65
|
+
format: |
|
|
66
|
+
🔧 Jira Project Configuration
|
|
67
|
+
|
|
68
|
+
I need your Jira Project Key to set up the integration.
|
|
69
|
+
The Cloud ID and Jira URL will be retrieved automatically via MCP.
|
|
70
|
+
|
|
71
|
+
**Jira Project Key**
|
|
72
|
+
Your project key (e.g., PM, PROJ, SCRUM)
|
|
73
|
+
|
|
74
|
+
💡 Find it in Jira: Project Settings > Details
|
|
75
|
+
💡 Usually 2-10 uppercase letters
|
|
76
|
+
|
|
77
|
+
Enter Project Key:
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Action:** Validate project key format
|
|
81
|
+
|
|
82
|
+
- [ ] Ensure not empty
|
|
83
|
+
- [ ] Convert to uppercase if needed
|
|
84
|
+
- [ ] Typically 2-10 characters
|
|
85
|
+
- [ ] Store project key
|
|
86
|
+
- [ ] If invalid, re-prompt user
|
|
87
|
+
|
|
88
|
+
### Phase 2: Retrieve Project Details via MCP
|
|
89
|
+
|
|
90
|
+
#### Step 3: Authenticate and Retrieve Cloud ID
|
|
91
|
+
|
|
92
|
+
**CRITICAL:** Use MCP to authenticate and automatically retrieve Jira Cloud ID
|
|
93
|
+
|
|
94
|
+
**Note:** If authentication fails here during setup, this is expected for first-time configuration. However, for subsequent operations after setup is complete, always use `validate-jira-auth.md` task to check authentication before proceeding.
|
|
95
|
+
|
|
96
|
+
**Action:** Use GitKraken MCP to retrieve accessible Jira resources
|
|
97
|
+
|
|
98
|
+
```output
|
|
99
|
+
🔄 Connecting to Jira via MCP...
|
|
100
|
+
🔄 Retrieving Cloud ID for project: {{project_key}}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Execute MCP Call:**
|
|
104
|
+
|
|
105
|
+
```action
|
|
106
|
+
Call MCP Function: mcp_gitkraken_issues_assigned_to_me
|
|
107
|
+
Parameters:
|
|
108
|
+
- provider: "jira"
|
|
109
|
+
|
|
110
|
+
This call will:
|
|
111
|
+
1. Trigger Jira authentication if not already authenticated (browser OAuth flow)
|
|
112
|
+
2. Return issues which contain the cloudId in the response metadata
|
|
113
|
+
3. Extract the Cloud ID from the response
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**Expected Outcomes:**
|
|
117
|
+
|
|
118
|
+
**Authentication Required (First Time):**
|
|
119
|
+
```output
|
|
120
|
+
🔐 Jira Authentication Required
|
|
121
|
+
|
|
122
|
+
A browser window will open for Jira authentication.
|
|
123
|
+
|
|
124
|
+
Steps:
|
|
125
|
+
1. Browser opens automatically to Jira login
|
|
126
|
+
2. Log in with your Jira account
|
|
127
|
+
3. Authorize the MCP integration
|
|
128
|
+
4. Return here when authentication is complete
|
|
129
|
+
|
|
130
|
+
⏳ Waiting for authentication...
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**After user authenticates, the MCP call will return with cloudId**
|
|
134
|
+
|
|
135
|
+
**Success - Cloud ID Retrieved:**
|
|
136
|
+
```output
|
|
137
|
+
✅ Authentication successful!
|
|
138
|
+
✅ Cloud ID retrieved: {{cloud_id}}
|
|
139
|
+
✅ Jira URL detected: {{jira_url}}
|
|
140
|
+
|
|
141
|
+
Validating project access for: {{project_key}}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**Authentication Failed:**
|
|
145
|
+
```elicit
|
|
146
|
+
path: Authentication failed
|
|
147
|
+
format: |
|
|
148
|
+
❌ Failed to authenticate with Jira
|
|
149
|
+
|
|
150
|
+
Error: {{error_message}}
|
|
151
|
+
|
|
152
|
+
Possible causes:
|
|
153
|
+
- MCP integration not configured
|
|
154
|
+
- Network issues
|
|
155
|
+
- Browser blocked OAuth flow
|
|
156
|
+
- User cancelled authentication
|
|
157
|
+
|
|
158
|
+
Options:
|
|
159
|
+
1. Retry authentication
|
|
160
|
+
2. Check MCP server status
|
|
161
|
+
3. Cancel setup
|
|
162
|
+
|
|
163
|
+
Enter selection (1-3):
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
**If Option 1:** Retry Step 3
|
|
167
|
+
**If Option 2:** Display MCP troubleshooting help, then retry
|
|
168
|
+
**If Option 3:** Exit task gracefully
|
|
169
|
+
|
|
170
|
+
#### Step 4: Verify Project Access and Get Project Name
|
|
171
|
+
|
|
172
|
+
**Action:** Use the retrieved Cloud ID to verify project access and get project details
|
|
173
|
+
|
|
174
|
+
```output
|
|
175
|
+
🔄 Verifying project access...
|
|
176
|
+
🔄 Retrieving project name for: {{project_key}}
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
**Execute MCP Call:**
|
|
180
|
+
|
|
181
|
+
```action
|
|
182
|
+
Call MCP Function: mcp_gitkraken_issues_assigned_to_me
|
|
183
|
+
Parameters:
|
|
184
|
+
- provider: "jira"
|
|
185
|
+
|
|
186
|
+
From the response:
|
|
187
|
+
1. Verify issues from the specified project are accessible
|
|
188
|
+
2. Extract Project Name from issue metadata
|
|
189
|
+
3. Confirm the project exists and user has access
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
**Alternative - If no issues assigned:**
|
|
193
|
+
```action
|
|
194
|
+
You can also try to search for any issue in the project to verify access.
|
|
195
|
+
The response will contain project metadata including the project name.
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
**Expected Output:**
|
|
199
|
+
```output
|
|
200
|
+
✅ Project Verification Complete
|
|
201
|
+
|
|
202
|
+
Retrieved Details:
|
|
203
|
+
- Project Key: {{project_key}}
|
|
204
|
+
- Project Name: {{project_name}} (retrieved from Jira)
|
|
205
|
+
- Cloud ID: {{cloud_id}} (retrieved via MCP)
|
|
206
|
+
- Jira URL: {{jira_url}} (detected from MCP)
|
|
207
|
+
- Access: Confirmed ✓
|
|
208
|
+
|
|
209
|
+
All information retrieved successfully via MCP.
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**Project Not Found:**
|
|
213
|
+
```elicit
|
|
214
|
+
path: Project not accessible
|
|
215
|
+
format: |
|
|
216
|
+
❌ Cannot access project: {{project_key}}
|
|
217
|
+
|
|
218
|
+
Possible causes:
|
|
219
|
+
- Project key is incorrect
|
|
220
|
+
- User doesn't have access to this project
|
|
221
|
+
- Project doesn't exist
|
|
222
|
+
|
|
223
|
+
Options:
|
|
224
|
+
1. Re-enter project key
|
|
225
|
+
2. Request project access from Jira admin
|
|
226
|
+
3. Cancel setup
|
|
227
|
+
|
|
228
|
+
Enter selection (1-3):
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
**If Option 1:** Return to Step 2
|
|
232
|
+
**If Option 2:** Display Jira admin contact info, then exit
|
|
233
|
+
**If Option 3:** Exit task gracefully
|
|
234
|
+
|
|
235
|
+
### Phase 3: Configuration File Creation
|
|
236
|
+
|
|
237
|
+
#### Step 5: Create Configuration File
|
|
238
|
+
|
|
239
|
+
**Action:** Create `docs/jira-conf.md` with validated settings
|
|
240
|
+
|
|
241
|
+
- [ ] Create `docs/` directory if it doesn't exist
|
|
242
|
+
- [ ] Load template from `.bmad-core/templates/jira-conf-tmpl.md`
|
|
243
|
+
- [ ] Replace placeholders:
|
|
244
|
+
- `{PROJECT_KEY}` → validated project key
|
|
245
|
+
- `{PROJECT_NAME}` → project name (or project key if not provided)
|
|
246
|
+
- `{CLOUD_ID}` → validated cloud ID
|
|
247
|
+
- [ ] Add Jira URL as additional metadata
|
|
248
|
+
- [ ] Write file to `docs/jira-conf.md`
|
|
249
|
+
|
|
250
|
+
**Template Content:**
|
|
251
|
+
```markdown
|
|
252
|
+
# Jira Project Configuration
|
|
253
|
+
|
|
254
|
+
**Project Key:** `{{project_key}}`
|
|
255
|
+
**Project Name:** `{{project_name}}`
|
|
256
|
+
**Cloud ID:** `{{cloud_id}}`
|
|
257
|
+
**Jira URL:** `{{jira_url}}`
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
_Note: Cloud ID and Jira URL were automatically retrieved via MCP during `*jira-setup`._
|
|
262
|
+
_Last Updated: {{current_date}}_
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
#### Step 6: Store Authentication Reference
|
|
266
|
+
|
|
267
|
+
**Action:** Optionally create a reference file in `.claude/instructions.md` for persistent context
|
|
268
|
+
|
|
269
|
+
```markdown
|
|
270
|
+
Create or update `.claude/instructions.md` with:
|
|
271
|
+
|
|
272
|
+
# Instrucciones para Jira - Proyecto {{project_key}}
|
|
273
|
+
|
|
274
|
+
## Configuracion del Proyecto
|
|
275
|
+
- **Cloud ID:** {{cloud_id}}
|
|
276
|
+
- **Project Key:** {{project_key}}
|
|
277
|
+
- **URL:** {{jira_url}}
|
|
278
|
+
|
|
279
|
+
## Reglas para crear Issues
|
|
280
|
+
|
|
281
|
+
### Story (Historia de Usuario)
|
|
282
|
+
Al crear una **Story** en el proyecto {{project_key}}, SIEMPRE debes:
|
|
283
|
+
|
|
284
|
+
1. Solicitar al usuario los "Criterios de Aceptacion" antes de crear el issue
|
|
285
|
+
2. Incluir el campo personalizado para criterios de aceptacion si está disponible
|
|
286
|
+
|
|
287
|
+
_(Add project-specific Jira instructions here)_
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
#### Step 7: Final Confirmation
|
|
291
|
+
|
|
292
|
+
```output
|
|
293
|
+
═══════════════════════════════════════════════════════════════
|
|
294
|
+
✅ JIRA SETUP COMPLETE
|
|
295
|
+
═══════════════════════════════════════════════════════════════
|
|
296
|
+
|
|
297
|
+
Configuration saved to: `docs/jira-conf.md`
|
|
298
|
+
|
|
299
|
+
Project Details:
|
|
300
|
+
- Project Key: {{project_key}}
|
|
301
|
+
- Project Name: {{project_name}}
|
|
302
|
+
- Cloud ID: {{cloud_id}}
|
|
303
|
+
- Jira URL: {{jira_url}}
|
|
304
|
+
- Authentication: ✅ Verified
|
|
305
|
+
|
|
306
|
+
Available Commands:
|
|
307
|
+
- `*sync-prd-to-jira` - Sync PRD epics and stories to Jira
|
|
308
|
+
- `*create-epic` - Create individual epic in Jira
|
|
309
|
+
- `*create-story` - Create individual story in Jira
|
|
310
|
+
- `*sync-story-to-jira` - Sync story tasks/subtasks to Jira
|
|
311
|
+
|
|
312
|
+
Next Steps:
|
|
313
|
+
1. Use these commands to sync your documentation with Jira
|
|
314
|
+
2. All Jira operations will now use the configured project
|
|
315
|
+
3. Re-run `*jira-setup` anytime to reconfigure
|
|
316
|
+
|
|
317
|
+
═══════════════════════════════════════════════════════════════
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
## Success Criteria
|
|
321
|
+
|
|
322
|
+
The setup is successful when:
|
|
323
|
+
|
|
324
|
+
1. User provided valid Jira URL, Project Key, and Cloud ID
|
|
325
|
+
2. MCP Jira authentication completed successfully
|
|
326
|
+
3. Project access verified
|
|
327
|
+
4. Configuration file created at `docs/jira-conf.md`
|
|
328
|
+
5. All settings validated and working
|
|
329
|
+
|
|
330
|
+
## Error Handling
|
|
331
|
+
|
|
332
|
+
### Invalid URL Format
|
|
333
|
+
```output
|
|
334
|
+
❌ Invalid Jira URL format
|
|
335
|
+
|
|
336
|
+
Expected: https://yourcompany.atlassian.net
|
|
337
|
+
Received: {{invalid_url}}
|
|
338
|
+
|
|
339
|
+
Please enter a valid Jira Cloud URL.
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
### Invalid Cloud ID Format
|
|
343
|
+
```output
|
|
344
|
+
❌ Invalid Cloud ID format
|
|
345
|
+
|
|
346
|
+
Expected: UUID format (e.g., 3b04e1a3-a260-4679-bdc8-0440507fbe26)
|
|
347
|
+
Received: {{invalid_cloud_id}}
|
|
348
|
+
|
|
349
|
+
Please enter a valid Cloud ID.
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
### Authentication Timeout
|
|
353
|
+
```output
|
|
354
|
+
⏱️ Authentication timeout
|
|
355
|
+
|
|
356
|
+
The authentication process took too long or was cancelled.
|
|
357
|
+
|
|
358
|
+
Options:
|
|
359
|
+
1. Retry authentication
|
|
360
|
+
2. Check MCP integration status
|
|
361
|
+
3. Cancel setup
|
|
362
|
+
|
|
363
|
+
Enter selection (1-3):
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
### MCP Not Available
|
|
367
|
+
```output
|
|
368
|
+
❌ Jira MCP Integration Not Available
|
|
369
|
+
|
|
370
|
+
The GitKraken MCP integration for Jira is not available.
|
|
371
|
+
|
|
372
|
+
Please ensure:
|
|
373
|
+
1. MCP is properly installed and configured
|
|
374
|
+
2. GitKraken MCP server is running
|
|
375
|
+
3. Jira provider is enabled in MCP settings
|
|
376
|
+
|
|
377
|
+
Cannot proceed without MCP integration.
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
## Important Notes
|
|
381
|
+
|
|
382
|
+
- **User Input Required:** Only Project Key needs to be provided by user
|
|
383
|
+
- **Automatic Retrieval:** Cloud ID and Jira URL are retrieved automatically via MCP
|
|
384
|
+
- **Authentication:** MCP handles OAuth flow automatically via browser
|
|
385
|
+
- **Project Name:** Retrieved from Jira metadata automatically
|
|
386
|
+
- **Validation:** Always validate authentication before saving configuration
|
|
387
|
+
- **Re-configuration:** Safe to run multiple times - will prompt before overwriting
|
|
388
|
+
- **Template Dependency:** Requires `.bmad-core/templates/jira-conf-tmpl.md`
|
|
389
|
+
- **MCP Dependency:** Requires GitKraken MCP with Jira integration
|
|
390
|
+
|
|
391
|
+
## Related Commands
|
|
392
|
+
|
|
393
|
+
- `*sync-prd-to-jira` - Sync PRD to Jira (requires this setup)
|
|
394
|
+
- `*create-epic` - Create Jira epic (requires this setup)
|
|
395
|
+
- `*create-story` - Create Jira story (requires this setup)
|
|
396
|
+
- `*sync-story-to-jira` - Sync story tasks (requires this setup)
|