Advertisement
Guest User

Untitled

a guest
Jan 24th, 2020
304
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Groovy 2.17 KB | None | 0 0
  1. import com.atlassian.jira.component.ComponentAccessor
  2. import com.atlassian.jira.issue.search.SearchProvider
  3. import com.atlassian.jira.jql.parser.JqlQueryParser
  4. import com.atlassian.jira.web.bean.PagerFilter
  5. import com.atlassian.jira.issue.search.SearchQuery
  6. import com.atlassian.jira.issue.Issue
  7. import com.atlassian.jira.issue.ModifiedValue
  8. import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
  9. import com.atlassian.jira.issue.IssueManager
  10.  
  11. import com.atlassian.jira.jql.query.IssueIdCollector
  12. import com.atlassian.jira.issue.customfields.option.Option
  13.  
  14. import com.atlassian.jira.issue.fields.CustomField;
  15.    
  16. def jqlQueryParser = ComponentAccessor.getComponent(JqlQueryParser)
  17. def searchProvider = ComponentAccessor.getComponent(SearchProvider)
  18. def user = ComponentAccessor.jiraAuthenticationContext.loggedInUser
  19.  
  20.  
  21. final String customFieldName = "Групповой инцидент"
  22. def issueManager = ComponentAccessor.getIssueManager()
  23. def customFieldManager = ComponentAccessor.getCustomFieldManager()
  24. def customField = ComponentAccessor.customFieldManager.customFieldObjects.findByName(customFieldName)
  25. assert customField : "Could not find custom field with name $customFieldName"
  26. //your query goes here
  27. def query = jqlQueryParser.parseQuery("project = \"Диспетчерская служба\" and \"Групповой инцидент\" is EMPTY")
  28.    
  29. SearchQuery searchQuery = SearchQuery.create(query, user)
  30. IssueIdCollector collector = new IssueIdCollector()
  31. searchProvider.search(searchQuery, collector)
  32. collector.getIssueIds().collect {
  33.     def issue= issueManager.getIssueObject(it as Long)
  34.     customField.updateValue(null, issue, new ModifiedValue("",  (Object) getOptions(issue, customField, ["Нет"]).get(0)), new DefaultIssueChangeHolder())
  35. }
  36.  
  37. // получаем опции для кастомные полей типа radio button, checkbox and select
  38. def List<Option> getOptions(Issue issue, CustomField customField, List<String> optionList) {
  39.     def config = customField.getRelevantConfig(issue)
  40.     def options = ComponentAccessor.getOptionsManager().getOptions(config)
  41.     def optionsToSelect = options.findAll { it.value in optionList }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement