I'm in the process of creating a JML board for all onboarding and offboarding. What I'd love to do, is ensure that onboarding tickets have an SLA set based on when the user is due to start (So as an example; User is set to start Monday 22nd December. SLA should start the Monday before, aiming to be completed by Friday 19th December).
So far I've mostly been struggling to work out how to set this kind of SLA goal within JQL. When onboarding tickets are created (Both through API and manually), they require a 'start date' set, which provides a custom field for Jira to pull the data from.
Is this something that can be reasonably achieved? Or do I just need to adjust my SLA to only start when I change the ticket status?
Jira Service Management (JSM) SLAs are primarily duration-based (e.g., “5 business days”) and their start/stop is driven by status or JQL conditions. They don’t natively support “start on the Monday before a custom start date and end by the Friday before it” using only JQL + SLA goals.
That said, you can absolutely achieve your onboarding window with Automation + SLA design (native), or you can use a marketplace app if you want true “deadline = a date field with offsets” behavior.
Below are two approaches I commonly use depending on the needs and constrains.
Approach A (Native JSM): Use Automation to compute dates + drive SLA start/stop
Goal:
1) Add two date fields (custom):
2) Automation rule: Set these dates when Start date is set
Trigger:
Action (Edit issue fields):
Use smart values to compute “previous Monday” and “previous Friday” relative to the start date.
Assuming Start date is a date (no time), this works well with smart value date math:
SLA Start Trigger:
{{issue.customfield_XXXXX.withNextDayOfWeek(1).minusWeeks(2)}}
Target completion (Friday of previous week):
{{issue.customfield_XXXXX.withNextDayOfWeek(1).minusWeeks(2).plusDays(4)}}
3) Automation rule: Start the workflow/SLA on that Monday
Trigger:
Action:
4) SLA configuration
Create an SLA metric like “Onboarding prep window”:
This gives you a consistent Monday to Friday window before the start date, with automated kickoff on the correct Monday and a clear “breach” if not Completed by the Friday before.
Approach B (Marketplace app): True SLA deadlines from a date field
If you want an SLA to directly target a date stored in a field (with offsets) rather than using duration, several marketplace apps for Jira/JSM Cloud support this (I prefer) :
With these, you can configure your SLA as “Due by: Target completion” and define breach at exactly that Friday-before date, no duration math required, and no status-driven kickoff. This is more precise if your processes are date driven.
A final note, i would go with the marketplace app, the native way is a pain to maintain
Hope this helps!
Jira’s native SLA configuration in Jira Service Management works from time-based conditions defined in JQL, but it cannot dynamically offset a target from a custom date field (like “Start Date”) by a fixed number of days. SLA goals are set either from issue creation, a specific status change, or a date/time field directly, but there’s no built-in way to say “start counting X days before this date” without pre-calculating that date yourself ([SLA configuration reference](https://support.atlassian.com/jira-service-management-cloud/docs/set-up-sla-conditions/)).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.