Interface IssueLinkTypeService

All Known Implementing Classes:
DefaultIssueLinkTypeService

@PublicApi public interface IssueLinkTypeService
Service for creation, deletion, and general management of IssueLinkTypes. If Issue Linking is disabled, none of these will work.
Since:
v6.0
  • Method Details

    • createIssueLinkType

      ServiceOutcome<IssueLinkType> createIssueLinkType(ApplicationUser user, String name, String outward, String inward)
      Create a new issue link type.
      Parameters:
      user - the user who will create it
      name - the name of the link to create
      outward - the description to use for outbound links of this type
      inward - the description to use for inbound links of this type
      Returns:
      a ServiceOutcome that contains a description of the failure or the created IssueLinkType
    • deleteIssueLinkType

      ServiceOutcome<IssueLinkType> deleteIssueLinkType(ApplicationUser user, IssueLinkType linkType)
      Delete a given IssueLinkType, checking for permissions.
      Parameters:
      user - the user who is performing the action
      linkType - the IssueLinkType to delete
      Returns:
      a ServiceOutcome indicating success or failure
    • getIssueLinkTypes

      Get a list of all issue link types in the system.
      Parameters:
      user - the user who wants to know
      Returns:
      a list of all issue link types
    • updateIssueLinkType

      ServiceOutcome<IssueLinkType> updateIssueLinkType(ApplicationUser user, IssueLinkType linkType, String name, String outward, String inward)
      Update an existing issue link type
      Parameters:
      user - the user performing the modification
      linkType - the link you want to update
      name - the new name to use
      outward - the new outbound description to use
      inward - the new inbound description to use
      Returns:
      the updated IssueLinkType
    • moveIssueLinkType

      ServiceOutcome<IssueLinkType> moveIssueLinkType(ApplicationUser user, Long id, Long newPosition)
      Move an existing issue link type through the list which will lead the others to be moved too. e.g. if you move a link type from position 1 to position 3, the link types that were in position 2 and 3 will be moved to 1 and 2.
      Parameters:
      user - the user performing the modification
      id - the link type you want to move
      newPosition - the new position of the link type, must be 1 or greater
      Returns:
      the moved IssueLinkType
    • resetOrderAlphabetically

      ServiceOutcome<Collection<IssueLinkType>> resetOrderAlphabetically(ApplicationUser user, String direction)
      Reset the order of the issue link types alphabetically.
      Parameters:
      user - the user performing the modification
      direction - Case-insensitive "asc" or "desc" to indicate the direction to sort
      Returns:
      reordered issue link types along with ServiceOutcome indicating success or failure