Class IssueTrackingSystem

java.lang.Object
flexagon.fd.model.integration.its.api.IssueTrackingSystem

public abstract class IssueTrackingSystem extends Object
Implementation base for each ITS (e.g. Jira)
  • Field Details

  • Constructor Details

    • IssueTrackingSystem

      public IssueTrackingSystem()
  • Method Details

    • setIssueTrackingSystemName

      public void setIssueTrackingSystemName(String pIssueTrackingSystemName)
    • getIssueTrackingSystemName

      public String getIssueTrackingSystemName()
    • setProperties

      public void setProperties(Map<String,Serializable> pProperties)
    • getProperties

      public Map<String,Serializable> getProperties()
    • populateWorkItem

      public abstract void populateWorkItem(WorkItem ticket) throws ApiException
      Populates ticket's data (e.g. Description and Type) by invoking setDescription and setType on supplied ticket object.
      Parameters:
      ticket -
      Throws:
      ApiException
    • getWorkItemURL

      public abstract String getWorkItemURL(WorkItem ticket) throws ApiException
      Return ticket's absolute URL. You can use getProperties() details along with ticket object (number, type, description) to determine URL. This used on FlexDeploy UI when tickets are linked with project version.
      Parameters:
      ticket -
      Returns:
      Throws:
      ApiException
    • addCommentToWorkItem

      public abstract void addCommentToWorkItem(WorkItem ticket, String comment) throws ApiException
      Adds a comment to a ticket.
      Parameters:
      ticket -
      comment -
      Throws:
      ApiException
    • getWorkItemAttachmentLocation

      public WorkItemAllowedAttachmentLocation getWorkItemAttachmentLocation()
      Return the allowed locations for work item attachments
      Returns:
    • addCommentToWorkItem

      public void addCommentToWorkItem(WorkItem ticket, String comment, List<WorkItemAttachmentUpload> attachments) throws ApiException
      Adds a comment with attachments to a ticket.
      Parameters:
      ticket -
      comment -
      Throws:
      ApiException
    • addAttachmentToWorkItem

      public void addAttachmentToWorkItem(WorkItem ticket, WorkItemAttachmentUpload attachment) throws ApiException
      Adds an attachment to a ticket
      Parameters:
      ticket -
      attachment -
      Throws:
      ApiException
    • changeWorkItemStatusTo

      public abstract void changeWorkItemStatusTo(WorkItem ticket, Serializable status) throws ApiException
      Status is id value as entered on Status tab. Implementation should update status of ticket to supplied id value.
      Parameters:
      ticket -
      status -
      Throws:
      ApiException
    • getWorkItemStatus

      public abstract String getWorkItemStatus(WorkItem ticket) throws ApiException
      Return Status Name as String. This should be Name value that is entered on Status tab.
      Parameters:
      ticket -
      Returns:
      Throws:
      ApiException
    • checkConnection

      public abstract void checkConnection() throws ApiException
      Check connection using details provided in getProperties(). If connection can not be established throw ApiException with appropriate error message.
      Throws:
      ApiException
    • parseWorkItemNumberFromChangeLogs

      public abstract Collection<String> parseWorkItemNumberFromChangeLogs(List<String> pMessagesToParse, List<String> pTicketPatternList) throws ApiException
      Provides a valid Issue Tracking System number by parsing the ticketNumber using the pattern
      Parameters:
      pMessagesToParse -
      pTicketPatternList -
      Returns:
      Throws:
      ApiException
    • getWorkItem

      public abstract WorkItemDetails getWorkItem(WorkItem ticket) throws ApiException
      Throws:
      ApiException
    • getWorkItems

      public abstract List<WorkItemDetails> getWorkItems(List<WorkItem> workItems) throws ApiException
      Throws:
      ApiException
    • getWorkItemComments

      public abstract Collection<WorkItemComment> getWorkItemComments(WorkItem ticket, int offset, int limit) throws ApiException
      Throws:
      ApiException
    • getWorkItemHistory

      public abstract Collection<WorkItemUpdate> getWorkItemHistory(WorkItem ticket, int offset, int limit) throws ApiException
      Throws:
      ApiException
    • getWorkItemAttachments

      public abstract Collection<WorkItemAttachment> getWorkItemAttachments(WorkItem ticket) throws ApiException
      Throws:
      ApiException
    • getWorkItemAttachmentContent

      public abstract WorkItemAttachmentContent getWorkItemAttachmentContent(WorkItem ticket, Serializable attachmentId) throws ApiException
      Throws:
      ApiException
    • getAvailableWorkItemStatuses

      public abstract List<WorkItemStatus> getAvailableWorkItemStatuses(WorkItem ticket) throws ApiException
      Throws:
      ApiException
    • searchWorkItems

      public abstract WorkItemSearchResponse searchWorkItems(WorkItemSearchInput pInput) throws ApiException
      Searches for work items in ITS matching a filter and project Can optionally provide a release id for filtering out work items already in release, or a list of work item numbers to exclude from results
      Parameters:
      pInput -
      Returns:
      WorkItemSearchResponse containing the list of work items and an optional next page token
      Throws:
      ApiException
    • getProjects

      public abstract List<IssueTrackingSystemInstanceProject> getProjects() throws ApiException
      Throws:
      ApiException
    • isExternalSearchSupported

      public boolean isExternalSearchSupported() throws ApiException
      Throws:
      ApiException
    • isExternalSearchExcludeKeysSupported

      public boolean isExternalSearchExcludeKeysSupported() throws ApiException
      Throws:
      ApiException
    • isExternalSearchProjectRequired

      public boolean isExternalSearchProjectRequired() throws ApiException
      Throws:
      ApiException
    • isExternalSearchProjectSupported

      public boolean isExternalSearchProjectSupported() throws ApiException
      Throws:
      ApiException
    • isExternalSearchFilterRequired

      public boolean isExternalSearchFilterRequired() throws ApiException
      Throws:
      ApiException