Hi,
we are having a custom field , based on that we are sending mail & updating the customfield via script runner , but sometimes if user manually update the customfield our scriptrunner not able to send email ,is there any option available in scriptedfield to check that scripted customfield can be updated only by Jiraadmins ?.
Customfield update is not done based on transition , scriptrunner script executes as Jiraadmin user .
Hi vijay,
So you ask if there is a way to add a "condition" in the scripted field to check if the user who updates the issue, (and the updated field is 'connected' with scripted field) is an admin user. Unfortunately you cannot do that in your - responsible for the scripted field - script. Also the scripted fields cannot be updated directly but only via the fields that are 'connected' to it.
Therefore your question and please correct me if I am wrong, is how to allow only admins to edit specific fields in an issue and again this is not possible.
A workaround I can think is to associate a behaviour to the "suspicious" fields and make them read only if the user is not an administrator, for example
import com.atlassian.jira.component.ComponentAccessor def groupManager = ComponentAccessor.getGroupManager() def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser() def field = getFieldByName("a field name") field.setReadOnly(true) if (groupManager.isUserInGroup(currentUser, "jira-administrators")) { field.setReadOnly(false) }
Hope that helps, somehow...
Regards
Hi Vijay,
I have enclosed below a sample Behaviour script which can be applied to the field read only. The script will check to see if the current user is in a group such as the jira-administrators group and if the user is in the administrators group then it will make the field writeable else it will be read only for all other users.
Below I have attached the code and config needed.
This code was developed and tested on JIRA 6.4.12 using ScriptRunner 4.1.3.10.
Code:
import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.user.util.UserUtil // Get pointers to the custom field(s) required def cf = getFieldByName("Demo Text Field") // Get the current logged in user def user = ComponentAccessor.getJiraAuthenticationContext().getUser().name // Get a pointer to the admin group UserUtil userUtil = ComponentAccessor.getUserUtil() def group = userUtil.getGroupObject("jira-administrators") // By default make the field read only cf.setReadOnly(true) if(userUtil.getGroupsForUser(user).contains(group)){ // If the user is in the restricted groups field then show the field(s) cf.setReadOnly(false) }
Config:
image2016-4-8 11:20:51.png
I hope this helps.
Kristian
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.