Uploaded image for project: 'Jira Software Data Center'
  1. Jira Software Data Center
  2. JSWSERVER-11511

Agile Sprint Health Gadget causes JQL Query Error for '@' character

      1) Create a dashboard and add and configure an Agile Sprint Health Gadget.
      2) Click on the avatar of a developer in the Agile Sprint Health Gadget.
      3) A JQL error is generated:

      assignee=first.last@company.com AND Sprint=209

      Error in the JQL Query: The character '@' is a reserved JQL character. You must enclose it in a string or use the escape '\u0040' instead. (line 1, character 18)

      Similar to GHS-10231, '@' needs to be escaped.

            [JSWSERVER-11511] Agile Sprint Health Gadget causes JQL Query Error for '@' character

            Atlassian Update - 10 April 2025

            Hi,

            At Atlassian, our goal is to ensure we’re providing the best experience for our customers. With our new Data Center strategy, Atlassian's focus is on security, compliance, and performance and is a key driver in prioritizing bugs. Closing the bugs that do not fall into those categories will allow us to focus on the ones in the most current versions of our products.

            This bug is being closed due to a lack of engagement in the last four years, including no new watchers, votes, or comments; this inactivity suggests a low impact.

            Please note the comments on this thread are not being monitored.

            You can read more about our bug fix policy here and how we prioritize bugs.

            To learn more about our recent investments in Jira Data Center, please check our public roadmap and dashboards containing recently resolved issues, current work, and future plans.

            Kind regards,
            Jira Data Center

            Aakrity Tibrewal added a comment - Atlassian Update - 10 April 2025 Hi, At Atlassian, our goal is to ensure we’re providing the best experience for our customers. With our new Data Center strategy, Atlassian's focus is on security, compliance, and performance and is a key driver in prioritizing bugs. Closing the bugs that do not fall into those categories will allow us to focus on the ones in the most current versions of our products. This bug is being closed due to a lack of engagement in the last four years , including no new watchers, votes, or comments; this inactivity suggests a low impact. Please note the comments on this thread are not being monitored. You can read more about our bug fix policy here and how we prioritize bugs. To learn more about our recent investments in Jira Data Center, please check our public roadmap and dashboards containing recently resolved issues , current work, and future plans . Kind regards, Jira Data Center

            Gaven Ray added a comment -

            I just was alerted to this by a user. The screen shots show that when you click on the user it is adding more than just the JIRA username.
            JIRA 6.4.8
            JIRA Agile Version 6.7.12

            Gaven Ray added a comment - I just was alerted to this by a user. The screen shots show that when you click on the user it is adding more than just the JIRA username. JIRA 6.4.8 JIRA Agile Version 6.7.12

            Jeremy from support ticket wrote:

            I just downloaded the source for Jira Agile 6.7.12 and looked for the code that generates the broken link.

            In file greenhopper/src/main/resources/dashboarditem/sprinthealth/sprint-health.soy, line 220 generates the link using $assignee.name, which is the display name for the assignee.

            In file greenhopper/src/main/java/com/atlassian/greenhopper/service/sprint/health/SprintHealthServiceImpl.java, line 333 method getInvolvedAssigneesInSprint produces the list of assignees, but only provides each assignee's display name and avatar URL.

            So... while this may be a bit more than a five minute fix, it certainly is not that tough. I would have the method either produce a list with all three details (key, display name, avatar URL) for each assignee and pass that up the chain; or if that is not possible, produce a flat list of assignee keys and expand each into all of the details, maybe in the AssigneeModel method (see SprintHealthResource.java). Then the .soy file can use the assignee's key to produce the JQL.

            dlaser (Inactive) added a comment - Jeremy from support ticket wrote: I just downloaded the source for Jira Agile 6.7.12 and looked for the code that generates the broken link. In file greenhopper/src/main/resources/dashboarditem/sprinthealth/sprint-health.soy , line 220 generates the link using $assignee.name , which is the display name for the assignee. In file greenhopper/src/main/java/com/atlassian/greenhopper/service/sprint/health/SprintHealthServiceImpl.java , line 333 method getInvolvedAssigneesInSprint produces the list of assignees, but only provides each assignee's display name and avatar URL. So... while this may be a bit more than a five minute fix, it certainly is not that tough. I would have the method either produce a list with all three details (key, display name, avatar URL) for each assignee and pass that up the chain; or if that is not possible, produce a flat list of assignee keys and expand each into all of the details, maybe in the AssigneeModel method (see SprintHealthResource.java ). Then the .soy file can use the assignee's key to produce the JQL.

            Please update this issue:

            • Occurrence Factor — 100% for us. When managing accounts with an "Internal With LDAP Authentication" connector, the Assignee term is always Full Display Name (LoginId) so there are always spaces and parentheses every time.
            • Labels — Add the Premier Support label. (PS-4364)
            • Priority — Perhaps can be a notch higher? This is not a cosmetic typo; it is a broken link that generates an error message that many users cannot understand.

            Also please note that this is likely one of those "five-minute fixes" which is a great opportunity for Atlassian to show support for a product with a minimal amount of effort. The code that generates the JQL just needs to include the user's account key rather than their account display value.

            Thank you.

            Jeremy Frank added a comment - Please update this issue: Occurrence Factor — 100% for us. When managing accounts with an "Internal With LDAP Authentication" connector, the Assignee term is always Full Display Name (LoginId) so there are always spaces and parentheses every time. Labels — Add the Premier Support label. (PS-4364) Priority — Perhaps can be a notch higher? This is not a cosmetic typo; it is a broken link that generates an error message that many users cannot understand. Also please note that this is likely one of those "five-minute fixes" which is a great opportunity for Atlassian to show support for a product with a minimal amount of effort. The code that generates the JQL just needs to include the user's account key rather than their account display value. Thank you.

              Unassigned Unassigned
              dd47ae87e874 Leroy Camel
              Affected customers:
              2 This affects my team
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: