Skip to content

Instantly share code, notes, and snippets.

@ElieMalesys
Created March 19, 2014 15:20
Show Gist options
  • Save ElieMalesys/9643961 to your computer and use it in GitHub Desktop.
Save ElieMalesys/9643961 to your computer and use it in GitHub Desktop.
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.project.ProjectManager
import com.atlassian.crowd.embedded.api.User
import com.atlassian.jira.bc.issue.search.SearchService
import com.atlassian.jira.jql.builder.JqlQueryBuilder
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.context.IssueContextImpl
import com.atlassian.jira.issue.fields.config.FieldConfig
import com.atlassian.jira.issue.customfields.manager.OptionsManager
import com.atlassian.jira.issue.customfields.option.*
import com.atlassian.query.operator.Operator
import com.atlassian.query.operand.Operands
import com.atlassian.jira.web.bean.PagerFilter
ComponentManager componentManager = ComponentManager.getInstance();
ProjectManager projectManager = componentManager.getProjectManager();
OptionsManager optionsManager = ComponentManager.getComponentInstanceOfType(OptionsManager.class);
CustomFieldManager customFieldManager = componentManager.getCustomFieldManager();
SearchService searchService = componentManager.getSearchService();
User currentUser = componentManager.getJiraAuthenticationContext().getLoggedInUser();
CustomField kcellCustomField = customFieldManager.getCustomFieldObjectByName("Requesting KCell");
Long kazanSupportId = projectManager.getProjectObjByKey("AWL-KAZAN-SUPPORT").getId();
IssueContextImpl issueContext = new IssueContextImpl(kazanSupportId,null);
FieldConfig fieldConfig = kcellCustomField.getRelevantConfig(issueContext);
def optionsList = optionsManager.getOptions(fieldConfig).getRootOptions();
String display ='';
for (option in optionsList){
def query = JqlQueryBuilder.newBuilder().where().project(kazanSupportId).and().assigneeIsEmpty().and().resolution("unresolved").and().addCondition("KCell Impacted",Operator.EQUALS,Operands.valueOf(option.getValue())).buildQuery();
display += '\n ++++++++++++++++++++ KCell : ' + option.getValue() + '\t ++++++++++++++++++++ \n\n';
display += 'QUERY : ' + searchService.getJqlString(query) + '\n\n';
def issuesList = searchService.search(currentUser,query,PagerFilter.getUnlimitedFilter()).getIssues();
display += 'Result :' + issuesList.size() + ' issue(s)\n';
for (issue in issuesList){
display += issue.getPriority().getString("name") + '\t Created : ' + issue.getCreated() + '\t' + issue.getKey() + ' : ' + issue.getSummary() + '\n';
}
}
return display;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment