How to change the customfield ID?

xinan liu May 10, 2015

I have two JIRA instances, and I need to make both JIRA have the same CF, screen, workflow and so on so that I can use a tool to make synchronization with them.

But I am facing a big problem.

JIRA's CF ID was generated in a strange way. The next new CF ID may be 10801 or 10900, so I can hardly make them be the same.
Than I tried to modify it by SQL server.

I change the table  [JIRA].[jira_schema].[customfield]'s ID. Them the CF's "Available Context(s)" will be null, then I have to create a new "Configuration Scheme" to make the CF can be seem by everyone.

Then I found some other table was associated with this table. Just like [JIRA].[jira_schema].[fieldconfiguration], JIRA].[jira_schema].[fieldconfigscheme]. If I change the CF ID, I have to change this two tables too. Then I have to modify the [JIRA].[jira_schema].[customfieldoption] to make sure the select list CF have the same option ID.

If I change too much, the JIRA will crash when Indexing. It's really terrible.

Is there a good way to change the customfield ID? Or is there a good way to make both JIRA have the same CF, screen?

Thanks very much!

3 answers

1 accepted

1 vote
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.
May 10, 2015

It's a lot more complex than what you've found here.  Changing the ID of a custom field in the database is a recipe for a disaster - you have to know exactly where it might be used and check and change all those places.  You've found three, I can rattle off 11 and I know I'm missing some more. 

General advice - if you ever think "I'll change the database" is a solution to an issue you have with JIRA, you are almost certainly wrong.  Don't do it.

Step back from this approach and explain what you mean by "synchronise" and what you are trying to achieve and we can try to guide you through better options than botching ids.

xinan liu May 12, 2015

Thanks, I konw it's really not a good way to change the DB directly. Some elements seemed can be changed with no sideeffects, just like the [JIRA].[jira_schema].[customfieldoption], I added some values and it works. The synchronise tools need both JIRA have the same CF ID, CF optiopn ID ([CUSTOMFIELDCONFIG]) , same workflow transiton ID and the same screen ID. If the CF ID is different, the tools can not work (use ID to locate the CF is the right way). Or I have to use the different ID mapping, but this will be more complicated fot the plugin development and hard to use for another JIRA instance. That's the situation I am facing, how can I do that?

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.
May 12, 2015

You seriously need to stop trying to synchronise the ids. Even your comment "changed with no side effects" is probably wrong - I can think of two things that could break spectacularly as a result of that change unless you've also made matching changes in other places. Using the ID to match options is absolutely the wrong way to attempt this. Please, stop now before you destroy your JIRA.

1 vote
MattS
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.
May 11, 2015

Your sync tool will need to get the two sets of field ids and pair them up. Don't assume you can make the field ids match

1 vote
Chris Volker May 11, 2015

I agree with the comments above.  For our similar situation we have used is to use a plugin as a solution called Configuration Manager, since it is essential to keep the Field ID's the same across the instances.  We snapshot the one instance (or projects) from our "DEV" or test environment, then move the changes to our second and third instances.  Once we have a "final" project we can "refresh" it back to the "DEV" environment for testing, further development and still maintain consistency.  Each environment is reindexed as needed. This may help you as a possible alternative as you research a solution.

xinan liu May 12, 2015

Wow it's a good plugin which can keep the CF ID's the same. But it is not a cheap plugin. Did you know other plugin or some other way can keep the ID the same? Thanks for answering!

Chris Volker May 13, 2015

Hi Xinan, I'm not aware of anything else quite like it in Marketplace at this time. There are a couple will move projects, but I'm not sure if you will retain the ID like this one does. It does include a integrity check function which will tell you if there are issues with the fields and ID's mismatching.

Melinda Bajai December 20, 2017

Hi Chris,

How do you keep the Field IDs the same across instances using the Configuration Manager? What are the steps that you follow?

Thanks!

Suggest an answer

Log in or Sign up to answer