Skip to content

Instantly share code, notes, and snippets.

@ElieMalesys
Created May 7, 2014 11:38
Show Gist options
  • Save ElieMalesys/583520b9f7666febf46c to your computer and use it in GitHub Desktop.
Save ElieMalesys/583520b9f7666febf46c to your computer and use it in GitHub Desktop.
import java.util.List;
import com.atlassian.crowd.embedded.api.User
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.bc.issue.search.SearchService
import com.atlassian.jira.jql.builder.JqlQueryBuilder
import com.atlassian.jira.web.bean.PagerFilter
import com.atlassian.jira.issue.comments.CommentManager
import com.atlassian.jira.issue.comments.Comment
//initialization
String afterDate = "2014-05-01"
String beforeDate = "2014-05-08"
ComponentManager componentManager = ComponentManager.getInstance();
CommentManager commentManager = componentManager.getComponentInstanceOfType(CommentManager.class);
SearchService searchService = componentManager.getSearchService();
User currentUser = componentManager.getJiraAuthenticationContext().getLoggedInUser();
Writer file = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("SupportUsers.xml"), "UTF-8"));
//Processing
def query = JqlQueryBuilder.newBuilder().where().project("SUPPORT","AWL-KAZAN-SUPPORT").and().createdBetween(afterDate, beforeDate).buildQuery();
def issuesList = searchService.search(currentUser,query,PagerFilter.getUnlimitedFilter()).getIssues();
String display = 'QUERY : ' + searchService.getJqlString(query) + '\n\n';
try{
file.write('<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n');
file.write('<issuesList total=\"' + issuesList.size() + '\">\n');
for (issue in issuesList){
List<Comment> comments = commentManager.getComments(issue);
file.write('\t<issue Key=\"' + issue.getKey() + '\" Reporter=\"' + issue.getReporterId() + '\" Comments=\"' + comments.size() + '\">\n');
for (comment in comments){
file.write('\t\t<commentedBy>' + comment.getAuthor() + '</commentedBy>\n');
}
file.write('\t</issue>\n');
}
file.write('</issuesList>');
} finally {
file.close();
}
return display + 'file SupportUsers.xml generated';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment