Translating JIRA Agile Custom Fields

Still need help?

The Atlassian Community is here for you.

Ask the community


Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

Support for Server* products ended on 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

Please ensure that a backup has been done prior to the changes above. The above modification are not guaranteed to be supported by Atlassian and any changes should be done in own risk

Problem

When using the language package from https://translations.atlassian.com/, you might not have the Custom Fields translated. Custom Fields are translated to different languages as explained in the following documentation: Translating a custom field . However, this is not possible with JIRA Agile Custom Fields as these are locked Fields.

Resolution

  1. Unlock all the JIRA Agile Custom Fields that you want to translate using the method shown below

    1. Run the following query via database to determine the JIRA Software custom field IDs

      SELECT id,customfieldtypekey,cfname from customfield where customfieldtypekey like 'com.pyxis.greenhopper.jira%';

      It should return a result like the following:

        id   |                         customfieldtypekey                         |         cfname
      -------+--------------------------------------------------------------------+-------------------------
       10204 | com.pyxis.greenhopper.jira:gh-global-rank                          | Rank
       10205 | com.pyxis.greenhopper.jira:gh-sprint                               | Sprint
       10206 | com.pyxis.greenhopper.jira:gh-epic-link                            | Epic Link
       10207 | com.pyxis.greenhopper.jira:gh-epic-label                           | Epic Name
       10208 | com.pyxis.greenhopper.jira:gh-epic-status                          | Epic Status
       10209 | com.pyxis.greenhopper.jira:gh-epic-color                           | Epic Colour
       10211 | com.pyxis.greenhopper.jira:greenhopper-releasedmultiversionhistory | Release Version History
    2. You will have to match the id of the field you want to unlock with the according entry in managedconfigurationitem table's item_id column.

      SELECT * from managedconfigurationitem;
        id   |      item_id      |  item_type   | managed | access_level |                       source                       |      description_key
      -------+-------------------+--------------+---------+--------------+----------------------------------------------------+----------------------------
       10000 | customfield_10204 | CUSTOM_FIELD | true    | LOCKED       | com.pyxis.greenhopper.jira:reference-select-locked | gh.customfield.locked.desc
       10001 | customfield_10205 | CUSTOM_FIELD | true    | LOCKED       | com.pyxis.greenhopper.jira:reference-select-locked | gh.customfield.locked.desc
       10002 | customfield_10206 | CUSTOM_FIELD | true    | LOCKED       | com.pyxis.greenhopper.jira:reference-select-locked | gh.customfield.locked.desc
       10003 | customfield_10207 | CUSTOM_FIELD | true    | LOCKED       | com.pyxis.greenhopper.jira:reference-select-locked | gh.customfield.locked.desc
       10004 | customfield_10208 | CUSTOM_FIELD | true    | LOCKED       | com.pyxis.greenhopper.jira:reference-select-locked | gh.customfield.locked.desc
       10005 | customfield_10209 | CUSTOM_FIELD | true    | LOCKED       | com.pyxis.greenhopper.jira:reference-select-locked | gh.customfield.locked.desc
    3. You will need to set the managed column to false of any field you want to unlock. For example, the below will unlock Epic Status and Epic Colour:

      UPDATE managedconfigurationitem set managed='false' where item_id in ('customfield_10208','customfield_10209');

      Note: After the above change the 'access_level' column will remain with the 'LOCKED' value, but the custom fields will be unlocked from the UI.

  2. Go back to the UI and you shall be able to translate the Agile Custom Fields as usual using this documentation:Translating a custom field
  3. Then open any Issue that has the Agile Custom Field that you just translated and you shall see that it is now using the Translated value.

  4. Lock back the Agile Custom Fields that you just unlocked. To Lock the fields that were unlocked by setting the managed column to true. For example, the below will lock Epic Status and Epic Colour:

     UPDATE managedconfigurationitem set managed='true' where item_id in ('customfield_10208','customfield_10209');

    These fields will be locked again on startup by automated tasks within plugins.



Last modified on Aug 30, 2022

Was this helpful?

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