Legacy link fixing: After a successful migration to Cloud, URL links are broken in the new Cloud instance
Platform Notice: Cloud - This article applies to Atlassian products on the cloud platform.
This page is obsolete for most cases
This page describes a legacy way of requesting link fixing after the migration. You should use this page instead: After a successful server to cloud migration URL links are broken in the new cloud instance
If you were sent here by our Support team or the main procedure didn't work for you, you can follow the steps described here.
Summary
After migrating the Jira Server and Confluence Server to the Atlassian Cloud or migrating from Atlassian Cloud to Atlassian Cloud, URL links appear broken as the links are still referencing the source URLs.
Environment
Atlassian Cloud, recently migrated from Jira Server and/or Confluence Server or from a different Atlassian Cloud site
Cause
Current migration tooling does not handle fixing these links natively so a post-migration task is needed to update these references in bulk. Some content objects don't retain the same ID values as they had on the source (for example: Page IDs for Confluence). The Atlassian Migration Support team can provide assistance for running these link fixes as part of post-migration tasks.
Broken Macros
Broken Jira macros are different from the types of links described on this page. To resolve broken macros, please run the JIRA Macro Repair tool on the following URL: <YourSiteName>.atlassian.net/wiki/admin/jim-validator/view.action
For more details on the Jira macro repair tool, refer to Using the Jira Macro Repair. If this doesn't correct the issue, please reach out to the migration support team.
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.
Migration support will need to collect some needed information in order to run the necessary updates:
- Previous Base URL of Jira Instance.
- Jira Server ID:
- Log in as a user with the Jira System Administrator 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 Instance
- 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
- For server-to-cloud migrations only, generate a mapping of Page IDs from the 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
Our current fixes will only update the link types listed below. If the Page ID of a Confluence page is present in the link, it will be updated to the current page in Atlassian Cloud. Link patterns that are not listed, as well as links that include ID values for Jira or Confluence entities, will not be updated. The table below provides examples of links that are supported because either they don't contain any ID value or they only include a Page ID value.
Type of Link | Location | Example (when applicable) |
---|---|---|
Confluence links Referencing Page ID in Confluence | Confluence - Current Page (Body) | https://confluence.acmecorp.com/pages/view.action?pageId=123456 |
Confluence links Referencing Page Title in Confluence | Confluence - Current Page (Body) | https://confluence.acmecorp.com/wiki/spaces/ACME/pages/123456/Hello+World |
Confluence links with Page Title ("Pretty") Format in Confluence | Confluence - Current Page (Body) | https://confluence.acmecorp.com/display/SPACEKEY/Page+Title |
Confluence Tiny URLs in Confluence | Confluence - Current Page (Body) | https://confluence.acmecorp.com/x/a4OcE |
Confluence attachment links in Confluence | Confluence - Current Page (Body) | https://confluence.acmecorp.com/download/attachments/123456 |
Confluence links to labels in Confluence | Confluence - Current Page (Body) | https://confluence.acmecorp.com/label/ABC/text |
Jira Issue links in Confluence | Confluence - Current Page (Body) | 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 edit page links Referencing Page ID in Confluence | Confluence - Current Page (Body) | https://confluence.acmecorp.com/pages/editpage.action?pageId=123456 |
Confluence links Referencing Page ID in Jira issues |
| https://confluence.acmecorp.com/pages/view.action?pageId=123456 |
Confluence links Referencing Page Title in Jira issues |
| https://confluence.acmecorp.com/wiki/spaces/ACME/pages/123456/Hello+World |
Confluence pages linked to Jira issues via Remote Links | Jira issue - "mentioned on" Confluence pages panel | https://confluence.acmecorp.com/pages/view.action?pageId=123456 |
ConfluencelLinks with Page Title ("Pretty") Format in Jira issues |
| https://confluence.acmecorp.com/display/SPACEKEY/Page+Title |
Confluence Tiny URLs in Jira issues |
| https://confluence.acmecorp.com/x/a4OcE |
Jira Issue links in Jira issues |
| 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 to labels in Jira |
| https://confluence.acmecorp.com/label/ABC/text |
Confluence edit page links Referencing Page ID in Jira |
| https://confluence.acmecorp.com/pages/editpage.action?pageId=123456 |
Not Supported
Any link type or location that is not listed under Supported list above is not supported. In addition, any historical page, draft, or blog post is also not in the scope of these fixes.
Other Notes
There are several feature requests currently open over natively handling such URL transformations:
- MIG-1626 - Link Fixing doesn't fix Confluence links with additional characters in the link
- MIG-1625 - Link Fixing doesn't fix Jira links with additional characters after the link
- MIG-1519 - Link fixing following site renames
- MIG-1432 - Link fixing does not fix URL thumbnails
- MIG-1616 - Link Fixing Doesn't fix links contained in Environment system field
- MIG-1487 - Link fixing should support Space Import migration
- MIG-1499 - Post Migration Link Fixing should be able to address multiple source URLs
- MIG-1458 - Links are broken after cloud to cloud migration
- MIG-1627 - Confluence links to labels are not updated post migration