After a successful Server to Cloud Migration, URL links are broken in the new Cloud instance
Platform Notice: Cloud, Server, and Data Center - This article applies equally to all platforms.
Summary
After migrating Jira Server and Confluence Server to the Atlassian Cloud, URL links appear broken as the links are still referencing the old server URLs.
Environment
Atlassian Cloud, recently migrated from Jira Server and/or Confluence Server
Cause
This issue surfaced as a cause of the product differences between Atlassian Server URLs and the Atlassian Cloud URL structures. In addition to this, some content objects do not retain the same primary key as they had in Server (for example: Page IDs for Confluence). Current migration tooling does not handle fixing these links natively and so a post-migration task is needed to update these references in bulk. The Atlassian Migration Support team can provide assistance for running these link fixes as part of post-migration tasks.
Solution
As this is a time-consuming and manual task, we execute the link-fixing procedure exclusively after Production migrations, during business hours in your support region.
Before asking Atlassian Support to execute these link fixes, please run the JIRA Macro Repair tool on the following URL:
<YourSiteName>.atlassian.net/wiki/admin/jim-validator/view.action
Migration support will need to collect some needed information in order to run the necessary updates:
- Previous Base URL of Jira Server
- Jira Server ID:
- Log in as a user with the Jira System Administrators global permission.
- From the top navigation bar select Administration > System. Select System info on the left menu to open the System info page.
- The Server ID is displayed in the Jira Info section of the page.
- Previous Base URL of Confluence Server
- Confluence Server ID:
- Log in as a Confluence administrator
- Click on the Settings icon and choose General Configuration
- Click on the License Details link (under ‘Administration’)
- Your Server ID is listed in the Server ID field
- Mapping of Page IDs from Confluence Server which can be fetched via this database query:
SELECT c.title,
c.contentid,
s.spacekey
FROM content c
JOIN spaces s ON s.spaceid=c.spaceid
WHERE c.contenttype='PAGE'
AND c.prevver IS NULL
AND c.content_status='current'
AND c.title !=''
AND c.title IS NOT NULL
ORDER BY s.spacekey, c.title;
SELECT c.title,
c.contentid,
s.spacekey
FROM CONTENT c
JOIN SPACES s ON s.spaceid=c.spaceid
WHERE c.contenttype='PAGE'
AND c.prevver IS NULL
AND c.content_status='current'
AND c.title !=''
AND c.title IS NOT NULL;
SELECT c.TITLE,
c.CONTENTID,
s.SPACEKEY
FROM CONTENT c
JOIN SPACES s ON s.SPACEID=c.SPACEID
WHERE c.CONTENTTYPE='PAGE'
AND c.PREVVER IS NULL
AND c.CONTENT_STATUS='current'
AND c.TITLE !=''
AND c.TITLE IS NOT NULL;
SELECT C.TITLE,
C.CONTENTID,
S.SPACEKEY
FROM CONTENT C
JOIN SPACES S ON (S.SPACEID = C.SPACEID)
WHERE C.CONTENTTYPE='PAGE'
AND C.PREVVER IS NULL
AND C.CONTENT_STATUS = 'current'
AND LENGTH (C.TITLE) > 0;
- Please provide the SQL results as a comma separated CSV file.
- By providing the above metadata from the Confluence Source instance, Migration Support will be able to build a one-to-one mapping of the old content IDs to their new counterpart IDs in Atlassian Cloud to run the replaces in bulk.
- Formatting Details to create CSV :
- While creating the CSV Please make sure the encoding must be UTF-8. You can confirm this by using a text editor.
- The scripts rely on a comma “,” as the delimiter. If the CSV contains commas within the title, make sure the title is contained in quotes.
- Quotes within the title. If the title column also contains quotes for words within the title, make sure to escape those. Use a text editor extension or Google Sheets to verify the columns align with the CSV.
- End of Line Sequence. The correct sequence should be LF. Use a text editor to validate this and update to LF if the file is set to CRLF.
Glossary of Types of Links Resolved by Atlassian Support
Supported
Type of Link | Example (when applicable) |
---|---|
Confluence Server Links Referencing Page ID | https://confluence.acmecorp.com/pages/view.action?pageId=123456 |
Confluence Server Links Referencing Page Title | www.acme-confluence.com/wiki/spaces/ACME/pages/123456/Hello+World |
Confluence Server Links nested in Jira Server Ticket Descriptions, Comments | Links may vary |
Confluence Server Links linked to Jira Tickets via Remote Links that appear as "mentioned on" | Links may vary |
Confluence Server Links with Page Title ("Pretty") Format | https://confluence.acmecorp.com/display/SPACEKEY/Page+Title |
Confluence Tiny URLs | https://confluence.acmecorp.com/x/a4OcE |
Jira Issue Links nested in Confluence Body Content of Pages | https://www.acme-jira.com/browse/ACME-1 https://www.acme-jira.com/projects/ACME/issue/ACME-1 https://www.acme-jira.com/issues/ACME |
Jira Issue Links Nested in Other Jira Issue Descriptions | https://www.acme-jira.com/browse/ACME-1 https://www.acme-jira.com/projects/ACME/issue/ACME-1 https://www.acme-jira.com/issues/ACME |
Confluence Links Embedded in Jira Sprint Reports | |
Jira macros on Confluence pages | Customer/Partner to run Jira macro repair first. If this doesn't solve the issue, involve the migration support team. |
Not supported
Type of Link | Example (when applicable) |
---|---|
Confluence links containing anchors and other customizations | http://myconfluence.com/display/spacekey/Page+name#pagename-anchorname |
Links on calendar events | |
Historical pages | |
Blogposts |
Other Notes
There are several feature requests currently open over natively handling such URL transformations:
- MIG-42Getting issue details... STATUS
- MIG-98Getting issue details... STATUS
- MIG-237Getting issue details... STATUS
- MIG-449Getting issue details... STATUS
- CONFCLOUD-74731Getting issue details... STATUS