Adding a field to a Screen tab throws java.lang.IndexOutOfBoundsException
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
Problem
An error is thrown in JIRA UI when trying to add a field to a Screen tab.
The JIRA Server was contacted but has returned an error response. We are unsure of the result of this operation.
The following appears in the atlassian-jira.log
2018-03-19 06:32:34,156 http-nio-18080-exec-22 ERROR USER 392x329039x5 USERA 10.207.101.159 /rest/api/2/screens/2/tabs/31307/fields [c.a.j.rest.exception.ExceptionInterceptor] Returning internal server error in response
java.lang.reflect.InvocationTargetException
.......
Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at com.atlassian.jira.issue.fields.screen.FieldScreenImpl.getTab(FieldScreenImpl.java:87)
at com.atlassian.jira.action.screen.AddFieldToScreenUtilImpl.getTab(AddFieldToScreenUtilImpl.java:114)
at com.atlassian.jira.action.screen.AddFieldToScreenUtilImpl.validate(AddFieldToScreenUtilImpl.java:49)
at com.atlassian.jira.rest.v2.issue.ScreensResource.addField(ScreensResource.java:415)
... 267 more
Diagnosis
Gathering the below SQL result might provide further insights into what happened.
SELECT * FROM fieldscreentab INNER JOIN fieldscreen ON (fieldscreentab.FIELDSCREEN = fieldscreen.ID) WHERE fieldscreen.NAME = '<AffectedScreen>';
Replace <AffectedField> with the correct affected field name.
- It appears that the ArrayList return was missing the Tab for the affected Screen in which the user tries to add a field into.
- There were duplicate sequence value in SEQUENCE column of fieldscreentab table.
Cause
The cause is unclear at this point to why the Tab of the affected Screen is missing from the list.
Workarounds
Workaround A:
- Create a new tab
- Add a field to this new tab
- Drag and drop the field from new tab to the affected tab
This should resolve the error, adding new fields to the affected tab after doing the above will work.
Workaround B:
In some cases simply creating a new tab might resolve the issue