Team Calendars: Subscribing calendar by URL fails with the error "Unable to read specified calendar."
Platform Notice: Data Center Only - This article only applies to Atlassian apps on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
Problem
Attempting to subscribe an external ICS calendar in Team Calendar fails when the ics file is stored on a web server with an invalid or self-signed SSL certificate.
Go To Calendars
Select Subscribe by URL
Fill out the form presented providing at least the required parameters:
Name
Url
Related Space
Expected result:
ICS Calendar is correctly subscribed and the related events appear in Team Calendar.
Actual Result:
The form displays the error Unable to read specified calendar.
Diagnosis
Accessing the ICS calendar URL using a web browser highlight that the connection is using an invalid certificate with a message similar to the one below:
⚠️ Your connection is not private Attackers might be trying to steal your information (for example, passwords, messages, or credit cards). Learn more NET::ERR_CERT_AUTHORITY_INVALID
Confluence application log show entries like the following ones which do not provide a clear explanation of the error:
2023-06-14 10:57:55,878 INFO [http-nio-27137-exec-10 url: /confluence/rest/calendar-services/1.0/calendar/subcalendars.json; user: confluence_admin] [calendar3.rest.Interceptors.TeamCalResourceLoggingInterceptor] intercept Invoking rest endpoint [AbstractSubResourceMethod(CalendarResource#updateSubCalendar)] via http method [PUT]
2023-06-14 10:57:55,906 INFO [http-nio-27137-exec-10 url: /confluence/rest/calendar-services/1.0/calendar/subcalendars.json; user: confluence_admin] [calendar3.rest.resources.CalendarResource] updateSubCalendar Calendar with name [cal[ for user [] has been create successfullyCause
The connection with the web server providing the ICS calendar fails because an invalid SSL certificate is presented during the SSL handshake.
Solution
To resolve the problem replace the invalid SSL certificate on the HTTP server, serving the ICS calendar file, with a valid one signed by a trusted CA. Below the links to the documentation of Apache HTTP Server and Nginx, if you are using a different product please refer to its documentation.
Was this helpful?