Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Redirecting from Server to Cloud - which URLs to handle?

We're about to start migrating projects from our Jira Server to Jira Cloud. Since this is going to be a gradual process, I want to configure our Apache front-end with redirect rules to handle the projects that have been moved.

I wrote a similar script for Confluence (linaro-its/confluence-space-redirects ( but Jira looks like a bigger challenge.

I'm therefore trying to come up with the different types of URL that Jira uses in order to then create the appropriate redirects.

So far, I've got:

  • Individual issues. /browse/<issue reference>
  • All issues in a project. /projects/<project key>/issues/<issue reference>
  • Project configuration. /projects/<project key>?<something>
  • Backlog. /secure/RapidBoard.jspa?rapidView=<board ref>&view=planning.nodetail
  • Kanban. As for backlog but without the view specified

I know that some of the URLs are also specific to plugins like Structure.

Anyone got any other useful URLs that I need to try to capture?


1 answer

0 votes
Brant Schroeder Community Leader May 19, 2021

@Philip Colmer I would suggest making the issues read-only in the projects that have been moved.  Then if you miss anything the users would know as they can not do anything on those issues.  You would then be able to update your redirect list. 

Hi @Philip Colmer —I'm facing a similar situation: one of our open source projects has asked about URL redirects from their existing Server instance to the cloud.  (The project has been using Jira for 13 years and they want to be sure all of the links scattered around mailing list archives, documentation notes, and elsewhere are still valid.)  Did you find a solution?

@Peter Murray I'm sorry but I didn't. I did come up with a set of rules that worked for a test project (see below) but I couldn't be sure that it was 100% complete partly because of how plugins on Jira can add to the variety of routes into what you can see on a project.

Another issue for me, compared with Confluence, was the challenge of dealing with partial migrations. The challenge here was that we were migrating projects individually so that there was an opportunity to clean up a bit before moving on to the next project. The problem is that Jira often handles mouse clicks *within the browser*. In other words, you click on a URL but the browser doesn't go off to the server to request that URL. Instead, Jira "hijacks" the click, figures out where you are going and takes you there straight away. That problem means that redirect rules at the web server level didn't always get actioned because the request didn't get to the server. Of course, if you've completed the migration, that isn't an issue.

Sorry I can't be of more help.

RewriteCond "%{QUERY_STRING}" "^rapidView=252&projectKey=ITS&view=reporting&chart=controlChart&useStoredSettings=true"
RewriteRule "^/secure/RapidBoard\.jspa" "
rt-page" [R=301,END]

RewriteCond "%{QUERY_STRING}" "^projectKey=ITS&rapidView=252&view=(planning|planning.nodetail)$"
RewriteRule "^/secure/RapidBoard\.jspa" "
ail" [R=301,END]

RewriteCond "%{QUERY_STRING}" "^projectKey=ITS&rapidView=252$"
RewriteRule "^/secure/RapidBoard\.jspa" "" [R=301,END]

RewriteCond "%{QUERY_STRING}" "^rapidView=252&projectKey=ITS&view=(planning|planning.nodetail)(&issueLimit=100)?$"
RewriteRule "^/secure/RapidBoard\.jspa" "
ail%2" [R=301,END]

RewriteCond "%{QUERY_STRING}" "^rapidView=252&projectKey=ITS(&selectedIssue=ITS-[0-9]*)?$"
RewriteRule "^/secure/RapidBoard\.jspa" "" [R=301,END]

RewriteCond "%{QUERY_STRING}" "^rapidView=252(&view=planning.nodetail&issueLimit=100)$"
RewriteRule "^/secure/RapidBoard\.jspa" "" [R=301,END]

RewriteCond "%{QUERY_STRING}" "^rapidView=252(&selectedIssue=ITS-[0-9]*)?$"
RewriteRule "^/secure/RapidBoard\.jspa" "" [R=301,END]

RewriteRule "^/browse/ITS(-[0-9]+)?$" "$1" [R=301,END]

RewriteCond "%{QUERY_STRING}" "^(.+)$"
RewriteRule "^/projects/ITS/issues/ITS(-[0-9]+)$" "$1?%1" [R=301,END]

RewriteRule "^/projects/ITS/issues$" "" [R=301,END]

RewriteCond "%{QUERY_STRING}" "^(.+)$"
RewriteRule "/projects/ITS" "" [R=301,END]
Like Peter Murray likes this

Argh!  Okay, thanks for the advice and insights.  Fortunately, I have just one Jira project to move, so that simplifies my life a little bit.


Much appreciated, @Philip Colmer

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Jira

Do you use Jira Cloud with Microsoft Teams?

Hi, Jira users! Do you use Jira alongside Microsoft Teams? We want to hear how you’ve used the power of Jira Cloud and Microsoft Teams (via the Jira Cloud for Microsoft Teams app) to achieve a team...

527 views 1 9
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you