@softspark/jira-mcp 1.2.0 → 1.3.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/CHANGELOG.md +17 -0
- package/README.md +52 -16
- package/dist/cli.js +47 -117
- package/dist/index.js +48 -125
- package/hooks/jira-mcp-hooks.json +15 -0
- package/package.json +3 -1
- package/templates-system/comments/blocker-notification.md +26 -0
- package/templates-system/comments/bug-report.md +28 -0
- package/templates-system/comments/deployment-note.md +24 -0
- package/templates-system/comments/handoff-transition.md +28 -0
- package/templates-system/comments/review-request.md +26 -0
- package/templates-system/comments/sprint-update.md +24 -0
- package/templates-system/comments/status-update.md +24 -0
- package/templates-system/comments/time-log-summary.md +19 -0
- package/templates-system/task-templates/bug-task.md +31 -0
- package/templates-system/task-templates/default-task.md +23 -0
- package/templates-system/task-templates/review-follow-up.md +23 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@softspark/jira-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "MCP server for Jira integration — multi-instance routing, ADF formatting, task caching, and comment templates via the Model Context Protocol.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
@@ -40,6 +40,8 @@
|
|
|
40
40
|
"files": [
|
|
41
41
|
"dist/*.js",
|
|
42
42
|
"dist/*.d.ts",
|
|
43
|
+
"hooks/**/*.json",
|
|
44
|
+
"templates-system/**/*.md",
|
|
43
45
|
"README.md",
|
|
44
46
|
"CHANGELOG.md",
|
|
45
47
|
"LICENSE"
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
{
|
|
3
|
+
"kind": "comment",
|
|
4
|
+
"id": "blocker-notification",
|
|
5
|
+
"name": "Blocker Notification",
|
|
6
|
+
"description": "Notify about a blocking issue with impact and needed action",
|
|
7
|
+
"category": "communication",
|
|
8
|
+
"variables": [
|
|
9
|
+
{ "name": "blocked_by", "description": "What is causing the blockage", "required": true, "example": "Missing database credentials for staging" },
|
|
10
|
+
{ "name": "impact", "description": "Impact if blocker is not resolved", "required": true, "example": "Cannot proceed with integration testing" },
|
|
11
|
+
{ "name": "needed_action", "description": "What action is needed to unblock", "required": true, "example": "DevOps to provision staging DB credentials" },
|
|
12
|
+
{ "name": "deadline", "description": "When this needs to be resolved", "required": false, "default": "ASAP", "example": "2026-04-15" }
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
---
|
|
16
|
+
## Blocker
|
|
17
|
+
|
|
18
|
+
**Blocked by:** {{blocked_by}}
|
|
19
|
+
|
|
20
|
+
### Impact
|
|
21
|
+
{{impact}}
|
|
22
|
+
|
|
23
|
+
### Action Needed
|
|
24
|
+
{{needed_action}}
|
|
25
|
+
|
|
26
|
+
**Deadline:** {{deadline}}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
{
|
|
3
|
+
"kind": "comment",
|
|
4
|
+
"id": "bug-report",
|
|
5
|
+
"name": "Bug Report",
|
|
6
|
+
"description": "Structured bug report with reproduction steps",
|
|
7
|
+
"category": "development",
|
|
8
|
+
"variables": [
|
|
9
|
+
{ "name": "steps", "description": "Steps to reproduce", "required": true, "example": "1. Login as admin\\n2. Navigate to /settings\\n3. Click Save" },
|
|
10
|
+
{ "name": "expected", "description": "Expected behavior", "required": true, "example": "Settings should be saved" },
|
|
11
|
+
{ "name": "actual", "description": "Actual behavior", "required": true, "example": "Error 500 returned" },
|
|
12
|
+
{ "name": "environment", "description": "Environment details", "required": false, "example": "Chrome 120, macOS 14.2" }
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
---
|
|
16
|
+
## Bug Report
|
|
17
|
+
|
|
18
|
+
### Steps to Reproduce
|
|
19
|
+
{{steps}}
|
|
20
|
+
|
|
21
|
+
### Expected
|
|
22
|
+
{{expected}}
|
|
23
|
+
|
|
24
|
+
### Actual
|
|
25
|
+
{{actual}}
|
|
26
|
+
|
|
27
|
+
{{#environment}}### Environment
|
|
28
|
+
{{environment}}{{/environment}}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
{
|
|
3
|
+
"kind": "comment",
|
|
4
|
+
"id": "deployment-note",
|
|
5
|
+
"name": "Deployment Note",
|
|
6
|
+
"description": "Document a deployment with changes and rollback plan",
|
|
7
|
+
"category": "development",
|
|
8
|
+
"variables": [
|
|
9
|
+
{ "name": "changes", "description": "What was deployed", "required": true, "example": "User auth module v2.1" },
|
|
10
|
+
{ "name": "rollback_plan", "description": "How to rollback if needed", "required": true, "example": "Revert to tag v2.0.3" },
|
|
11
|
+
{ "name": "monitoring", "description": "What to monitor after deploy", "required": false, "example": "Watch error rate on /api/auth/*" }
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
---
|
|
15
|
+
## Deployment Note
|
|
16
|
+
|
|
17
|
+
### Changes
|
|
18
|
+
{{changes}}
|
|
19
|
+
|
|
20
|
+
### Rollback Plan
|
|
21
|
+
{{rollback_plan}}
|
|
22
|
+
|
|
23
|
+
{{#monitoring}}### Monitoring
|
|
24
|
+
{{monitoring}}{{/monitoring}}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
{
|
|
3
|
+
"kind": "comment",
|
|
4
|
+
"id": "handoff-transition",
|
|
5
|
+
"name": "Task Handoff",
|
|
6
|
+
"description": "Provide context when handing off a task to another person",
|
|
7
|
+
"category": "workflow",
|
|
8
|
+
"variables": [
|
|
9
|
+
{ "name": "from_person", "description": "Person handing off", "required": true, "example": "John" },
|
|
10
|
+
{ "name": "to_person", "description": "Person receiving", "required": true, "example": "Jane" },
|
|
11
|
+
{ "name": "context", "description": "Current state and context", "required": true, "example": "Auth module is 80% complete, all tests passing" },
|
|
12
|
+
{ "name": "remaining_work", "description": "What still needs to be done", "required": true, "example": "Add OAuth2 provider support" },
|
|
13
|
+
{ "name": "decisions", "description": "Key decisions already made", "required": false, "example": "Using JWT for session management" }
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
---
|
|
17
|
+
## Task Handoff
|
|
18
|
+
|
|
19
|
+
**From:** {{from_person}} **To:** {{to_person}}
|
|
20
|
+
|
|
21
|
+
### Context
|
|
22
|
+
{{context}}
|
|
23
|
+
|
|
24
|
+
### Remaining Work
|
|
25
|
+
{{remaining_work}}
|
|
26
|
+
|
|
27
|
+
{{#decisions}}### Key Decisions Made
|
|
28
|
+
{{decisions}}{{/decisions}}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
{
|
|
3
|
+
"kind": "comment",
|
|
4
|
+
"id": "review-request",
|
|
5
|
+
"name": "Review Request",
|
|
6
|
+
"description": "Request a code review with context and focus areas",
|
|
7
|
+
"category": "communication",
|
|
8
|
+
"variables": [
|
|
9
|
+
{ "name": "reviewer", "description": "Who should review", "required": true, "example": "Jane" },
|
|
10
|
+
{ "name": "summary", "description": "Summary of changes", "required": true, "example": "Added user authentication with JWT" },
|
|
11
|
+
{ "name": "link", "description": "PR or branch link", "required": true, "example": "https://github.com/org/repo/pull/123" },
|
|
12
|
+
{ "name": "focus_areas", "description": "What to focus the review on", "required": false, "example": "Security of token generation" }
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
---
|
|
16
|
+
## Review Request
|
|
17
|
+
|
|
18
|
+
**Reviewer:** {{reviewer}}
|
|
19
|
+
|
|
20
|
+
### Changes
|
|
21
|
+
{{summary}}
|
|
22
|
+
|
|
23
|
+
**Link:** {{link}}
|
|
24
|
+
|
|
25
|
+
{{#focus_areas}}### Focus Areas
|
|
26
|
+
{{focus_areas}}{{/focus_areas}}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
{
|
|
3
|
+
"kind": "comment",
|
|
4
|
+
"id": "sprint-update",
|
|
5
|
+
"name": "Sprint Update",
|
|
6
|
+
"description": "Sprint progress report with risks and decisions needed",
|
|
7
|
+
"category": "reporting",
|
|
8
|
+
"variables": [
|
|
9
|
+
{ "name": "progress", "description": "Sprint progress summary", "required": true, "example": "7 of 10 stories completed" },
|
|
10
|
+
{ "name": "risks", "description": "Current risks to sprint goal", "required": true, "example": "Auth integration may slip to next sprint" },
|
|
11
|
+
{ "name": "decisions_needed", "description": "Decisions that need to be made", "required": false, "example": "Should we de-scope OAuth2 support?" }
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
---
|
|
15
|
+
## Sprint Update
|
|
16
|
+
|
|
17
|
+
### Progress
|
|
18
|
+
{{progress}}
|
|
19
|
+
|
|
20
|
+
### Risks
|
|
21
|
+
{{risks}}
|
|
22
|
+
|
|
23
|
+
{{#decisions_needed}}### Decisions Needed
|
|
24
|
+
{{decisions_needed}}{{/decisions_needed}}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
{
|
|
3
|
+
"kind": "comment",
|
|
4
|
+
"id": "status-update",
|
|
5
|
+
"name": "Status Update",
|
|
6
|
+
"description": "Standard status update with completed work, next steps, and blockers",
|
|
7
|
+
"category": "workflow",
|
|
8
|
+
"variables": [
|
|
9
|
+
{ "name": "completed", "description": "Work completed since last update", "required": true, "example": "Implemented user authentication flow" },
|
|
10
|
+
{ "name": "next_steps", "description": "Planned next steps", "required": true, "example": "Add unit tests for auth module" },
|
|
11
|
+
{ "name": "blockers", "description": "Current blockers or impediments", "required": false, "default": "None", "example": "Waiting for API credentials" }
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
---
|
|
15
|
+
## Status Update
|
|
16
|
+
|
|
17
|
+
### Completed
|
|
18
|
+
{{completed}}
|
|
19
|
+
|
|
20
|
+
### Next Steps
|
|
21
|
+
{{next_steps}}
|
|
22
|
+
|
|
23
|
+
{{#blockers}}### Blockers
|
|
24
|
+
{{blockers}}{{/blockers}}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
{
|
|
3
|
+
"kind": "comment",
|
|
4
|
+
"id": "time-log-summary",
|
|
5
|
+
"name": "Time Log Summary",
|
|
6
|
+
"description": "Summary of work performed with time spent",
|
|
7
|
+
"category": "reporting",
|
|
8
|
+
"variables": [
|
|
9
|
+
{ "name": "duration", "description": "Time spent", "required": true, "example": "2h 30m" },
|
|
10
|
+
{ "name": "work_description", "description": "What was done", "required": true, "example": "Refactored authentication middleware" }
|
|
11
|
+
]
|
|
12
|
+
}
|
|
13
|
+
---
|
|
14
|
+
## Time Logged
|
|
15
|
+
|
|
16
|
+
**Duration:** {{duration}}
|
|
17
|
+
|
|
18
|
+
### Work Performed
|
|
19
|
+
{{work_description}}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
{
|
|
3
|
+
"kind": "task",
|
|
4
|
+
"id": "bug-task",
|
|
5
|
+
"name": "Bug Task",
|
|
6
|
+
"description": "Bug issue template with structured reproduction details",
|
|
7
|
+
"summary": "Bug: {{title}}",
|
|
8
|
+
"issue_type": "Bug",
|
|
9
|
+
"priority": "High",
|
|
10
|
+
"labels": ["bug"],
|
|
11
|
+
"variables": [
|
|
12
|
+
{ "name": "title", "description": "Short bug title", "required": true, "example": "Save button returns 500" },
|
|
13
|
+
{ "name": "steps", "description": "Steps to reproduce", "required": true, "example": "1. Open settings\\n2. Click Save" },
|
|
14
|
+
{ "name": "expected", "description": "Expected behavior", "required": true, "example": "Settings should be saved" },
|
|
15
|
+
{ "name": "actual", "description": "Actual behavior", "required": true, "example": "Request fails with HTTP 500" },
|
|
16
|
+
{ "name": "environment", "description": "Environment details", "required": false, "example": "Production, Chrome 123" }
|
|
17
|
+
]
|
|
18
|
+
}
|
|
19
|
+
---
|
|
20
|
+
## Steps To Reproduce
|
|
21
|
+
{{steps}}
|
|
22
|
+
|
|
23
|
+
## Expected
|
|
24
|
+
{{expected}}
|
|
25
|
+
|
|
26
|
+
## Actual
|
|
27
|
+
{{actual}}
|
|
28
|
+
|
|
29
|
+
{{#environment}}## Environment
|
|
30
|
+
{{environment}}
|
|
31
|
+
{{/environment}}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
{
|
|
3
|
+
"kind": "task",
|
|
4
|
+
"id": "default-task",
|
|
5
|
+
"name": "Default Task",
|
|
6
|
+
"description": "Generic task template with summary and optional context",
|
|
7
|
+
"summary": "{{summary}}",
|
|
8
|
+
"issue_type": "Task",
|
|
9
|
+
"priority": "Medium",
|
|
10
|
+
"variables": [
|
|
11
|
+
{ "name": "summary", "description": "Task summary", "required": true, "example": "Prepare April admin report" },
|
|
12
|
+
{ "name": "context", "description": "Extra context for the task", "required": false, "example": "Use the latest export from Finance" },
|
|
13
|
+
{ "name": "acceptance_criteria", "description": "Acceptance criteria", "required": false, "example": "- Report shared with stakeholders" }
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
---
|
|
17
|
+
{{#context}}## Context
|
|
18
|
+
{{context}}
|
|
19
|
+
{{/context}}
|
|
20
|
+
|
|
21
|
+
{{#acceptance_criteria}}## Acceptance Criteria
|
|
22
|
+
{{acceptance_criteria}}
|
|
23
|
+
{{/acceptance_criteria}}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
{
|
|
3
|
+
"kind": "task",
|
|
4
|
+
"id": "review-follow-up",
|
|
5
|
+
"name": "Review Follow-up",
|
|
6
|
+
"description": "Follow-up task created from review findings or technical debt",
|
|
7
|
+
"summary": "Follow-up: {{summary}}",
|
|
8
|
+
"issue_type": "Task",
|
|
9
|
+
"priority": "Medium",
|
|
10
|
+
"labels": ["follow-up"],
|
|
11
|
+
"variables": [
|
|
12
|
+
{ "name": "summary", "description": "Short task summary", "required": true, "example": "Harden token validation" },
|
|
13
|
+
{ "name": "problem", "description": "Observed problem or risk", "required": true, "example": "Token claims are not validated consistently" },
|
|
14
|
+
{ "name": "done_when", "description": "Completion criteria", "required": false, "example": "- Validation shared in one module\\n- Tests added" }
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
---
|
|
18
|
+
## Problem
|
|
19
|
+
{{problem}}
|
|
20
|
+
|
|
21
|
+
{{#done_when}}## Done When
|
|
22
|
+
{{done_when}}
|
|
23
|
+
{{/done_when}}
|