Class JiraIssueTracker

  • All Implemented Interfaces:
    org.jboss.set.aphrodite.spi.IssueTrackerService

    public class JiraIssueTracker
    extends org.jboss.set.aphrodite.issue.trackers.common.AbstractIssueTracker
    An implementation of the IssueTrackerService for the JIRA issue tracker.
    Author:
    Ryan Emerson
    • Field Summary

      • Fields inherited from class org.jboss.set.aphrodite.issue.trackers.common.AbstractIssueTracker

        baseUrl, config, executorService, TRACKER_TYPE, URL_REGEX
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean addCommentToIssue​(Collection<org.jboss.set.aphrodite.domain.Issue> issues, org.jboss.set.aphrodite.domain.Comment comment)  
      boolean addCommentToIssue​(Map<org.jboss.set.aphrodite.domain.Issue,​org.jboss.set.aphrodite.domain.Comment> commentMap)  
      void addCommentToIssue​(org.jboss.set.aphrodite.domain.Issue issue, org.jboss.set.aphrodite.domain.Comment comment)  
      org.jboss.set.aphrodite.domain.Issue createIssue​(org.jboss.set.aphrodite.issue.trackers.common.IssueCreationDetails details)  
      void destroy()  
      org.jboss.set.aphrodite.domain.Issue getIssue​(URL url)  
      List<org.jboss.set.aphrodite.domain.Issue> getIssues​(String project, com.atlassian.jira.rest.client.api.domain.Version version)  
      List<org.jboss.set.aphrodite.domain.Issue> getIssues​(Collection<URL> urls)  
      List<org.jboss.set.aphrodite.domain.Issue> getIssuesAddedToVersion​(String project, com.atlassian.jira.rest.client.api.domain.Version version, LocalDate from, LocalDate to)  
      org.apache.commons.logging.Log getLog()  
      Iterable<com.atlassian.jira.rest.client.api.domain.Version> getVersionsByProject​(String projectName)  
      boolean init​(org.jboss.set.aphrodite.config.IssueTrackerConfig config)  
      boolean isCPReleased​(String cpVersion)  
      void linkIssues​(org.jboss.set.aphrodite.domain.Issue from, org.jboss.set.aphrodite.domain.Issue to, String linkType)  
      List<org.jboss.set.aphrodite.domain.Issue> searchIssues​(org.jboss.set.aphrodite.domain.SearchCriteria searchCriteria)  
      List<org.jboss.set.aphrodite.domain.Issue> searchIssuesByFilter​(URL filterUrl)  
      boolean updateIssue​(org.jboss.set.aphrodite.domain.Issue issue)
      Known limitations: - Jira api does not allow an issue type to be update (WTF?) - Jira api does not allow project to be changed
      • Methods inherited from class org.jboss.set.aphrodite.issue.trackers.common.AbstractIssueTracker

        checkHost, convertToTrackerID, exists, filterIssuesByHost, filterIssuesByHost, filterUrlsByHost, getIssuesAssociatedWith, getTrackerID, init, urlExists
    • Constructor Detail

      • JiraIssueTracker

        public JiraIssueTracker()
    • Method Detail

      • init

        public boolean init​(org.jboss.set.aphrodite.config.IssueTrackerConfig config)
        Specified by:
        init in interface org.jboss.set.aphrodite.spi.IssueTrackerService
        Overrides:
        init in class org.jboss.set.aphrodite.issue.trackers.common.AbstractIssueTracker
      • getIssue

        public org.jboss.set.aphrodite.domain.Issue getIssue​(URL url)
                                                      throws org.jboss.set.aphrodite.spi.NotFoundException
        Throws:
        org.jboss.set.aphrodite.spi.NotFoundException
      • getIssues

        public List<org.jboss.set.aphrodite.domain.Issue> getIssues​(String project,
                                                                    com.atlassian.jira.rest.client.api.domain.Version version)
      • getIssuesAddedToVersion

        public List<org.jboss.set.aphrodite.domain.Issue> getIssuesAddedToVersion​(String project,
                                                                                  com.atlassian.jira.rest.client.api.domain.Version version,
                                                                                  LocalDate from,
                                                                                  LocalDate to)
      • getIssues

        public List<org.jboss.set.aphrodite.domain.Issue> getIssues​(Collection<URL> urls)
      • searchIssues

        public List<org.jboss.set.aphrodite.domain.Issue> searchIssues​(org.jboss.set.aphrodite.domain.SearchCriteria searchCriteria)
      • searchIssuesByFilter

        public List<org.jboss.set.aphrodite.domain.Issue> searchIssuesByFilter​(URL filterUrl)
                                                                        throws org.jboss.set.aphrodite.spi.NotFoundException
        Throws:
        org.jboss.set.aphrodite.spi.NotFoundException
      • updateIssue

        public boolean updateIssue​(org.jboss.set.aphrodite.domain.Issue issue)
                            throws org.jboss.set.aphrodite.spi.NotFoundException,
                                   org.jboss.set.aphrodite.spi.AphroditeException
        Known limitations: - Jira api does not allow an issue type to be update (WTF?) - Jira api does not allow project to be changed
        Throws:
        org.jboss.set.aphrodite.spi.NotFoundException
        org.jboss.set.aphrodite.spi.AphroditeException
      • addCommentToIssue

        public void addCommentToIssue​(org.jboss.set.aphrodite.domain.Issue issue,
                                      org.jboss.set.aphrodite.domain.Comment comment)
                               throws org.jboss.set.aphrodite.spi.NotFoundException
        Specified by:
        addCommentToIssue in interface org.jboss.set.aphrodite.spi.IssueTrackerService
        Overrides:
        addCommentToIssue in class org.jboss.set.aphrodite.issue.trackers.common.AbstractIssueTracker
        Throws:
        org.jboss.set.aphrodite.spi.NotFoundException
      • addCommentToIssue

        public boolean addCommentToIssue​(Map<org.jboss.set.aphrodite.domain.Issue,​org.jboss.set.aphrodite.domain.Comment> commentMap)
      • addCommentToIssue

        public boolean addCommentToIssue​(Collection<org.jboss.set.aphrodite.domain.Issue> issues,
                                         org.jboss.set.aphrodite.domain.Comment comment)
      • getLog

        public org.apache.commons.logging.Log getLog()
        Specified by:
        getLog in class org.jboss.set.aphrodite.issue.trackers.common.AbstractIssueTracker
      • destroy

        public void destroy()
      • isCPReleased

        public boolean isCPReleased​(String cpVersion)
      • getVersionsByProject

        public Iterable<com.atlassian.jira.rest.client.api.domain.Version> getVersionsByProject​(String projectName)
      • createIssue

        public org.jboss.set.aphrodite.domain.Issue createIssue​(org.jboss.set.aphrodite.issue.trackers.common.IssueCreationDetails details)
                                                         throws MalformedURLException,
                                                                org.jboss.set.aphrodite.spi.NotFoundException,
                                                                org.jboss.set.aphrodite.spi.AphroditeException
        Throws:
        MalformedURLException
        org.jboss.set.aphrodite.spi.NotFoundException
        org.jboss.set.aphrodite.spi.AphroditeException
      • linkIssues

        public void linkIssues​(org.jboss.set.aphrodite.domain.Issue from,
                               org.jboss.set.aphrodite.domain.Issue to,
                               String linkType)