Legacy link fixing: After a successful Server to Cloud Migration, URL links are broken in the new Cloud instance

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform Notice: Cloud, Server, and Data Center - This article applies equally to all platforms.

Support for Server* products will end after 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

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 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 is a result of the product differences between Atlassian Server URLs and the Atlassian Cloud URL structures. In addition to this, some content objects don't 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.


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: 

  1. Previous Base URL of Jira Server
  2. Jira Server ID:
    1. Log in as a user with the Jira System Administrators global permission.
    2. From the top navigation bar select Administration  > System.  Select System info on the left menu to open the System info page.
    3. The Server ID is displayed in the Jira Info section of the page.
  3. Previous Base URL of Confluence Server
  4. Confluence Server ID:
    1. Log in as a Confluence administrator
    2. Click on the Settings icon and choose General Configuration
    3. Click on the License Details link (under ‘Administration’)
    4. Your Server ID is listed in the Server ID field
  5. 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 LinkLocationExample (when applicable)
Confluence links Referencing Page ID in ConfluenceConfluence - Current Page (Body)https://confluence.acmecorp.com/pages/view.action?pageId=123456
Confluence links Referencing Page Title in ConfluenceConfluence - Current Page (Body)https://confluence.acmecorp.com/wiki/spaces/ACME/pages/123456/Hello+World
Confluence links with Page Title ("Pretty") Format in ConfluenceConfluence - Current Page (Body)https://confluence.acmecorp.com/display/SPACEKEY/Page+Title
Confluence Tiny URLs in ConfluenceConfluence - Current Page (Body)https://confluence.acmecorp.com/x/a4OcE
Confluence attachment links in ConfluenceConfluence - Current Page (Body)https://confluence.acmecorp.com/download/attachments/123456
Jira Issue links in ConfluenceConfluence - 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 links Referencing Page ID in Jira issues
  • Jira issue - Descriptions
  • Jira issue - Comments
  • Jira issue - Custom Fields (textfield)
https://confluence.acmecorp.com/pages/view.action?pageId=123456
Confluence links Referencing Page Title in Jira issues
  • Jira issue - Descriptions
  • Jira issue - Comments
  • Jira issue - Custom Fields (textfield)
https://confluence.acmecorp.com/wiki/spaces/ACME/pages/123456/Hello+World
Confluence pages linked to Jira issues via Remote LinksJira issue - "mentioned on" Confluence pages panelhttps://confluence.acmecorp.com/pages/view.action?pageId=123456
ConfluencelLinks with Page Title ("Pretty") Format in Jira issues
  • Jira issue - Descriptions
  • Jira issue - Comments
  • Jira issue - Custom Fields (textfield)
https://confluence.acmecorp.com/display/SPACEKEY/Page+Title
Confluence Tiny URLs in Jira issues
  • Jira issue - Descriptions
  • Jira issue - Comments
  • Jira issue - Custom Fields (textfield)
https://confluence.acmecorp.com/x/a4OcE
Jira Issue links in Jira issues
  • Jira issue - Descriptions
  • Jira issue - Comments
  • Jira issue - Custom Fields (textfield)
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

Not Supported

Any link type or location that is not listed under Supported list above is not supported.

Other Notes

There are several feature requests currently open over natively handling such URL transformations: 

MIG-42 - Getting issue details... STATUS

MIG-98 - Getting issue details... STATUS

MIG-449 - Getting issue details... STATUS





Last modified on Aug 3, 2023

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.