Details
-
Bug
-
Resolution: Fixed
-
High
-
9.0.0, 9.2.0, 9.1.1, 9.3.1, 9.4.3
-
9
-
58
-
Severity 2 - Major
-
121
-
-
Description
Issue Summary
After upgrading Jira 9.x, Jira events cannot be displayed (or partially displayed*) on the Team Calendars if the Jira ticket has special characters in its 'Description' field.
This problem occurs when the issue description area contains an enter character followed by a semicolon. It does not matter if additional characters exist between enter and semicolon characters. The bug can easily be reproducible when using only one entered character followed by a semicolon in the description area of the issues. However other special characters can cause the same issue which has not been identified yet.
Jira events are fetched to TC in batches. So, if one of the Jira tickets has a problematic character in its 'Description' field, all the events fetched in this batch are failed to be loaded in the UI. This explains why some of the tickets appear intermittently while moving back and forth through months in the calendar.
This is reproducible on Data Center: yes
Steps to Reproduce
- Instal Confluence and Jira (tested with Confluence 7.19.3/TC 7.3.21 and all Jira 9.x versions - 9.0.0, 9.1.1, 9.2.0, 9.3.1)
- Create Application Links between them.
- Create a Kanban project on the Jira
I used TP1 for my project key. So the following steps will use this project key. - Add the 'Due Date' field for the 'Story' issue type.
- Create a 'Story' issue
- Add today's date for the 'Due Date' field
- Add the below text for the 'Description' field:
||title-1|lorem ipsum| ||title-2|dummy; text| ||title-3| * lorem ipsum * dummy text| ||title-4|lorem ipsum: dummy text dolor sit|
- Save the issue.
- Navigate to Confluence and create a Calendar there.
- Click the button near the newly created calendar's name
- Click 'Add Event'
- Choose 'Jira Issue Dates' for 'Event Type'
- Select the relevant Jira server (it may automatically be chosen)
- Give a name to this event
- Choose JQL and enter the below JQL query:
project = TP1 AND issuetype = Story
- Choose 'Issue Due Date' from the 'Single Date' column that is displayed after entering the JQL query.
- Save the event.
Expected Results
The event should be displayed on the Team Calendars for the chosen 'Due Date' while creating the Jira Story issue.
Actual Results
The event is not visible on the Team Calendars UI.
If the DEBUG log is enabled for the com.atlassian.confluence.extra.calendar3 class the below error can be seen in the Confluence logs:
2022-11-11 13:19:47,566 WARN [http-nio-48090-exec-9 url: /rest/calendar-services/1.0/calendar/events.json; user: admin] [extra.calendar3.calendarstore.CalendarContentCacheLoader] load Could not load calendar content from cache key. Please enable DEBUG mode to see the error detail. -- referer: https://confluence.acme.com/calendar/mycalendar.action | url: /rest/calendar-services/1.0/calendar/events.json | traceId: 799cbb8899340289 | userName: admin 2022-11-11 13:19:47,566 DEBUG [http-nio-48090-exec-9 url: /rest/calendar-services/1.0/calendar/events.json; user: admin] [extra.calendar3.calendarstore.CalendarContentCacheLoader] load Could not load calendar content from cache key because of: -- referer: https://confluence.acme.com/calendar/mycalendar.action | url: /rest/calendar-services/1.0/calendar/events.json | traceId: 799cbb8899340289 | userName: admin net.fortuna.ical4j.data.ParserException: Error at line XXX:Expected [YY], read [ZZ] at net.fortuna.ical4j.data.CalendarParserImpl.assertToken(CalendarParserImpl.java:475) at net.fortuna.ical4j.data.CalendarParserImpl.access$700(CalendarParserImpl.java:56) at net.fortuna.ical4j.data.CalendarParserImpl$ParameterParser.parse(CalendarParserImpl.java:346) at net.fortuna.ical4j.data.CalendarParserImpl$ParameterParser.access$1900(CalendarParserImpl.java:324) at net.fortuna.ical4j.data.CalendarParserImpl$ParameterListParser.parse(CalendarParserImpl.java:319) at net.fortuna.ical4j.data.CalendarParserImpl$PropertyParser.parse(CalendarParserImpl.java:255) at net.fortuna.ical4j.data.CalendarParserImpl$PropertyParser.access$1100(CalendarParserImpl.java:230) at net.fortuna.ical4j.data.CalendarParserImpl$PropertyListParser.parse(CalendarParserImpl.java:216) at net.fortuna.ical4j.data.CalendarParserImpl$ComponentParser.parse(CalendarParserImpl.java:435) at net.fortuna.ical4j.data.CalendarParserImpl$ComponentParser.access$900(CalendarParserImpl.java:411) at net.fortuna.ical4j.data.CalendarParserImpl$PropertyListParser.parse(CalendarParserImpl.java:214) at net.fortuna.ical4j.data.CalendarParserImpl.parseCalendar(CalendarParserImpl.java:118) at net.fortuna.ical4j.data.CalendarParserImpl.parseCalendarList(CalendarParserImpl.java:184) at net.fortuna.ical4j.data.CalendarParserImpl.parse(CalendarParserImpl.java:153) at net.fortuna.ical4j.data.CalendarBuilder.build(CalendarBuilder.java:183) at net.fortuna.ical4j.data.CalendarBuilder.build(CalendarBuilder.java:171) at com.atlassian.confluence.extra.calendar3.calendarstore.DefaultJiraAccessor.getCalendarFromEndPoint(DefaultJiraAccessor.java:540)
Workaround
For the above example the semicolon (;) character is causing this parse error:
||title-2|dummy; text|
After removing this character, the issue can be visible on the Team Calendars UI.
Attachments
Issue Links
- relates to
-
JRASERVER-74528 Team Calendars cannot display the assignee of the Jira Issue event when the Jira Description field contains a newline character on Jira 9.x
- Gathering Impact
- mentioned in
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
- resolves
-
CSP-315222 Loading...