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?

4 answers

2 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
Onder Ozcan _Appfire_
December 12, 2025

Happy Friday everyone,

@Elso Valager   

This is Onder from Appfire!

I am happy to listen to your use case and show you a tailored solution for it using Time to SLA. If you are interested, hit the link and arrange a call with me.

Thanks,
Onder
Time to SLA Team

0 votes
Alina Kurinna _SaaSJet_
Atlassian Partner
December 12, 2025

Hi @Elso Valager ,

As Christos rightly pointed out, native SLAs in Jira Service Management are predominantly duration-based (e.g., "5 business days"), not deadline-based (e.g., "complete by 17:00 on 12/19").

To implement your scenario, "complete by the Friday before the user's start date," while accounting for business hours, you truly need a Marketplace app. I'd like to recommend SLA Time and Report for Jira, created by our team at SaaSJet, as it features functionality specifically designed for such cases, allowing you to bypass complex Automation and JQL setups.

Solution: The "Negotiated Date SLA Type"

Our app offers a special SLA type called Negotiated date SLA type.

Here is how it works for your Onboarding scenario:

  1. Goal Definition (Deadline): You can use any date field in your Jira ticket as the final, fixed deadline for the SLA. In your case, this would be the field containing the date: "The Friday preceding the start date."

  2. Accurate Time Tracking: The app starts tracking time from the moment the SLA starts (e.g., when the ticket moves to "In Progress") and measures the remaining time until this set target date.

  3. Calendar Integration: Most importantly, the system correctly excludes all non-working hours, weekends, and holidays defined in your work calendar from this calculation. This ensures that the SLA time accurately reflects only the actual time available for your team to work.

This approach gives you a true deadline-oriented SLA that automatically monitors the remaining business time until your target completion date.


If you need assistance or guidance on how to configure this functionality for your specific workflow, please feel free to reach out to me. Alternatively, you can book a 1:1 demo call with our PM. We will explain in detail how the app works and help you find the best setup for your workflow.

I hope this helps!

0 votes
Mercy
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Champions.
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