Search in sources :

Example 11 with Issue

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());
}
Also used : IssueAdapter(org.apache.maven.plugins.changes.IssueAdapter) Action(org.apache.maven.plugins.changes.model.Action) Issue(org.apache.maven.plugins.issues.Issue) IssueManagementSystem(org.apache.maven.plugins.issues.IssueManagementSystem) JIRAIssueManagmentSystem(org.apache.maven.plugins.jira.JIRAIssueManagmentSystem)

Example 12 with Issue

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);
    }
}
Also used : Issue(org.apache.maven.plugins.issues.Issue) IssuesReportGenerator(org.apache.maven.plugins.issues.IssuesReportGenerator) MavenReportException(org.apache.maven.reporting.MavenReportException) MavenReportException(org.apache.maven.reporting.MavenReportException)

Example 13 with Issue

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;
}
Also used : IssueService(org.eclipse.egit.github.core.service.IssueService) Issue(org.apache.maven.plugins.issues.Issue) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList)

Example 14 with Issue

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);
    }
}
Also used : Issue(org.apache.maven.plugins.issues.Issue) MojoExecutionException(org.apache.maven.plugin.MojoExecutionException) AdaptiveJiraDownloader(org.apache.maven.plugins.jira.AdaptiveJiraDownloader) AbstractJiraDownloader(org.apache.maven.plugins.jira.AbstractJiraDownloader) JIRAIssueManagmentSystem(org.apache.maven.plugins.jira.JIRAIssueManagmentSystem) File(java.io.File) VelocityException(org.apache.velocity.exception.VelocityException) MojoExecutionException(org.apache.maven.plugin.MojoExecutionException) ResourceNotFoundException(org.apache.velocity.exception.ResourceNotFoundException)

Example 15 with Issue

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;
}
Also used : Action(org.apache.maven.plugins.changes.model.Action) Issue(org.apache.maven.plugins.issues.Issue) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) Release(org.apache.maven.plugins.changes.model.Release)

Aggregations

Issue (org.apache.maven.plugins.issues.Issue)17 ArrayList (java.util.ArrayList)4 Action (org.apache.maven.plugins.changes.model.Action)4 JIRAIssueManagmentSystem (org.apache.maven.plugins.jira.JIRAIssueManagmentSystem)4 MalformedURLException (java.net.MalformedURLException)3 IssueAdapter (org.apache.maven.plugins.changes.IssueAdapter)3 IssuesReportGenerator (org.apache.maven.plugins.issues.IssuesReportGenerator)3 MavenReportException (org.apache.maven.reporting.MavenReportException)3 HashMap (java.util.HashMap)2 MojoExecutionException (org.apache.maven.plugin.MojoExecutionException)2 IssueManagementSystem (org.apache.maven.plugins.issues.IssueManagementSystem)2 XmlRpcException (org.apache.xmlrpc.XmlRpcException)2 JsonNode (com.fasterxml.jackson.databind.JsonNode)1 File (java.io.File)1 URL (java.net.URL)1 Map (java.util.Map)1 IssueManagement (org.apache.maven.model.IssueManagement)1 Release (org.apache.maven.plugins.changes.model.Release)1 AbstractJiraDownloader (org.apache.maven.plugins.jira.AbstractJiraDownloader)1 AdaptiveJiraDownloader (org.apache.maven.plugins.jira.AdaptiveJiraDownloader)1