Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Setting SLA based on due date?

Elso Valager
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
December 9, 2025

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?

2 answers

0 votes
Christos Markoulatos
Community Champion
December 9, 2025

Hi @Elso Valager 

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:

  • When the onboarding request has a Start date (custom field), automatically:
    • Calculate the Monday of the previous week (SLA start trigger)
    • Calculate the Friday of the previous week (target completion date)
    • Store these in fields (e.g., SLA Start Trigger and Target completion)
    • On that Monday, auto-transition (or set a flag) to start your SLA
    • Have an SLA with a fixed goal of 5 business days, using a business hours calendar, starting when the ticket transitions (or meets a JQL condition)

1) Add two date fields (custom):

  • SLA Start Trigger (Date/Time)
  • Target completion (Date/Time)
  • (Optional) Use the system Due date instead of Target completion if you prefer

2) Automation rule: Set these dates when Start date is set

Trigger:

  • Issue created OR field value changed for Start date

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:

  • Scheduled trigger (e.g., every 30 minutes or every hour) JQL in the trigger filter:
  • Issues where SLA Start Trigger ≤ now
  • And status is not yet “In Progress” (or wherever your SLA’s start condition requires)

Action:

  • Transition the issue to the status that starts your SLA (e.g., “In Progress”)
  • Or set a label/checkbox and use SLA Start when JQL like: labels = sla_start_ready or cf[12345] = Ready

4) SLA configuration

Create an SLA metric like “Onboarding prep window”:

  • Start when: Issue enters “In Progress” (or when JQL matches your flag)
  • Pause on: Any waiting statuses (optional)
  • Stop when: Issue enters “Completed” (or “Ready for Day 1”)
  • Goal: 5d (use a business calendar Mon–Fri to represent the working week)
  • (Optional) Add goals per priority, but the fixed 5 business days matches your requirement.

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) :

  • Time to SLA commonly used to set SLA target based on a date field, with offsets (e.g., “Start date minus 3 days”) and business calendars.

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!

0 votes
Mercy
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
December 9, 2025

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/)).

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
STANDARD
PERMISSIONS LEVEL
Product Admin
TAGS
AUG Leaders

Atlassian Community Events