Hi ,
updated the Text Field (single line) using script runner , the script runner has updated the CustomFiled , but not able to query using JQL with updated customField , it is not displaying any rows if updated custom Field used in JQL , but the value has been updated , updated column is Test_Email with Value 1001
Tried with Text & number in updation
def tgtField = customFieldManager.getCustomFieldObjects(myIssue).find {it.name == "Test_Email"}
def changeHolder = new DefaultIssueChangeHolder();
tgtField.updateValue(null, myIssue, new ModifiedValue(issue.getCustomFieldValue(tgtField), "1001"),changeHolder);
Output from Database
mysql> select * from customfieldvalue where issue=(select id from jiraissue where issuenum='2079') and CUSTOMFIELD=11300;
+-------+-------+-------------+-----------+-------------+-------------+-----------+-----------+-----------+
| ID | ISSUE | CUSTOMFIELD | PARENTKEY | STRINGVALUE | NUMBERVALUE | TEXTVALUE | DATEVALUE | VALUETYPE |
+-------+-------+-------------+-----------+-------------+-------------+-----------+-----------+-----------+
| 41245 | 15500 | 11300 | NULL | 1001 | NULL | NULL | NULL | NULL |
+-------+-------+-------------+-----------+-------------+-------------+-----------+-----------+-----------+
1 row in set (0.00 sec)
Screen Shot After updating using the Script runner
Jira_Jql.pngJira1_Jql.pngJira2_Jql.png
You should use IssueService to update which will do the proper re-indexing for you after the update: https://docs.atlassian.com/jira/latest/com/atlassian/jira/bc/issue/IssueService.html#update-com.atlassian.jira.user.ApplicationUser-com.atlassian.jira.bc.issue.IssueService.UpdateValidationResult-
Here is some example code of how to use it in your script:
import com.atlassian.jira.component.ComponentAccessor def user = ComponentAccessor.jiraAuthenticationContext.user.directoryUser def issueManager = ComponentAccessor.issueManager def issueService = ComponentAccessor.issueService def issue = issueManager.getIssueObject("KEY") def issueInputParameters = issueService.newIssueInputParameters() issueInputParameters.setDescription("Updated description") def validationResult = issueService.validateUpdate(user, issue.id, issueInputParameters) if (validationResult.isValid()) { issueService.update(user, validationResult) log.info("Updated issue") } else { log.info("Invalid update") log.info(validationResult.errorCollection) }
@Gabrielle Bautista [ACP-JA] @Adam Markham [Adaptavist]
Thanks for support
After reindexing it's works fine ,
Added indexManager.reIndex(issue); in the code to Reindex the field
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.