Migrating project keys

Benjamin Horst
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 24, 2012

Hello,

Did anyone find a good solution for changing Jira project keys including all their depended parts?

We are currently trying to migrate to Jira 4.4.4 from Jira 4.4.1. The problem we are facing is the new validator for project keys.

When we started with Jira 3.12 , the project keys had a default scheme which could be changed. There were no restrictions for those keys and we started to use "-" and "[0-9]". In Jira 4.4.1 those characters were discouraged but were still allowed, so we didn't change.

In Jira 4.4.4 however, there is a validator which contains hardcoded "bad characters" which are not allowed. Those include the "-". This leads to a serious problem with our >100 projects.

If we change the pattern on the db level (which is probably discouraged anyway), we can still use our old projects. As soon as the validator gets called, we'll get into a deadlock, though. It will tell us that "-" is not allowed, but we can't change to default pattern, because old projects don't follow it, so there is no valid key pattern we can enter.

We have written some code to replace the project names in the Export/Import XML and for changing the folder structure that Jira has built on the old keys. However there's references to those keys in some Jira issues and especially in our CVS tags, too. We'll probably find even more references in other software like Confluence, too. Those references will all be gone.

Backwards compatibility seemes to have been *slightly* neglected there...

2 answers

1 accepted

0 votes
Answer accepted
Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
January 24, 2012

Er, it's not "backwards compatibility", it's "not supporting something we told you not to do in the first place". From memory, the documentation has always said "don't use a - because it's already part of the key" since 3.0.3 came out.

I've seen all sorts of problems with allowing an extra "-" in project keys, and I suspect that's exactly why Atlassian have imposed a harder limit on it. I've always fixed it by migrating the broken projects back into A-Z and 0-9 format and then moving issues into projects with safer keys.

I think your fix to replace the export/import and hence move old projects to a safer formatted key is by far the best solution, it's very elegant. Sadly, as you say, there's no easy way to find references in the text fields or CVS tags. For text fields in Jira, you *might* be able to change the renderer that spots them and highlights them so that it knows to be a bit more clever with them, but with external stuff, I'm not sure it's so easy. If you've got urls though, I'd think about a little Apache wizardry, to make it rewrite abc-xyz-123 to abcxyz-123 maybe?

Benjamin Horst
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 24, 2012

Thank you for the hint with Apache, I'll look into that for the URLs in Jira at least.

As for older versions, I just looked up the old "configuring project keys" page and it didn't say anything about keys that shouldn't be used. But maybe it was written down somewhere else. It's been a while since we started. Here's the link:
http://www.atlassian.com/software/jira/docs/v3.12/project_keys.html

0 votes
Benjamin Horst
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 29, 2012

Just to finish this one: we went for the solution I outlined (writing a few scripts to change the filesystem and the export file) and decided against changing the comments. People will have to change their text fields if neccessary. The CVS history will be lost, though.

Suggest an answer

Log in or Sign up to answer