On a schedule
Email release notes when a Jira version is released
When a version is released, you get readable release notes built from its resolved issues.
- Runs
- On a schedule
- Apps
- Jira
- AI
- Yes, uses the built-in AI allowance
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: when a version is released in project APP, write release notes from its resolved issues, grouped into features and fixes, and email them to me.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Developers write ticket titles for themselves: "Fix NPE in OrderMapper", "Bump retry limit". When a version is released in Jira, someone has to turn forty of those into release notes that customers or support staff can understand. That job falls to a product manager on release day, usually at the end of a long week, and the notes end up late, thin, or copied straight from ticket titles that mean nothing to a customer.
On a schedule, ClickRuntime lists the versions in your Jira project and notices any that have newly been marked released. It collects the issues with that fix version, has built-in AI group them into sections such as new features, improvements and bug fixes in plain language, and emails the notes to you.
Product managers, support teams and technical writers use it to get a solid first draft.
What you get out of it
Release day stops being a writing task
The draft is waiting in your inbox when the release goes out. You edit and publish instead of starting from scratch, which turns an hour of effort into a few minutes of review.
Customers understand what changed
Plain-language notes tell customers what is new and what was fixed, using words they know. That reduces confusion and support tickets about changes they did not expect after an update.
Support is briefed in advance
Support agents see what shipped before customers ask. They can answer questions about new behavior confidently instead of finding out about a change from the customer. That avoids the awkward situation where a customer asks about a fix and the support team has not heard of it.
Nothing shipped goes unmentioned
Because the notes come from the issues tagged with the version, small fixes are not forgotten. A complete list is more trustworthy than notes written from the memory of whoever wrote the code.
Consistent structure across releases
Each release's notes follow the same grouping, so readers learn where to look. Sales and success teams find it easy to scan for new features without reading the whole thing.
How it works
What happens, step by step
Every day, ClickRuntime checks your Jira project for versions that have just been released.
For each new release, it collects the issues resolved in that version.
AI writes readable release notes, grouped into features and fixes, with the issue keys.
The notes are emailed to you.
Before it runs live
- Connect Jira
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Slack
- Combine it with other Jira steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, ai, state, notify, report_fetched
JIRA = "https://api.atlassian.com/ex/jira/your-cloud-id"
def jira(method, path, **kw):
resp = http.request(method, JIRA + path, headers={
"Authorization": f"Bearer {credentials.connection('jira', 'work')}", "Accept": "application/json"}, **kw)
resp.raise_for_status()
return resp.json() if resp.content else None
def search(jql, fields, limit=100):
return jira("POST", "/rest/api/3/search/jql", json={"jql": jql, "fields": fields, "maxResults": limit})["issues"]
@on_trigger
def run(event):
done = set(state.get("released") or [])
versions = [v for v in jira("GET", "/rest/api/3/project/APP/versions") if v.get("released")]
new = [v for v in versions if v["id"] not in done]
report_fetched(len(new))
if not new:
return {"emailed": 0}
for v in new:
if state.get("released") is not None:
issues = search(f'project = APP AND fixVersion = {v["id"]} AND statusCategory = Done', ["summary", "issuetype"], 200)
lines = "\n".join(f"{i['key']} [{i['fields']['issuetype']['name']}] {i['fields']['summary']}" for i in issues)
notes = ai.generate(lines[:12000] or "No issues", max_output_tokens=700,
system="Write short release notes grouped into Features and Fixes, one line per item.").text
notify.email_me(f"Release notes: APP {v['name']}", notes)
done.add(v["id"])
state.set("released", sorted(done))
return {"versions": [v["name"] for v in new]}FAQ
Common questions
How does it decide an issue belongs to a release?
Are the notes safe to publish as they are?
Does it work with several Jira projects?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Triage new Jira tickets as they come in
New tickets get labels and a priority, and the reporter is asked for anything missing, like steps to reproduce.
See how it worksGet a lessons-learned write-up when an epic is done
When an epic is marked Done, you get a summary of how it went, built from its child issues and comments.
See how it worksGet a sprint report when a sprint closes
When a sprint ends you see the completion rate, what got done and what carried over, by person.
See how it worksKeep exploring
Set up “Email release notes when a Jira version is released” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.