Jira task template
Release Preparation Pipeline
End-to-end release management from feature freeze through deployment and post-release monitoring. Every task a real release manager runs.
- Issues created:
- 46
- Structure:
- 1 epic · 5 tasks · 40 subtasks
- Roles:
- release_lead, eng_manager, devops, product_manager, qa_team, security, dev_team, docs_team, marketing, sre_team, support
The full task tree this template creates
Copy it, paste it into the SuperTemplates editor, and Smart Replace turns every marker into a typed Jira field.
[#epic] Release v3.2.0 — Sprint Delivery !High
[#task] Pre-Release Planning !High @release_lead [Due + 0d]
[#subtask] Define release scope and feature list @release_lead !High [Due + 0d]
[#subtask] Review feature completion status @eng_manager !High [Due + 0d]
[#subtask] Identify release blockers @release_lead !Highest [Due + 1d]
[#subtask] Create release branch from main @devops !High [Due + 2d]
[#subtask] Announce feature freeze in #engineering @release_lead !Medium [Due + 2d]
[#subtask] Update release notes draft @product_manager !Medium [Due + 2d]
[#task] QA & Testing !Highest @qa_team [Due + 4d]
[#subtask] Deploy release branch to QA environment @devops !High [Due + 4d]
[#subtask] Execute full regression test suite @qa_team !Highest [Due + 5d]
[#subtask] Run integration tests @qa_team !High [Due + 6d]
[#subtask] Perform security scan (OWASP) @security !Highest [Due + 6d]
[#subtask] Execute performance benchmarks @qa_team !High [Due + 7d]
[#subtask] UAT sign-off with stakeholders @product_manager !High [Due + 8d]
[#subtask] Triage and fix critical bugs @dev_team !Highest [Due + 9d]
[#subtask] Verify all bug fixes pass regression @qa_team !High [Due + 10d]
[#task] Release Readiness !High @release_lead [Due + 11d]
[#subtask] Finalize release notes @product_manager !Medium [Due + 11d]
[#subtask] Update technical documentation @docs_team !Medium [Due + 11d]
[#subtask] Prepare customer communications @marketing !Medium [Due + 11d]
[#subtask] Create deployment runbook @devops !High [Due + 12d]
[#subtask] Verify rollback procedure on staging @devops !High [Due + 12d]
[#subtask] Conduct release readiness review @release_lead !High [Due + 12d]
[#subtask] Obtain go/no-go decision @eng_manager !Highest [Due + 13d]
[#subtask] Schedule deployment maintenance window @devops !Medium [Due + 13d]
[#task] Production Deployment !Highest @release_lead [Due + 14d]
[#subtask] Send deployment notification to #ops_alerts @release_lead !High [Due + 14d]
[#subtask] Create database backup snapshot @devops !Highest [Due + 14d]
[#subtask] Execute database migrations @devops !Highest [Due + 14d]
[#subtask] Deploy services to production @devops !Highest [Due + 14d]
[#subtask] Run production smoke tests @qa_team !Highest [Due + 14d]
[#subtask] Verify critical user flows (login, checkout, API) @qa_team !Highest [Due + 14d]
[#subtask] Enable feature flags for v3.2.0 @devops !High [Due + 14d]
[#subtask] Announce deployment complete in #engineering @release_lead !Medium [Due + 14d]
[#task] Post-Release Monitoring !High @release_lead [Due + 15d]
[#subtask] Monitor error rates (4h window) @sre_team !Highest [Due + 15d]
[#subtask] Monitor performance metrics vs baseline @sre_team !High [Due + 15d]
[#subtask] Review customer feedback channels @support !High [Due + 16d]
[#subtask] Triage post-release issues @release_lead !High [Due + 16d]
[#subtask] Deploy hotfixes if needed @devops !Highest [Due + 17d]
[#subtask] Publish release announcement to customers @marketing !Medium [Due + 17d]
[#subtask] Update internal stakeholders @release_lead !Medium [Due + 17d]
[#subtask] Conduct release retrospective @release_lead !Medium [Due + 21d]
[#subtask] Archive release artifacts and tag v3.2.0 @devops !Low [Due + 21d]
[#subtask] Plan next release scope @product_manager !Medium [Due + 21d]Twenty-one days, five gates, one irreversible afternoon
46 issues across five phases, day 0 to day 21. The deploy is day 14 — one afternoon out of three weeks. Everything before it exists to make that afternoon boring. Everything after it exists because sometimes it isn’t.
Why the freeze and the rollback come before the deploy
- Freeze at day 2, QA starts day 4. The branch is cut and the freeze announced in
#engineeringthe same day. You cannot regression-test a moving target, and every cherry-pick after the branch invalidates a run that already passed. - Rollback is verified on staging at day 12 — two days before the deploy, one day before go/no-go. A rollback plan that has never been executed is a hypothesis, and day 14 is the wrong time to test one. It shares day 12 with the deployment runbook and both belong to @devops, so the path in and the path out get written together.
- Snapshot before migrations. Both land on day 14, in that order. A migration run against a database with no snapshot turns rollback from a procedure into a data-recovery project, and no feature flag saves you from a schema change.
- Second regression pass at day 10. Critical bugs are fixed at day 9, then every fix is re-verified against the full suite. Those fixes are the least-tested code in the release, so they get treated like new code.
- Customers hear at day 17, not day 14. Error rates are watched for four hours at day 15, performance compared against baseline, hotfixes ship at day 17. The announcement goes out after you know it held.
Who owns which gate
The most important thing about the eleven handles is what @release_lead does not own. The release lead runs the pipeline and triages the aftermath; the go/no-go at day 13 belongs to @eng_manager. Whoever has spent two weeks pushing a release toward a date is the worst-placed person to decide it should slip.
- @qa_team — regression, integration, smoke tests, and the critical flows after deploy. @dev_team fixes; @qa_team decides whether the fix counts.
- @security — the OWASP scan at day 6, its own gate rather than a checkbox inside QA.
- @devops — branch, runbook, rollback rehearsal, snapshot, migrations, deploy, flags, tag. The role with the fewest reversible steps.
- @sre_team — the first four hours after go-live, held apart from the people who deployed. Reading your own error rates at the end of a deploy day is not observation, it is hope.
- @product_manager — UAT sign-off at day 8 and the release notes. @docs_team, @marketing and @support carry the parts a customer touches.
How the dates resolve
[Due + 14d] is an offset, not a stored date. Smart Replace groups every offset written against the same Jira date field, you pick one anchor, and the rest resolve from it — so slipping a release by three days means editing one value, not 45. Saved in the template editor that anchor becomes a named date variable. Units run d, w, m, bd; this tree ships calendar days, and bd counts Monday to Friday instead, which is what you want when day 14 would land on a Saturday. Skip holidays walks a resolved date past public and bank holidays for a chosen region — date variables in Jira issue templates has the full behaviour. The handles here are roles, not people; to spread a block of work across whoever is free, round-robin assignment distributes it in rotation.
What breaks if you skip one
- No staging rollback rehearsal. The rollback gets invented at 02:00 with the incident channel watching, and rollbacks written under pressure skip the database.
- No snapshot. You restore old code onto a new schema and turn a bad deploy into an outage with no exit.
- No second regression pass. Your fix for the P1 is the cause of the P2, and you hear about it from a customer.
- No UAT sign-off. At day 15 you find that what shipped is not what was asked for — a product decision to unwind, not an engineering one.
- No four-hour watch. The spike that justified a rollback in hour one becomes a week of support tickets by hour forty.
Five people, or fifty
At fifty, eleven handles are eleven people and this tree is a coordination contract. At five there is no release manager and no SRE rotation: @release_lead, @devops, @sre_team and @dev_team are one person, who wrote the code, approved the deploy and is now on call for it.
The cost is specific. Go/no-go stops being a decision, because the only candidate is the person who wants to ship. Nobody independent verifies the rollback. The four-hour watch is run by someone twelve hours into their day. Keep three things: give go/no-go to someone who did not write the code, even if that is the PM; rehearse the rollback on staging; take the snapshot. Collapse the rest — docs, marketing and support into one comms task, the readiness review into a fifteen-minute call, the retro into a written paragraph.
How to use this template in Jira
- Install SuperTemplates from the Atlassian Marketplace (free 30-day trial) and open the editor in any Jira project.
- Copy the tree above, paste it into the editor, and run Smart Replace — assignees, priorities, and date offsets resolve against your live Jira data.
- Preview the whole batch and create everything in Jira in one click. Nothing is created until you confirm.
A 46-issue tree is more than anyone wants to type by hand, which is the whole reason the editor can bulk-create up to 300 Jira issues in one batch from a single paste. Save the tree once and every name, date and priority in it becomes a Jira issue template variable that resolves as the batch is created — so next quarter you re-run the structure instead of re-typing last quarter’s dates.
No credit card required · Starts inside Jira
Related templates
- Sprint Planning Ceremony — Complete sprint planning workflow from backlog grooming through capacity planning and commitment. Every task a real Scrum Master runs.