@mark-gozner/aigile-method 0.4.5
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/LICENSE.md +26 -0
- package/README.md +300 -0
- package/core/agent-teams/team-all.yaml +24 -0
- package/core/agent-teams/team-company.yaml +17 -0
- package/core/agent-teams/team-enterprise.yaml +17 -0
- package/core/agent-teams/team-fullstack.yaml +16 -0
- package/core/agent-teams/team-ide-minimal.yaml +10 -0
- package/core/agents/aigile-master.md +476 -0
- package/core/agents/aigile-orchestrator.agent.md +200 -0
- package/core/agents/analyst.md +45 -0
- package/core/agents/architect.md +43 -0
- package/core/agents/code-tour.agent.md +208 -0
- package/core/agents/dev.agent.md +145 -0
- package/core/agents/dev.md +130 -0
- package/core/agents/expert-react-frontend-engineer.agent.md +741 -0
- package/core/agents/pm.md +33 -0
- package/core/agents/po.md +35 -0
- package/core/agents/qa.md +38 -0
- package/core/agents/sm.md +31 -0
- package/core/agents/ui-expert.md +39 -0
- package/core/agents/ux-expert.md +31 -0
- package/core/checklists/architect-checklist.md +246 -0
- package/core/checklists/change-checklist.md +182 -0
- package/core/checklists/pm-checklist.md +286 -0
- package/core/checklists/po-master-checklist.md +291 -0
- package/core/checklists/story-dod-checklist.md +94 -0
- package/core/checklists/story-draft-checklist.md +153 -0
- package/core/core-config.yaml +22 -0
- package/core/data/aigile-kb.md +112 -0
- package/core/data/brainstorming-techniques.md +73 -0
- package/core/data/elicitation-methods.md +42 -0
- package/core/data/technical-preferences.md +52 -0
- package/core/data/test-levels-framework.md +43 -0
- package/core/data/test-priorities-matrix.md +26 -0
- package/core/instructions/csharp.instructions.md +656 -0
- package/core/instructions/dotnet/csharp.instructions.md +656 -0
- package/core/instructions/java/java.instructions.md +67 -0
- package/core/instructions/java/spring-boot.instructions.md +122 -0
- package/core/instructions/java.instructions.md +67 -0
- package/core/instructions/spring-boot.instructions.md +122 -0
- package/core/prompts/README.md +11 -0
- package/core/prompts/architecture/architecture-blueprint-generator.prompt.md +322 -0
- package/core/prompts/architecture/architecture-validation.prompt.md +71 -0
- package/core/prompts/architecture/file-tree-generator.prompt.md +405 -0
- package/core/prompts/architecture/technical-project-analyze.prompt.md +43 -0
- package/core/prompts/architecture-blueprint-generator.prompt.md +322 -0
- package/core/prompts/architecture-validation.prompt.md +71 -0
- package/core/prompts/code-review.prompt.md +107 -0
- package/core/prompts/confluence-in-md.prompt.md +167 -0
- package/core/prompts/copilot-instructions-blueprint-generator.prompt.md +294 -0
- package/core/prompts/create-implementation-plan.prompt.md +157 -0
- package/core/prompts/create-oo-component-documentation.prompt.md +193 -0
- package/core/prompts/file-tree-generator.prompt.md +405 -0
- package/core/prompts/generate-unit-tests.prompt.md +291 -0
- package/core/prompts/java/java-doc.prompt.md +24 -0
- package/core/prompts/java/java-junit.prompt.md +64 -0
- package/core/prompts/java/junit-5.prompt.md +64 -0
- package/core/prompts/java-doc.prompt.md +24 -0
- package/core/prompts/java-junit.prompt.md +64 -0
- package/core/prompts/junit-5.prompt.md +64 -0
- package/core/prompts/release-notes/README.md +11 -0
- package/core/prompts/release-notes/release-notes.prompt.md +723 -0
- package/core/prompts/release-notes.prompt.md +723 -0
- package/core/prompts/technical-project-analyze.prompt.md +43 -0
- package/core/tasks/advanced-elicitation.md +119 -0
- package/core/tasks/check-story-implemented.md +44 -0
- package/core/tasks/code-arch-review-with-github.md +40 -0
- package/core/tasks/create-architecture-doc.md +55 -0
- package/core/tasks/create-jira-epic-from-confluence.md +70 -0
- package/core/tasks/create-jira-story-from-confluence.md +39 -0
- package/core/tasks/create-jira-story-from-text.md +39 -0
- package/core/tasks/create-next-story.md +35 -0
- package/core/tasks/create-prd-doc.md +54 -0
- package/core/tasks/create-stories-from-epic.md +66 -0
- package/core/tasks/create-tasks-for-story.md +60 -0
- package/core/tasks/document-project.md +69 -0
- package/core/tasks/execute-checklist.md +37 -0
- package/core/tasks/explain-story-from-jira.md +44 -0
- package/core/tasks/facilitate-brainstorming-session.md +69 -0
- package/core/tasks/figma-audit-design-system.md +20 -0
- package/core/tasks/front-end-spec-from-design.md +33 -0
- package/core/tasks/gate.md +64 -0
- package/core/tasks/groom-jira-story.md +52 -0
- package/core/tasks/help.md +27 -0
- package/core/tasks/implement-freeform-work-item.md +30 -0
- package/core/tasks/implement-story-from-jira.md +63 -0
- package/core/tasks/implement-unit-tests.md +45 -0
- package/core/tasks/market-research-from-context7.md +37 -0
- package/core/tasks/review-story.md +30 -0
- package/core/tasks/sonarqube-hotspot-review.md +39 -0
- package/core/tasks/standup-digest.md +21 -0
- package/core/tasks/sync-jira-backlog.md +32 -0
- package/core/tasks/test-design.md +68 -0
- package/core/tasks/validate-next-story.md +37 -0
- package/core/tasks/verify-jira-story-e2e.md +45 -0
- package/core/templates/architecture-tmpl.yaml +651 -0
- package/core/templates/brainstorming-output-tmpl.yaml +156 -0
- package/core/templates/brownfield-architecture-tmpl.yaml +477 -0
- package/core/templates/brownfield-prd-tmpl.yaml +281 -0
- package/core/templates/front-end-architecture-tmpl.yaml +219 -0
- package/core/templates/front-end-spec-tmpl.yaml +350 -0
- package/core/templates/fullstack-architecture-tmpl.yaml +824 -0
- package/core/templates/market-research-tmpl.yaml +253 -0
- package/core/templates/prd-tmpl.yaml +203 -0
- package/core/templates/project-brief-tmpl.yaml +222 -0
- package/core/templates/qa-gate-tmpl.yaml +103 -0
- package/core/templates/story-tmpl.yaml +138 -0
- package/core/workflows/brownfield-fullstack.yaml +298 -0
- package/core/workflows/brownfield-service.yaml +188 -0
- package/core/workflows/brownfield-ui.yaml +198 -0
- package/core/workflows/greenfield-fullstack.yaml +241 -0
- package/core/workflows/greenfield-service.yaml +207 -0
- package/core/workflows/greenfield-ui.yaml +236 -0
- package/dist/agents/aigile-master.txt +500 -0
- package/dist/agents/aigile-orchestrator.agent.txt +224 -0
- package/dist/agents/analyst.txt +69 -0
- package/dist/agents/architect.txt +67 -0
- package/dist/agents/code-tour.agent.txt +232 -0
- package/dist/agents/dev.agent.txt +169 -0
- package/dist/agents/dev.txt +154 -0
- package/dist/agents/expert-react-frontend-engineer.agent.txt +765 -0
- package/dist/agents/pm.txt +57 -0
- package/dist/agents/po.txt +59 -0
- package/dist/agents/qa.txt +62 -0
- package/dist/agents/sm.txt +55 -0
- package/dist/agents/ui-expert.txt +63 -0
- package/dist/agents/ux-expert.txt +55 -0
- package/dist/dev-agent-bundle.txt +154 -0
- package/dist/teams/team-company.txt +10789 -0
- package/docs/mcp-servers.md +102 -0
- package/docs/orchestrator-guide.md +526 -0
- package/mcp/servers.json +108 -0
- package/mcp/servers.yaml +124 -0
- package/package.json +72 -0
- package/tools/cli.js +1864 -0
- package/tools/installer/README.md +24 -0
- package/tools/installer/lib/ide-setup.js +295 -0
- package/tools/installer/lib/installer.js +131 -0
- package/tools/md-assets/web-agent-startup-instructions.md +21 -0
- package/tools/postinstall.js +72 -0
- package/tools/shared/bannerArt.js +68 -0
- package/tools/validate-bundles.js +54 -0
- package/tools/verify-publish-registry.js +34 -0
|
@@ -0,0 +1,723 @@
|
|
|
1
|
+
{PROJECT_NAME} =
|
|
2
|
+
{JIRA_PROJECT_KEY} =
|
|
3
|
+
|
|
4
|
+
# Release Notes Generation Instructions for {PROJECT_NAME}
|
|
5
|
+
|
|
6
|
+
## π€ Automated Release Notes Generation (AI-Powered)
|
|
7
|
+
|
|
8
|
+
#### Step 1: Determine the Last Release Tag
|
|
9
|
+
|
|
10
|
+
Notes: examples include both Bash and Windows PowerShell variants β use the one that matches the environment running the prompt. Avoid shell chaining (like `||`) that may not be supported in older PowerShell versions. Keep the response concise and as short as possible. Focus on generating release note file rather than describing to the user what has been done. Make sure you use Atlassin mcp tools and GitHub mcp tools calls where appropriate.
|
|
11
|
+
|
|
12
|
+
Bash example (Linux/macOS/WSL):
|
|
13
|
+
```bash
|
|
14
|
+
# Use GitHub MCP to list all tags and find the most recent one
|
|
15
|
+
# Call: mcp_github81_list_tags(owner: "REPO_OWNER", repo: "REPO_NAME", perPage: 1)
|
|
16
|
+
# Extract the latest tag name (e.g., "v4.2.6")
|
|
17
|
+
git describe --tags --abbrev=0 # returns last tag or fails if none
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
PowerShell example (Windows PowerShell / PowerShell Core):
|
|
21
|
+
```powershell
|
|
22
|
+
# Run as separate commands rather than using bash-style chaining
|
|
23
|
+
git describe --tags --abbrev=0 # prints last tag (e.g., release-stage-v0.0.23)
|
|
24
|
+
# If the above fails (no tag), handle that as a separate branch in your automation
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Expected Output:** Latest semantic version tag
|
|
28
|
+
**Store as:** `LAST_RELEASE_TAG`
|
|
29
|
+
|
|
30
|
+
#### Step 2: Get Current Repository Information
|
|
31
|
+
|
|
32
|
+
Run the following commands (examples for both Bash and PowerShell). Keep commands separate to avoid shell compatibility issues.
|
|
33
|
+
|
|
34
|
+
Bash / PowerShell (same git commands apply):
|
|
35
|
+
```bash
|
|
36
|
+
# Get the most recent tag (may fail if no tag exists)
|
|
37
|
+
git describe --tags --abbrev=0
|
|
38
|
+
|
|
39
|
+
# Get the current branch name
|
|
40
|
+
git rev-parse --abbrev-ref HEAD
|
|
41
|
+
|
|
42
|
+
# Get the latest commit one-line summary
|
|
43
|
+
git log --oneline -1
|
|
44
|
+
|
|
45
|
+
# Count commits since the tag: replace {LAST_TAG} with the tag name returned earlier
|
|
46
|
+
git rev-list --count {LAST_TAG}..HEAD
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
If there is no tag (git describe exits non-zero), decide on a fallback (for example use `HEAD~0` as base, or treat the entire repo as the first release). Automation should detect the non-zero exit and switch to a fallback flow.
|
|
50
|
+
|
|
51
|
+
**Extract:** Current version, current branch name, commit count since last release
|
|
52
|
+
|
|
53
|
+
#### Step 3: Extract Commits Since Last Release
|
|
54
|
+
|
|
55
|
+
You can use the GitHub API (mcp_github81_list_commits) or run local git commands to extract commits. Local git commands are often faster and do not require API pagination for a small range.
|
|
56
|
+
|
|
57
|
+
Local git example (gives full hash, short hash, subject, author and ISO date):
|
|
58
|
+
```bash
|
|
59
|
+
git log --pretty=format:"%H|%h|%s|%an|%ad" --date=iso {LAST_TAG}..HEAD
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
PowerShell note: run the same git command in PowerShell β output is plain text and can be parsed with `-split`/`Select-String` or other text tooling.
|
|
63
|
+
|
|
64
|
+
To collect files changed and detailed commit body use:
|
|
65
|
+
```bash
|
|
66
|
+
git show --pretty=format:"%H|%h|%s|%an|%ad|%b" --name-status {COMMIT_HASH}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
For each commit extract:
|
|
70
|
+
- full and short hash
|
|
71
|
+
- commit subject and full body
|
|
72
|
+
- author name and date
|
|
73
|
+
- PR references (look for examples like PR number 123 or the text "Merge pull request PR 123" in merge commits)
|
|
74
|
+
- JIRA keys (examples: {JIRA_PROJECT_KEY}-123) β adapt the pattern to your Jira project keys (for example {JIRA_PROJECT_KEY}-<number>).
|
|
75
|
+
|
|
76
|
+
Commit message parsing guidance:
|
|
77
|
+
- JIRA issue keys: search for tokens like {JIRA_PROJECT_KEY}-123 or other project-key patterns
|
|
78
|
+
- PR numbers: look for patterns like PR number 123 or the text 'Merge pull request PR 123' in merge commits
|
|
79
|
+
- Conventional commits: detect `feat:`, `fix:`, `chore:`, `docs:` prefixes where present
|
|
80
|
+
|
|
81
|
+
#### Step 4: Fetch Pull Requests for This Release
|
|
82
|
+
|
|
83
|
+
Prefer querying the GitHub API (mcp_github81_list_pull_requests) for authoritative PR metadata. If you prefer local git analysis, you can infer PR numbers and merge commits from commit messages (merge commits usually contain text like "Merge pull request PR 123").
|
|
84
|
+
|
|
85
|
+
GitHub API call (preferred):
|
|
86
|
+
```js
|
|
87
|
+
// mcp_github81_list_pull_requests(...)
|
|
88
|
+
// Filter closed/merged PRs and then keep those with merged_at between LAST_RELEASE_DATE and NOW
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Local fallback (extract PR numbers from merge commits):
|
|
92
|
+
```bash
|
|
93
|
+
git log --merges --pretty=format:"%H|%s|%an|%ad" {LAST_TAG}..HEAD --date=iso
|
|
94
|
+
# then parse the output for strings like 'Merge pull request PR 123' to extract PR numbers
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
For each PR, extract number, title, merged date, merged by, and body (description). Cross-reference PRs with commits and JIRA keys.
|
|
98
|
+
|
|
99
|
+
#### Step 5: Extract JIRA Tickets from Commit Messages
|
|
100
|
+
|
|
101
|
+
For each unique JIRA key discovered in commits/PRs, attempt to retrieve issue details from Jira using the MCP tool. If Jira access is not possible in automation, leave placeholders in the release notes for manual enrichment and include the JIRA links so reviewers can expand them.
|
|
102
|
+
|
|
103
|
+
Example call (MCP):
|
|
104
|
+
```
|
|
105
|
+
# mcp_mcp-atlassian43_jira_get_issue(
|
|
106
|
+
# issue_key: "PROJ-123",
|
|
107
|
+
# fields: "summary,description,issuetype,priority,status,assignee,reporter,labels,parent,customfield_10014"
|
|
108
|
+
# )
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
For each JIRA issue extract:
|
|
112
|
+
- issue key and URL
|
|
113
|
+
- summary and full description
|
|
114
|
+
- issue type (Bug, Story, Task, Feature)
|
|
115
|
+
- priority and status
|
|
116
|
+
- assignee and reporter
|
|
117
|
+
- labels, parent/subtask relationship
|
|
118
|
+
- Epic Link / epic key (custom field name may vary by instance; `customfield_10014` is common but verify in your Jira)
|
|
119
|
+
|
|
120
|
+
If Jira is unreachable, include the found JIRA keys in the release notes and mark them for manual lookup.
|
|
121
|
+
|
|
122
|
+
#### Step 6: Fetch Epic Information
|
|
123
|
+
|
|
124
|
+
Use the same Jira API call to fetch epic-level information for any Epic keys discovered. Extract epic summary and description to present context in the release notes.
|
|
125
|
+
|
|
126
|
+
Example (MCP):
|
|
127
|
+
```
|
|
128
|
+
# mcp_mcp-atlassian43_jira_get_issue(issue_key: "PROJ-456", fields: "summary,description,status")
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
#### Step 7: Organize Issues by Epic
|
|
132
|
+
Group all resolved JIRA tickets by their Epic Link field. Tickets without an Epic go to a "General Improvements" section.
|
|
133
|
+
|
|
134
|
+
**Order Epics by:** Impact/importance to the release
|
|
135
|
+
**Order Issues Within Epic by:** Priority (Critical β Major β Normal β Minor)
|
|
136
|
+
|
|
137
|
+
#### Step 8: Calculate Statistics
|
|
138
|
+
|
|
139
|
+
Count the following from the extracted data. Use the GitHub API or local git commands.
|
|
140
|
+
|
|
141
|
+
Local examples:
|
|
142
|
+
```bash
|
|
143
|
+
# Count commits
|
|
144
|
+
git rev-list --count {LAST_TAG}..HEAD
|
|
145
|
+
|
|
146
|
+
# Count unique authors
|
|
147
|
+
git log --format='%an' {LAST_TAG}..HEAD | sort -u | wc -l
|
|
148
|
+
|
|
149
|
+
# Count PR numbers referenced in commits (Bash)
|
|
150
|
+
# Use `git log` and a text tool (grep/sed/awk) to find tokens that look like a hash followed by digits (example: '#123'), then deduplicate and count them.
|
|
151
|
+
|
|
152
|
+
# PowerShell equivalent for PR extraction
|
|
153
|
+
# Use `git log` and `Select-String` with an appropriate pattern to match PR references (e.g., '#123'), extract match values, deduplicate and count unique values.
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
From Jira data (if available) count types: Bug, Story/Feature, Task and priorities.
|
|
157
|
+
|
|
158
|
+
#### Step 9: Determine Release Date and Version
|
|
159
|
+
|
|
160
|
+
Release date: use the current date or infer from the merge date of the most recent merged PR included in the release.
|
|
161
|
+
|
|
162
|
+
Version bump guidance (automatable but often a manual decision):
|
|
163
|
+
- If commits include new features (stories/features) β minor bump
|
|
164
|
+
- If commits only include bugfixes β patch bump
|
|
165
|
+
- If there are breaking changes (API/DB/contract changes) β major bump
|
|
166
|
+
|
|
167
|
+
If your tags have prefixes (for example `release-stage-v0.0.23`), normalize or strip prefixes when calculating semantic increments, or adopt the repository convention (e.g., maintain `release-stage-` prefix and increment the numeric portion).
|
|
168
|
+
|
|
169
|
+
#### Step 10: Generate Release Notes Document
|
|
170
|
+
Using all the extracted information, generate the release notes following the structure defined in sections below. Fill in all template variables with actual data.
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
### Complete Workflow Summary for AI Agents
|
|
175
|
+
|
|
176
|
+
**Input:** Repository owner, repository name, target branch (optional)
|
|
177
|
+
|
|
178
|
+
**Process:**
|
|
179
|
+
1. List tags β find LAST_RELEASE_TAG
|
|
180
|
+
2. Get commits since last tag β extract JIRA keys and PR numbers
|
|
181
|
+
3. For each JIRA key β fetch issue details from JIRA
|
|
182
|
+
4. For each Epic β fetch epic details
|
|
183
|
+
5. Organize issues by Epic and Priority
|
|
184
|
+
6. Calculate release statistics
|
|
185
|
+
7. Generate formatted release notes document
|
|
186
|
+
|
|
187
|
+
**Output:** Complete release notes in markdown format
|
|
188
|
+
|
|
189
|
+
**Tools Required:**
|
|
190
|
+
- `mcp_github81_list_tags` - Get repository tags
|
|
191
|
+
- `mcp_github81_list_commits` - Get commits since last release
|
|
192
|
+
- `mcp_github81_list_pull_requests` - Get merged PRs
|
|
193
|
+
- `mcp_mcp-atlassian43_jira_get_issue` - Get JIRA issue details
|
|
194
|
+
- `mcp_mcp-atlassian43_jira_search` - Find related issues
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Overview
|
|
199
|
+
This document provides guidelines for generating comprehensive release notes for {PROJECT_NAME} releases. Follow these standards to ensure consistency, accuracy, and completeness across all release documentation.
|
|
200
|
+
|
|
201
|
+
## Document Structure
|
|
202
|
+
|
|
203
|
+
### 1. Header Section
|
|
204
|
+
```markdown
|
|
205
|
+
# Release Notes - {PROJECT_NAME} v{VERSION}
|
|
206
|
+
|
|
207
|
+
**Release Date:** {MONTH DAY, YEAR}
|
|
208
|
+
**Branch:** release/{VERSION}
|
|
209
|
+
**Base Version:** {PREVIOUS_VERSION}
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**Guidelines:**
|
|
213
|
+
- Use format "Release Notes - {PROJECT_NAME} v{VERSION}"
|
|
214
|
+
- Release date format: "Month DD, YYYY" (e.g., "October 1, 2025")
|
|
215
|
+
- Branch name must match the actual git branch name
|
|
216
|
+
- Base version is the previous release version
|
|
217
|
+
|
|
218
|
+
### 2. What's New Section (π)
|
|
219
|
+
```markdown
|
|
220
|
+
## π What's New
|
|
221
|
+
|
|
222
|
+
This release focuses on {PRIMARY_FOCUS_AREAS}. The primary changes address {KEY_CHANGES} for better {BENEFITS}.
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Guidelines:**
|
|
226
|
+
- Provide 2-3 sentence executive summary
|
|
227
|
+
- Focus on business value and user impact
|
|
228
|
+
- Mention primary focus areas and key achievements
|
|
229
|
+
- Keep it high-level and accessible to non-technical stakeholders
|
|
230
|
+
|
|
231
|
+
### 3. Bug Fixes & Features Section (π§)
|
|
232
|
+
|
|
233
|
+
#### Format for Each Epic:
|
|
234
|
+
```markdown
|
|
235
|
+
### π― Epic: [EPIC_KEY] EPIC_TITLE
|
|
236
|
+
*Epic: EPIC_DESCRIPTION*
|
|
237
|
+
|
|
238
|
+
-- JIRA_KEY (link: https://your-jira.atlassian.net/browse/JIRA_KEY) TYPE | PRIORITY: TITLE
|
|
239
|
+
- DESCRIPTION_POINT_1
|
|
240
|
+
- DESCRIPTION_POINT_2
|
|
241
|
+
- DESCRIPTION_POINT_3
|
|
242
|
+
- **Pull Request**: PR PR_NUMBER
|
|
243
|
+
- **Git Author**: AUTHOR_NAME
|
|
244
|
+
- **Assignee**: ASSIGNEE_NAME
|
|
245
|
+
- **Reporter**: REPORTER_NAME
|
|
246
|
+
- **Status**: STATUS
|
|
247
|
+
- **Labels**: LABELS (if applicable)
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
**Issue Type Icons:**
|
|
251
|
+
- π **Bug** - Defects and issues
|
|
252
|
+
- π **Story** - User stories and features
|
|
253
|
+
- π **Feature** - New feature implementations
|
|
254
|
+
- π **Task** - Technical tasks
|
|
255
|
+
|
|
256
|
+
**Priority Icons:**
|
|
257
|
+
- π΄ **Critical** - Immediate attention required
|
|
258
|
+
- π **Major/High** - High priority issues
|
|
259
|
+
- π΅ **Medium/Normal** - Standard priority
|
|
260
|
+
- π‘ **Minor** - Low priority enhancements
|
|
261
|
+
|
|
262
|
+
**Status Icons:**
|
|
263
|
+
- β
**Done** - Completed and merged
|
|
264
|
+
- π **In Progress** - Actively being worked on
|
|
265
|
+
- π **In Review** - Under code review
|
|
266
|
+
- π **In Testing** - In testing phase
|
|
267
|
+
- βΈοΈ **On Hold** - Temporarily paused
|
|
268
|
+
- β **Canceled** - Cancelled or reverted
|
|
269
|
+
|
|
270
|
+
**Guidelines:**
|
|
271
|
+
- Group tickets by Epic for better context
|
|
272
|
+
-- Include full JIRA URL template (plain text): https://your-jira.atlassian.net/browse/JIRA_KEY
|
|
273
|
+
- List all related pull request numbers
|
|
274
|
+
- Always include Git Author, Assignee, and Reporter
|
|
275
|
+
- Use bullet points for detailed descriptions (3-5 points recommended)
|
|
276
|
+
- Order Epics by importance/impact
|
|
277
|
+
- Within each Epic, order by priority (Critical β Major β Normal β Minor)
|
|
278
|
+
|
|
279
|
+
### 4. Configuration Updates Section (π)
|
|
280
|
+
|
|
281
|
+
```markdown
|
|
282
|
+
## π Configuration Updates
|
|
283
|
+
|
|
284
|
+
### {AREA_NAME} Enhancements
|
|
285
|
+
- **{CONFIG_TYPE}**: {DESCRIPTION}
|
|
286
|
+
- **{SETTING}**: {WHAT_CHANGED}
|
|
287
|
+
- **{PARAMETER}**: {NEW_BEHAVIOR}
|
|
288
|
+
|
|
289
|
+
### {ANOTHER_AREA} Improvements
|
|
290
|
+
- **{FEATURE_FLAG}**: {PURPOSE_AND_IMPACT}
|
|
291
|
+
- **{ENDPOINT}**: {MODIFICATION_DETAILS}
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
**Guidelines:**
|
|
295
|
+
- Group by functional area (e.g., Click2Pay, Alias Pay, Security)
|
|
296
|
+
- Document any new feature flags or configuration parameters
|
|
297
|
+
- Describe API endpoint changes
|
|
298
|
+
- Note any database schema changes
|
|
299
|
+
- Include environment-specific settings if applicable
|
|
300
|
+
|
|
301
|
+
### 5. Technical Improvements Section (π οΈ)
|
|
302
|
+
|
|
303
|
+
```markdown
|
|
304
|
+
## π οΈ Technical Improvements
|
|
305
|
+
|
|
306
|
+
### Enhanced Error Handling
|
|
307
|
+
- **{SERVICE_NAME}**: {IMPROVEMENT_DESCRIPTION}
|
|
308
|
+
- **{COMPONENT}**: {ENHANCEMENT_DETAILS}
|
|
309
|
+
|
|
310
|
+
### Code Quality Improvements
|
|
311
|
+
- **Testing**: {TEST_COVERAGE_IMPROVEMENTS}
|
|
312
|
+
- **Logging**: {LOGGING_ENHANCEMENTS}
|
|
313
|
+
- **Architecture**: {STRUCTURAL_IMPROVEMENTS}
|
|
314
|
+
|
|
315
|
+
### Performance Enhancements
|
|
316
|
+
- **{OPTIMIZATION_AREA}**: {PERFORMANCE_GAIN}
|
|
317
|
+
- **{SYSTEM_COMPONENT}**: {EFFICIENCY_IMPROVEMENT}
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
**Guidelines:**
|
|
321
|
+
- Focus on technical improvements not visible to end users
|
|
322
|
+
- Include testing, logging, and architecture improvements
|
|
323
|
+
- Mention performance optimizations
|
|
324
|
+
- Document code quality enhancements
|
|
325
|
+
- Describe refactoring efforts
|
|
326
|
+
|
|
327
|
+
### 6. Statistics Section (π)
|
|
328
|
+
|
|
329
|
+
```markdown
|
|
330
|
+
## π Statistics
|
|
331
|
+
|
|
332
|
+
- **Total Commits**: {NUMBER} commits in this release
|
|
333
|
+
- **Pull Requests Merged**: NUMBER (PR range: FIRST_PR - LAST_PR)
|
|
334
|
+
- **Files Modified**: {NUMBER} files
|
|
335
|
+
- **JIRA Tickets**: {NUMBER} tickets resolved
|
|
336
|
+
- **Bug Fixes**: {NUMBER} ({LIST_PRIORITIES})
|
|
337
|
+
- **Feature Enhancements**: {NUMBER} ({BRIEF_DESCRIPTION})
|
|
338
|
+
- **Services Enhanced**: {NUMBER} ({LIST_SERVICES})
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
**Guidelines:**
|
|
342
|
+
- Provide accurate counts from git analysis
|
|
343
|
+
- List PR number range if there are many PRs
|
|
344
|
+
- Break down tickets by type (bugs vs features)
|
|
345
|
+
- Include priority distribution
|
|
346
|
+
- Mention affected services/components
|
|
347
|
+
|
|
348
|
+
### 7. Testing Section (π§ͺ)
|
|
349
|
+
|
|
350
|
+
```markdown
|
|
351
|
+
## π§ͺ Testing
|
|
352
|
+
|
|
353
|
+
All changes have been thoroughly tested across multiple environments with special focus on:
|
|
354
|
+
|
|
355
|
+
### Integration Testing
|
|
356
|
+
- {INTEGRATION_TEST_SCENARIO_1}
|
|
357
|
+
- {INTEGRATION_TEST_SCENARIO_2}
|
|
358
|
+
- {INTEGRATION_TEST_SCENARIO_3}
|
|
359
|
+
|
|
360
|
+
### Error Scenario Testing
|
|
361
|
+
- {ERROR_SCENARIO_1}
|
|
362
|
+
- {ERROR_SCENARIO_2}
|
|
363
|
+
- {ERROR_SCENARIO_3}
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
**Guidelines:**
|
|
367
|
+
- Document key test scenarios executed
|
|
368
|
+
- Include integration testing details
|
|
369
|
+
- List error scenario testing coverage
|
|
370
|
+
- Mention any new test cases added
|
|
371
|
+
- Note testing environments used
|
|
372
|
+
|
|
373
|
+
### 8. Security & Compliance Section (π)
|
|
374
|
+
|
|
375
|
+
```markdown
|
|
376
|
+
## π Security & Compliance
|
|
377
|
+
|
|
378
|
+
### Enhanced Error Handling
|
|
379
|
+
- {SECURITY_IMPROVEMENT_1}
|
|
380
|
+
- {SECURITY_IMPROVEMENT_2}
|
|
381
|
+
|
|
382
|
+
### Integration Security
|
|
383
|
+
- {SECURITY_MEASURE_1}
|
|
384
|
+
- {SECURITY_MEASURE_2}
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
**Guidelines:**
|
|
388
|
+
- Document security enhancements
|
|
389
|
+
- Note compliance-related changes
|
|
390
|
+
- Describe data protection improvements
|
|
391
|
+
- Mention authentication/authorization changes
|
|
392
|
+
- Include audit logging improvements
|
|
393
|
+
|
|
394
|
+
### 9. Contributors Section (π₯)
|
|
395
|
+
|
|
396
|
+
```markdown
|
|
397
|
+
## π₯ Contributors
|
|
398
|
+
|
|
399
|
+
- {NAME} (Git commits author, {PRIMARY_CONTRIBUTION})
|
|
400
|
+
- {NAME} (JIRA assignee, {PRIMARY_CONTRIBUTION})
|
|
401
|
+
- {NAME} (JIRA reporter, {ROLE_DESCRIPTION})
|
|
402
|
+
- {NAME} (JIRA reporter, {ROLE_DESCRIPTION})
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
**Guidelines:**
|
|
406
|
+
- List all team members who contributed
|
|
407
|
+
- Include their roles (git author, JIRA assignee, reporter)
|
|
408
|
+
- Add brief description of their primary contribution
|
|
409
|
+
- Maintain alphabetical order or order by contribution level
|
|
410
|
+
- Include both technical and non-technical contributors
|
|
411
|
+
|
|
412
|
+
### 10. Previous Release Reference (π)
|
|
413
|
+
|
|
414
|
+
```markdown
|
|
415
|
+
## π Previous Release
|
|
416
|
+
|
|
417
|
+
For details about the previous release, see [RELEASE_NOTES_{PREVIOUS_VERSION}.md](./RELEASE_NOTES_{PREVIOUS_VERSION}.md)
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
**Guidelines:**
|
|
421
|
+
- Always link to the previous release notes
|
|
422
|
+
- Use relative path format
|
|
423
|
+
- Ensure the link is valid
|
|
424
|
+
|
|
425
|
+
### 11. Next Steps Section (π)
|
|
426
|
+
|
|
427
|
+
```markdown
|
|
428
|
+
## π Next Steps
|
|
429
|
+
|
|
430
|
+
This release establishes {FOUNDATION_DESCRIPTION}. Future releases may include:
|
|
431
|
+
- {PLANNED_IMPROVEMENT_1}
|
|
432
|
+
- {PLANNED_IMPROVEMENT_2}
|
|
433
|
+
- {PLANNED_IMPROVEMENT_3}
|
|
434
|
+
- {PLANNED_IMPROVEMENT_4}
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
**Guidelines:**
|
|
438
|
+
- Describe the foundation this release establishes
|
|
439
|
+
- List 3-5 planned improvements for future releases
|
|
440
|
+
- Focus on natural evolution of current features
|
|
441
|
+
- Mention any ongoing work or dependencies
|
|
442
|
+
- Keep it aspirational but realistic
|
|
443
|
+
|
|
444
|
+
### 12. Footer
|
|
445
|
+
|
|
446
|
+
```markdown
|
|
447
|
+
---
|
|
448
|
+
|
|
449
|
+
For technical support or questions about this release, please contact the {PROJECT_NAME} development team.
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
## Data Collection Process
|
|
453
|
+
|
|
454
|
+
### 1. Git Commit Analysis
|
|
455
|
+
|
|
456
|
+
**Commands to Execute:**
|
|
457
|
+
```bash
|
|
458
|
+
# Check current branch
|
|
459
|
+
git branch
|
|
460
|
+
|
|
461
|
+
# Get commits since last release
|
|
462
|
+
git log --oneline {LAST_VERSION_TAG}..HEAD
|
|
463
|
+
|
|
464
|
+
# Get detailed commit information
|
|
465
|
+
git log --pretty=format:"%H|%s|%an|%ad" --date=short {LAST_VERSION_TAG}..HEAD
|
|
466
|
+
|
|
467
|
+
# Get file changes for specific commit
|
|
468
|
+
git show --name-only {COMMIT_HASH}
|
|
469
|
+
|
|
470
|
+
# Get commit statistics
|
|
471
|
+
git diff --shortstat {LAST_VERSION_TAG}..HEAD
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
**Extract from Commits:**
|
|
475
|
+
- Commit hashes (full and short)
|
|
476
|
+
- JIRA ticket numbers from commit messages
|
|
477
|
+
- PR numbers from commit messages
|
|
478
|
+
- Commit authors
|
|
479
|
+
- Commit dates
|
|
480
|
+
- Files modified
|
|
481
|
+
|
|
482
|
+
### 2. JIRA Integration
|
|
483
|
+
|
|
484
|
+
**Required JIRA Fields to Retrieve:**
|
|
485
|
+
- Issue Key (e.g., BTWDV001-12345)
|
|
486
|
+
- Summary/Title
|
|
487
|
+
- Description
|
|
488
|
+
- Issue Type (Bug, Story, Task, Feature)
|
|
489
|
+
- Priority (Critical, Major, Normal, Minor)
|
|
490
|
+
- Status (Done, In Progress, On Hold, etc.)
|
|
491
|
+
- Assignee
|
|
492
|
+
- Reporter
|
|
493
|
+
- Labels
|
|
494
|
+
- Epic Link
|
|
495
|
+
- Created Date
|
|
496
|
+
- Updated Date
|
|
497
|
+
|
|
498
|
+
**Use JIRA MCP Tool:**
|
|
499
|
+
```
|
|
500
|
+
f1e_jira_get_issue(issue_key: "{JIRA_KEY}")
|
|
501
|
+
```
|
|
502
|
+
|
|
503
|
+
### 3. Epic Organization
|
|
504
|
+
|
|
505
|
+
**Retrieve Epic Information:**
|
|
506
|
+
- Epic Key and Title
|
|
507
|
+
- Epic Description
|
|
508
|
+
- All tickets associated with the Epic
|
|
509
|
+
- Epic status and priority
|
|
510
|
+
|
|
511
|
+
**Guidelines:**
|
|
512
|
+
- Group tickets by their Epic affiliation
|
|
513
|
+
- Create clear Epic section headers
|
|
514
|
+
- Provide Epic context and description
|
|
515
|
+
- Order Epics by business impact
|
|
516
|
+
|
|
517
|
+
## Quality Checklist
|
|
518
|
+
|
|
519
|
+
### Before Publishing:
|
|
520
|
+
- [ ] All commit hashes are accurate and verifiable
|
|
521
|
+
- [ ] All JIRA tickets are linked and accessible
|
|
522
|
+
- [ ] All PR numbers are correct
|
|
523
|
+
- [ ] All contributors are credited appropriately
|
|
524
|
+
- [ ] Status icons match actual JIRA status
|
|
525
|
+
- [ ] Priority icons match JIRA priority
|
|
526
|
+
- [ ] Issue type icons match JIRA issue type
|
|
527
|
+
- [ ] Statistics are accurate and complete
|
|
528
|
+
- [ ] Links to previous release notes work
|
|
529
|
+
- [ ] Epic groupings are logical and complete
|
|
530
|
+
- [ ] Descriptions are clear and concise
|
|
531
|
+
- [ ] Technical improvements are documented
|
|
532
|
+
- [ ] Security changes are highlighted
|
|
533
|
+
- [ ] Testing coverage is described
|
|
534
|
+
- [ ] No duplicate information
|
|
535
|
+
- [ ] Consistent formatting throughout
|
|
536
|
+
- [ ] Proper markdown syntax
|
|
537
|
+
- [ ] Grammar and spelling checked
|
|
538
|
+
|
|
539
|
+
## Common Patterns
|
|
540
|
+
|
|
541
|
+
### For Bug Fixes:
|
|
542
|
+
```markdown
|
|
543
|
+
- **[{JIRA_KEY}]({JIRA_URL})** π **Bug** | {PRIORITY_ICON} **{PRIORITY}**: {TITLE}
|
|
544
|
+
- {ROOT_CAUSE_DESCRIPTION}
|
|
545
|
+
- {SYMPTOMS_ADDRESSED}
|
|
546
|
+
- {SOLUTION_IMPLEMENTED}
|
|
547
|
+
- {IMPACT_ON_USERS}
|
|
548
|
+
- **Pull Request**: PR PR_NUMBER
|
|
549
|
+
- **Git Author**: {AUTHOR}
|
|
550
|
+
- **Assignee**: {ASSIGNEE}
|
|
551
|
+
- **Reporter**: {REPORTER}
|
|
552
|
+
- **Status**: β
Done
|
|
553
|
+
```
|
|
554
|
+
|
|
555
|
+
### For New Features:
|
|
556
|
+
```markdown
|
|
557
|
+
- **[{JIRA_KEY}]({JIRA_URL})** π **Story** | {PRIORITY_ICON} **{PRIORITY}**: {TITLE}
|
|
558
|
+
- {BUSINESS_VALUE}
|
|
559
|
+
- {FEATURE_DESCRIPTION_1}
|
|
560
|
+
- {FEATURE_DESCRIPTION_2}
|
|
561
|
+
- {USER_BENEFIT}
|
|
562
|
+
- {TECHNICAL_IMPLEMENTATION}
|
|
563
|
+
- **Pull Request**: PR PR_NUMBER
|
|
564
|
+
- **Git Author**: {AUTHOR}
|
|
565
|
+
- **Assignee**: {ASSIGNEE}
|
|
566
|
+
- **Reporter**: {REPORTER}
|
|
567
|
+
- **Status**: β
Done
|
|
568
|
+
```
|
|
569
|
+
|
|
570
|
+
### For On Hold/Blocked Items:
|
|
571
|
+
```markdown
|
|
572
|
+
- **[{JIRA_KEY}]({JIRA_URL})** {TYPE_ICON} **{TYPE}** | {PRIORITY_ICON} **{PRIORITY}**: {TITLE}
|
|
573
|
+
- {WORK_COMPLETED}
|
|
574
|
+
- {BLOCKING_REASON}
|
|
575
|
+
- {PENDING_DEPENDENCY}
|
|
576
|
+
- {NEXT_STEPS}
|
|
577
|
+
- **Pull Request**: PR PR_NUMBER
|
|
578
|
+
- **Git Author**: {AUTHOR}
|
|
579
|
+
- **Assignee**: {ASSIGNEE}
|
|
580
|
+
- **Reporter**: {REPORTER}
|
|
581
|
+
- **Status**: βΈοΈ On Hold
|
|
582
|
+
```
|
|
583
|
+
|
|
584
|
+
## Examples of Well-Written Descriptions
|
|
585
|
+
|
|
586
|
+
### Good Example - Clear and Detailed:
|
|
587
|
+
```markdown
|
|
588
|
+
- **[BTWDV001-64607]** π **Bug** | π **Major**: Click2Pay enrollment and unenrollment issue resolution
|
|
589
|
+
- Addressed multiple Click2Pay integration issues with VISA services
|
|
590
|
+
- Phone number and email conflicts during enrollment ("already used in other profiles")
|
|
591
|
+
- Timeout issues during unenrollment (15-second timeout exceeded)
|
|
592
|
+
- Status synchronization problems (cards showing as unenrolled after successful enrollment)
|
|
593
|
+
- Enhanced error handling for VISA API responses
|
|
594
|
+
- Improved timeout management for long-running operations
|
|
595
|
+
```
|
|
596
|
+
|
|
597
|
+
### Poor Example - Too Vague:
|
|
598
|
+
```markdown
|
|
599
|
+
- Fixed Click2Pay issues
|
|
600
|
+
- Some problems with VISA
|
|
601
|
+
- Better error handling
|
|
602
|
+
```
|
|
603
|
+
|
|
604
|
+
## File Naming Convention
|
|
605
|
+
|
|
606
|
+
- Format: `RELEASE_NOTES_{VERSION}.md`
|
|
607
|
+
- Examples:
|
|
608
|
+
- `RELEASE_NOTES_4.2.0.md`
|
|
609
|
+
- `RELEASE_NOTES_4.2.6.md`
|
|
610
|
+
- `RELEASE_NOTES_5.0.0.md`
|
|
611
|
+
|
|
612
|
+
## Version Control
|
|
613
|
+
|
|
614
|
+
- Store release notes in repository root directory
|
|
615
|
+
- Commit with message: `docs: Add release notes for version {VERSION}`
|
|
616
|
+
- Tag the release commit: `git tag -a {VERSION} -m "Release {VERSION}"`
|
|
617
|
+
|
|
618
|
+
## Automation Tips
|
|
619
|
+
|
|
620
|
+
### Using Git to Extract Information:
|
|
621
|
+
```bash
|
|
622
|
+
# Extract JIRA ticket numbers from commits
|
|
623
|
+
git log {LAST_TAG}..HEAD --oneline | grep -oE 'BTWDV001-[0-9]+' | sort -u
|
|
624
|
+
|
|
625
|
+
# Get contributor list
|
|
626
|
+
git log {LAST_TAG}..HEAD --format='%an' | sort -u
|
|
627
|
+
|
|
628
|
+
# Count commits
|
|
629
|
+
git rev-list --count {LAST_TAG}..HEAD
|
|
630
|
+
|
|
631
|
+
# Get PR numbers
|
|
632
|
+
git log {LAST_TAG}..HEAD --oneline | grep -oE '#[0-9]+' | sort -u
|
|
633
|
+
```
|
|
634
|
+
|
|
635
|
+
### Using JIRA MCP Tools:
|
|
636
|
+
```javascript
|
|
637
|
+
// Get issue details
|
|
638
|
+
f1e_jira_get_issue(issue_key: "BTWDV001-12345")
|
|
639
|
+
|
|
640
|
+
// Search for issues
|
|
641
|
+
f1e_jira_search(jql: "project = BTWDV001 AND fixVersion = 4.2.6")
|
|
642
|
+
|
|
643
|
+
// Get Epic information
|
|
644
|
+
f1e_jira_get_issue(issue_key: "BTWDV001-12345", fields: "epic")
|
|
645
|
+
```
|
|
646
|
+
|
|
647
|
+
## Best Practices
|
|
648
|
+
|
|
649
|
+
1. **Accuracy First**: Always verify commit hashes, PR numbers, and JIRA ticket information
|
|
650
|
+
2. **User-Centric**: Write for multiple audiences (developers, QA, product managers, stakeholders)
|
|
651
|
+
3. **Context Matters**: Provide enough context for someone unfamiliar with the work
|
|
652
|
+
4. **Be Specific**: Include concrete details, not vague statements
|
|
653
|
+
5. **Link Everything**: JIRA tickets, PRs, documentation - make it easy to drill down
|
|
654
|
+
6. **Group Logically**: Use Epics to provide business context
|
|
655
|
+
7. **Highlight Impact**: Always explain the user/business impact
|
|
656
|
+
8. **Document Gotchas**: Note any known issues, limitations, or pending work
|
|
657
|
+
9. **Credit Everyone**: Include all contributors, not just developers
|
|
658
|
+
10. **Keep Updated**: Update release notes as changes occur, don't wait until the end
|
|
659
|
+
|
|
660
|
+
## Review Process
|
|
661
|
+
|
|
662
|
+
1. **Technical Review**: Verify all technical details are accurate
|
|
663
|
+
2. **Business Review**: Ensure business value is clearly communicated
|
|
664
|
+
3. **QA Review**: Confirm test coverage is documented
|
|
665
|
+
4. **Product Review**: Validate feature descriptions and priorities
|
|
666
|
+
5. **Final Proofread**: Check grammar, spelling, and formatting
|
|
667
|
+
|
|
668
|
+
## Template Quick Reference
|
|
669
|
+
|
|
670
|
+
Use this minimal template to get started:
|
|
671
|
+
|
|
672
|
+
```markdown
|
|
673
|
+
# Release Notes - {PROJECT_NAME} v{VERSION}
|
|
674
|
+
|
|
675
|
+
**Release Date:** {DATE}
|
|
676
|
+
**Branch:** release/{VERSION}
|
|
677
|
+
**Base Version:** {PREVIOUS_VERSION}
|
|
678
|
+
|
|
679
|
+
## π What's New
|
|
680
|
+
|
|
681
|
+
{EXECUTIVE_SUMMARY}
|
|
682
|
+
|
|
683
|
+
## π§ Bug Fixes & Features
|
|
684
|
+
|
|
685
|
+
### π― Epic: [{EPIC_KEY}] {EPIC_TITLE}
|
|
686
|
+
|
|
687
|
+
- **[{JIRA_KEY}]({URL})** {TYPE_ICON} **{TYPE}** | {PRIORITY_ICON} **{PRIORITY}**: {TITLE}
|
|
688
|
+
- {DESCRIPTION}
|
|
689
|
+
- **Pull Request**: PR PR_NUMBER
|
|
690
|
+
- **Git Author**: {AUTHOR}
|
|
691
|
+
- **Assignee**: {ASSIGNEE}
|
|
692
|
+
- **Reporter**: {REPORTER}
|
|
693
|
+
- **Status**: {STATUS}
|
|
694
|
+
|
|
695
|
+
## π Configuration Updates
|
|
696
|
+
## π οΈ Technical Improvements
|
|
697
|
+
## π Statistics
|
|
698
|
+
## π§ͺ Testing
|
|
699
|
+
## π Security & Compliance
|
|
700
|
+
## π₯ Contributors
|
|
701
|
+
## π Previous Release
|
|
702
|
+
## π Next Steps
|
|
703
|
+
|
|
704
|
+
---
|
|
705
|
+
|
|
706
|
+
For technical support or questions about this release, please contact the {PROJECT_NAME} development team.
|
|
707
|
+
```
|
|
708
|
+
|
|
709
|
+
## Troubleshooting
|
|
710
|
+
|
|
711
|
+
### Missing Information:
|
|
712
|
+
- **No Epic Link**: Place ticket in a general "Technical Improvements" or "Bug Fixes" section
|
|
713
|
+
- **No PR Number**: Check commit messages and git history
|
|
714
|
+
- **No JIRA Ticket**: Document based on commit message information
|
|
715
|
+
- **Conflicting Information**: Verify with git log and JIRA, prefer JIRA as source of truth
|
|
716
|
+
|
|
717
|
+
### Common Issues:
|
|
718
|
+
- **Duplicate Tickets**: Check if ticket appears in multiple commits, document only once
|
|
719
|
+
- **Reverted Changes**: Mark clearly with β status and explain why
|
|
720
|
+
- **Partial Implementations**: Use π In Progress status and note what remains
|
|
721
|
+
- **External Dependencies**: Document in "On Hold" section with clear explanation
|
|
722
|
+
|
|
723
|
+
---
|