Dear all,
I have the following script which is store in a file named SlackUser.groovy
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.comments.CommentManager
import groovy.json.*
import groovyx.net.*
import groovyx.net.http.*
import static groovy.json.JsonOutput.*
import static groovyx.net.http.ContentType.*
import static groovyx.net.http.Method.*
class SlackUser{
Issue refIssue
//Field defienition constant to be read from issue
String emailFieldName="Email Address" //10523
String emailField=""
public String emailFieldValue=""
CommentManager commentMgr=ComponentAccessor.getCommentManager()
SlackUser(Issue issue)
{
refIssue=issue
def customFieldMgr=ComponentAccessor.getCustomFieldManager()
emailField =customFieldMgr.getCustomFieldObjects().findByName(emailFieldName)
emailFieldValue=refIssue.getCustomFieldValue(emailField) <<< error
}
}
Then I am calling that script from my Script console as below :
Issue refIssue=ComponentAccessor.getIssueManager().getIssueObject("TSD-2102")
SlackUser slk=new SlackUser(refIssue)
When the SlackUser object is created, I get a wierd error in the BOLD line above saying :
"groovy.lang.MissingMethodException: No signature of method: com.atlassian.jira.issue.IssueImpl.getCustomFieldValue() is applicable for argument types: (java.lang.String) values: [Email Address] Possible solutions: getCustomFieldValue(com.atlassian.jira.issue.fields.CustomField), setCustomFieldValue(com.atlassian.jira.issue.fields.CustomField, java.lang.Object) at ServiceRequest.SlackUser.<init>(SlackUser.groovy:53) at Script564.run(Script564.groovy:71)"
What is wrong and how to solve that error ?
regards
Workaround:
Hi Sarap,
you can use this plugin https://studio.plugins.atlassian.com/wiki/display/JOUT/Filter+List+Plugin.
or the second approach would be.
Find the class where you need to change or apply your business logic.
find all available for the user saved searches (own and shared filters). We have list ofFilters
List<SearchRequest> filters = filtersResult.getResults();
for (SearchRequest filter : filters) {
// filter.getName()
USer user= filter.getOwnerUserName())
List<Group> group=user.getGroups();
{
//logic if log-in user[Remote user] and group contain in [Login user.getGroups] are contained in each other with same permission.
The user belog to group can edit the same filter.
}
the process to change single class in jira is
https://answers.atlassian.com/questions/43414/easy-way-compile-java-files-of-jira.
may be you have to change Class DefaultSearchRequestService or SearchRequestService interface implementation
make changes in search method. it should work.
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.