Project field is missing from goal context in Time to SLA

Project field is missing from goal context in Time to SLA

In Time to SLA (TTS), the Project field is available for selection in the SLA Context but does not appear as a dedicated dropdown in the Goal Context.

This article explains how to define project-specific goals using JQL and why the UI is structured this way.

Use cases

  1. Shared SLAs with unique goals: A user wants to use one SLA across multiple projects (defined in the SLA Context) but needs to set different time targets for each project.

  2. API integration: A user needs to identify projects within the SLA JSON response when using an external application to retrieve goals via the TTS REST API.

Cause

The Project field is omitted from the Goal Context dropdown to optimize performance. Using the SLA Context to define the project scope minimizes queries to the Jira REST API during goal matching. This helps prevent 429 - Too many requests errors and ensures the app remains within Atlassian's rate limits.

Solution

To set different goals for different projects within the same SLA, use the JQL option in the Goal Context.

  1. Navigate to Time to SLA > SLA Config.

  2. Edit the relevant SLA.

  3. In the Goal Context section, click the Context dropdown and select JQL.

  4. In the value field, enter the JQL for your specific project.

    • Option A (Recommended for API/Maintenance): Use the project ID.
      project = 10011

    • Option B: Use the project name.
      project = "Service Desk"

  5. Define the Goal duration for this project.

  6. Click Add.

  7. Repeat this process for each project requiring a unique goal.

  8. Click Save.

Technical notes

  • API response structure: When values are selected via standard context fields (like Issue Type), the TTS API response returns their IDs. However, when using the JQL context, the response carries the JQL statement as a simple string.

  • Maintenance: If you rely on external automation or API integrations, using the project ID in your JQL string (for example, project = 10100) is more stable than using names, as it prevents the goal from breaking if a project is renamed.