Initial commit
This commit is contained in:
168
commands/jira-import.md
Normal file
168
commands/jira-import.md
Normal file
@@ -0,0 +1,168 @@
|
||||
---
|
||||
tags: ["jira", "integration", "import", "workflow"]
|
||||
description: "Import Jira issue for local work with PLAN.md creation"
|
||||
argument-hint: "PROJ-###"
|
||||
allowed-tools: ["Read", "Write", "Bash", "Grep", "Glob"]
|
||||
model: claude-sonnet-4-5
|
||||
references_guidelines:
|
||||
- docs/development/misc/jira-integration.md # Jira integration and import workflow
|
||||
- docs/development/workflows/pm-workflows.md # Core PM workflows and file formats
|
||||
---
|
||||
|
||||
# /jira-import Command
|
||||
|
||||
## WHAT
|
||||
Import Jira issue into local structure, creating directory for implementation artifacts and displaying requirements.
|
||||
|
||||
## WHY
|
||||
Enables AI-assisted implementation of PM/stakeholder-created issues with local artifact management.
|
||||
|
||||
**Note:** Not required - `/plan PROJ-123` auto-imports. Use this to preview before planning or verify access.
|
||||
|
||||
## HOW
|
||||
|
||||
### Usage
|
||||
```bash
|
||||
/jira-import PROJ-123 # Import specific Jira issue (or epic with bulk import)
|
||||
```
|
||||
|
||||
### Pre-Execution Context
|
||||
|
||||
**Validate prerequisites:**
|
||||
- CLAUDE.md: `jira.enabled: true`
|
||||
- Atlassian Remote MCP: Available
|
||||
- Issue ID: Valid format (PROJ-###)
|
||||
- Jira access: Issue exists and accessible
|
||||
|
||||
### Execution Steps
|
||||
|
||||
**1. Fetch from Jira:**
|
||||
```bash
|
||||
# Use Atlassian MCP to get issue
|
||||
# Fields: key, summary, description, type, status, epic_link, reporter, assignee
|
||||
# If type = Epic: Fetch all child issues in epic
|
||||
```
|
||||
|
||||
**2. Create local directory:**
|
||||
```bash
|
||||
# Convert summary to kebab-case
|
||||
# If regular issue (Story/Task/Bug):
|
||||
# mkdir pm/issues/PROJ-123-{kebab-case-summary}/
|
||||
# If Epic:
|
||||
# mkdir pm/epics/PROJ-123-{kebab-case-name}/
|
||||
# No TASK.md created (Jira is source of truth)
|
||||
```
|
||||
|
||||
**3. Display issue details:**
|
||||
```
|
||||
Issue: PROJ-123
|
||||
Summary: {summary}
|
||||
Type: {type}
|
||||
Status: {status}
|
||||
Epic: {epic_link} (if present)
|
||||
|
||||
Description:
|
||||
{description}
|
||||
|
||||
Acceptance Criteria:
|
||||
{parsed from description or custom field}
|
||||
|
||||
Local: pm/issues/PROJ-123-{name}/
|
||||
|
||||
Next: /plan PROJ-123
|
||||
View: {jira_url}
|
||||
```
|
||||
|
||||
**4. Bulk import (Epics only):**
|
||||
```bash
|
||||
# If issue type is Epic:
|
||||
# Show child issues (key, summary, type, status)
|
||||
# Ask: "Import all N child issues? (yes/no)"
|
||||
# If yes:
|
||||
# For each child:
|
||||
# - Check if already imported (directory exists)
|
||||
# - Fetch and create directory if new
|
||||
# - Display progress
|
||||
# Show summary (new, skipped, total)
|
||||
```
|
||||
|
||||
**5. Ready for work:**
|
||||
- `/plan PROJ-123` - Create implementation plan
|
||||
- `/implement PROJ-123 1.1` - Start work
|
||||
|
||||
### Directory Structure
|
||||
|
||||
**Regular issues:**
|
||||
```
|
||||
pm/issues/PROJ-456-api-rate-limiting/
|
||||
└── (empty - ready for PLAN.md, WORKLOG.md, RESEARCH.md)
|
||||
```
|
||||
|
||||
**Epics:**
|
||||
```
|
||||
pm/epics/PROJ-400-api-infrastructure/
|
||||
└── (empty - epic metadata, Jira is source)
|
||||
```
|
||||
|
||||
**Naming:** kebab-case, strip special chars, max 50 chars
|
||||
|
||||
### Error Handling
|
||||
|
||||
**Issue not found:**
|
||||
```
|
||||
Error: PROJ-456 not found in Jira.
|
||||
Possible: Doesn't exist, no permission, wrong project key.
|
||||
Check: {jira_url}
|
||||
```
|
||||
|
||||
**Jira not enabled:**
|
||||
```
|
||||
Error: Jira integration not enabled.
|
||||
Add to CLAUDE.md:
|
||||
jira.enabled: true
|
||||
jira.project_key: PROJ
|
||||
Configure Atlassian Remote MCP.
|
||||
Or work locally: /plan TASK-001
|
||||
```
|
||||
|
||||
**MCP unavailable:**
|
||||
```
|
||||
Error: Atlassian Remote MCP not configured.
|
||||
Setup guide: https://www.atlassian.com/blog/announcements/remote-mcp-server
|
||||
```
|
||||
|
||||
**Directory exists:**
|
||||
```
|
||||
Warning: pm/issues/PROJ-456-{name}/ already exists.
|
||||
Previously imported. Contents: PLAN.md, WORKLOG.md
|
||||
Issue details (refreshed from Jira): {details}
|
||||
Continue: /plan PROJ-456 or /implement PROJ-456 1.1
|
||||
```
|
||||
|
||||
### Integration
|
||||
|
||||
**Workflow position:**
|
||||
```
|
||||
Jira (PM creates) → /jira-import PROJ-456 → /plan PROJ-456 → /implement
|
||||
```
|
||||
|
||||
**Alternative (auto-import):**
|
||||
```
|
||||
Jira (PM creates) → /plan PROJ-456 (auto-imports) → /implement
|
||||
```
|
||||
|
||||
**Use /jira-import when:**
|
||||
- Preview before planning
|
||||
- Verify access/existence
|
||||
- See acceptance criteria upfront
|
||||
- Import epic with bulk child import
|
||||
|
||||
**Skip when:**
|
||||
- Ready to plan: `/plan PROJ-456` auto-imports
|
||||
- Trust issue exists
|
||||
|
||||
### Related
|
||||
- `/plan PROJ-123` - Create plan (auto-imports)
|
||||
- `/implement PROJ-123 1.1` - Execute phase
|
||||
- `/project-status` - View all imported issues
|
||||
- `/promote TASK-001` - Convert local to Jira
|
||||
Reference in New Issue
Block a user