use of org.apache.maven.plugins.issues.Issue in project maven-plugins by apache.
the class IssueAdapterTest method testCustomIssueTypeMappingOveridesDefaultMapping.
public void testCustomIssueTypeMappingOveridesDefaultMapping() {
IssueManagementSystem ims = new JIRAIssueManagmentSystem();
ims.getIssueTypeMap().clear();
IssueAdapter adapter = new IssueAdapter(ims);
Issue issue = createIssue("TST-1", "New Feature");
Action action = adapter.createAction(issue);
assertEquals("", action.getType());
issue = createIssue("TST-2", "Bug");
action = adapter.createAction(issue);
assertEquals("", action.getType());
issue = createIssue("TST-3", "Improvement");
action = adapter.createAction(issue);
assertEquals("", action.getType());
issue = createIssue("TST-4", "Unknown Type");
action = adapter.createAction(issue);
assertEquals("", action.getType());
}
use of org.apache.maven.plugins.issues.Issue in project maven-plugins by apache.
the class JiraMojo method executeReport.
public void executeReport(Locale locale) throws MavenReportException {
// Validate parameters
List<Integer> columnIds = IssuesReportHelper.getColumnIds(columnNames, JIRA_COLUMNS);
if (columnIds.isEmpty()) {
// This can happen if the user has configured column names and they are all invalid
throw new MavenReportException("maven-changes-plugin: None of the configured columnNames '" + columnNames + "' are valid.");
}
try {
// Download issues
AbstractJiraDownloader issueDownloader;
if (mockDownloader != null) {
issueDownloader = mockDownloader;
} else {
AdaptiveJiraDownloader downloader = new AdaptiveJiraDownloader();
downloader.setForceClassic(forceRss);
issueDownloader = downloader;
}
configureIssueDownloader(issueDownloader);
issueDownloader.doExecute();
List<Issue> issueList = issueDownloader.getIssueList();
if (StringUtils.isNotEmpty(versionPrefix)) {
int originalNumberOfIssues = issueList.size();
issueList = IssueUtils.filterIssuesWithVersionPrefix(issueList, versionPrefix);
getLog().debug("Filtered out " + issueList.size() + " issues of " + originalNumberOfIssues + " that matched the versionPrefix '" + versionPrefix + "'.");
}
if (onlyCurrentVersion) {
String version = (versionPrefix == null ? "" : versionPrefix) + project.getVersion();
issueList = IssueUtils.getIssuesForVersion(issueList, version);
getLog().info("The JIRA Report will contain issues only for the current version.");
}
// Generate the report
IssuesReportGenerator report = new IssuesReportGenerator(IssuesReportHelper.toIntArray(columnIds));
if (issueList.isEmpty()) {
report.doGenerateEmptyReport(getBundle(locale), getSink());
} else {
report.doGenerateReport(getBundle(locale), getSink(), issueList);
}
} catch (Exception e) {
getLog().warn(e);
}
}
use of org.apache.maven.plugins.issues.Issue in project maven-plugins by apache.
the class GitHubDownloader method getIssueList.
public List<Issue> getIssueList() throws IOException {
List<Issue> issueList = new ArrayList<Issue>();
IssueService service = new IssueService(client);
Map<String, String> issueFilter = new HashMap<String, String>();
if (includeOpenIssues) {
for (org.eclipse.egit.github.core.Issue issue : service.getIssues(githubOwner, githubRepo, issueFilter)) {
if (!onlyMilestoneIssues || issue.getMilestone() != null) {
issueList.add(createIssue(issue));
}
}
}
// Adding closed issues
issueFilter.put("state", "closed");
for (org.eclipse.egit.github.core.Issue issue : service.getIssues(githubOwner, githubRepo, issueFilter)) {
if (!onlyMilestoneIssues || issue.getMilestone() != null) {
issueList.add(createIssue(issue));
}
}
return issueList;
}
use of org.apache.maven.plugins.issues.Issue in project maven-plugins by apache.
the class AnnouncementMojo method getJiraReleases.
protected List<Release> getJiraReleases() throws MojoExecutionException {
AbstractJiraDownloader jiraDownloader = new AdaptiveJiraDownloader();
File jiraXMLFile = jiraXML;
jiraDownloader.setLog(getLog());
jiraDownloader.setOutput(jiraXMLFile);
jiraDownloader.setStatusIds(statusIds);
jiraDownloader.setResolutionIds(resolutionIds);
jiraDownloader.setMavenProject(project);
jiraDownloader.setSettings(settings);
jiraDownloader.setNbEntries(maxEntries);
jiraDownloader.setFilter(filter);
jiraDownloader.setJiraUser(jiraUser);
jiraDownloader.setJiraPassword(jiraPassword);
jiraDownloader.setUseJql(useJql);
jiraDownloader.setWebUser(webUser);
jiraDownloader.setWebPassword(webPassword);
jiraDownloader.setConnectionTimeout(jiraConnectionTimeout);
jiraDownloader.setReceiveTimout(jiraReceiveTimout);
try {
jiraDownloader.doExecute();
List<Issue> issueList = jiraDownloader.getIssueList();
if (StringUtils.isNotEmpty(versionPrefix)) {
int originalNumberOfIssues = issueList.size();
issueList = IssueUtils.filterIssuesWithVersionPrefix(issueList, versionPrefix);
getLog().debug("Filtered out " + issueList.size() + " issues of " + originalNumberOfIssues + " that matched the versionPrefix '" + versionPrefix + "'.");
}
return getReleases(issueList, new JIRAIssueManagmentSystem());
} catch (Exception e) {
throw new MojoExecutionException("Failed to extract issues from JIRA.", e);
}
}
use of org.apache.maven.plugins.issues.Issue in project maven-plugins by apache.
the class IssueAdapter method getReleases.
/**
* Adapt a <code>List</code> of <code>Issue</code>s to a <code>List</code> of <code>Release</code>s.
*
* @param issues The issues
* @return A list of releases
*/
public List<Release> getReleases(List<Issue> issues) {
// A Map of releases keyed by fixVersion
Map<String, Release> releasesMap = new HashMap<String, Release>();
// Loop through all issues looking for fixVersions
for (Issue issue : issues) {
// Do NOT create a release for issues that lack a fixVersion
if (issue.getFixVersions() != null) {
for (String fixVersion : issue.getFixVersions()) {
// Try to get a matching Release from the map
Release release = releasesMap.get(fixVersion);
if (release == null) {
// Add a new Release to the Map if it wasn't there
release = new Release();
release.setVersion(fixVersion);
releasesMap.put(fixVersion, release);
}
// Add this issue as an Action to this release
Action action = createAction(issue);
release.addAction(action);
}
}
}
// Extract the releases from the Map to a List
List<Release> releasesList = new ArrayList<Release>();
for (Release release : releasesMap.values()) {
releasesList.add(release);
}
return releasesList;
}
Aggregations