Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Script Runner - How to add a field on screen

Radhika Shinde February 1, 2023

How can I add a field on a project's field configuration and on the screens.

1 answer

0 votes
Tuncay Senturk _Snapbytes_
Community Champion
February 5, 2023

Hi @Radhika Shinde 

I can't say I 100% understood your post but I think you can start with the below code.

 

import com.atlassian.jira.component.ComponentAccessor 
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.fields.screen.FieldScreen
import com.atlassian.jira.issue.fields.screen.FieldScreenTab
import com.atlassian.jira.issue.fields.screen.FieldScreenScheme
import com.atlassian.jira.issue.fields.screen.FieldScreenSchemeManager
import com.atlassian.jira.util.ErrorCollection

CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager()
CustomField customField = // your custom field to add to the screen

FieldScreenSchemeManager fieldScreenSchemeManager = ComponentAccessor.getComponent(FieldScreenSchemeManager.class)
FieldScreen fieldScreen = fieldScreenSchemeManager.getFieldScreen(FieldScreen.DEFAULT_SCREEN_ID)
// Get field screen tab (assuming you have only one tab or add to the default tab)
FieldScreenTab fieldScreenTab = fieldScreen.getTab(0)
// Add custom field to field screen tab
fieldScreenTab.addFieldScreenLayoutItem(customField.getId())
// Update field screen
fieldScreenSchemeManager.updateFieldScreen(fieldScreen)

List<FieldScreenScheme> fieldScreenSchemes = fieldScreenSchemeManager.getFieldScreenSchemes()
// add custom field to each scheme
for (FieldScreenScheme scheme : fieldScreenSchemes) {
scheme.addFieldScreen(fieldScreen)
ErrorCollection errorCollection = fieldScreenSchemeManager.updateFieldScreenScheme(scheme)
if (errorCollection.hasAnyErrors()) {
log.error(
"Error adding custom field to field screen scheme: " + errorCollection.getErrorMessages())
}
}


Bhakti Prasad Panda September 29, 2023

Hello @Tuncay Senturk _Snapbytes_ ,

Check your code once. I don't think this is a right code.

Tuncay Senturk _Snapbytes_
Community Champion
September 29, 2023

Hi @Bhakti Prasad Panda 

Thanks for your message, why do you think it is not the right code?

Bhakti Prasad Panda September 29, 2023 edited

Hello @Tuncay Senturk _Snapbytes_ ,

Please put the code in script console of scriptrunner. It will show you the errors.

We are using Jira 9.4.7 and i hope you're using the same so if you can refer below Java APIs, you won't find the methods (you've used in your code) in the article:

https://docs.atlassian.com/software/jira/docs/api/9.4.7/com/atlassian/jira/issue/fields/screen/FieldScreenSchemeManager.html

The methods are available in FieldScreenManager i suppose:

https://docs.atlassian.com/software/jira/docs/api/9.4.7/com/atlassian/jira/issue/fields/screen/FieldScreenManager.html

I would be glad too if i am wrong in here :) but just got this observation.

Tuncay Senturk _Snapbytes_
Community Champion
September 29, 2023

Yes, you are right, this is quite old version I suppose. They (FieldScreenSchemeManager) need to be changed (to FieldScreenManager)

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
SERVER
VERSION
8.20.11
TAGS
atlassian, mindful member, mindful member badge, atlassian community, community kudos, community giveaway, atlassian swag, community values, empathy and kindness, badge challenge, atlassian learning, community engagement, swag giveaway

Earn a Badge, Win a Prize 🎁

Earning the Mindful Member badge proves you know how to lead with kindness, plus it enters you into a giveaway for exclusive Atlassian swag. Take the quiz, grab the badge, and comment on our announcement article to spread the good vibes!

Start here
AUG Leaders

Atlassian Community Events