Class EpicsApi

  • All Implemented Interfaces:
    org.gitlab4j.models.Constants

    public class EpicsApi
    extends AbstractApi
    This class implements the client side API for the GitLab Epics and Epic Issues API calls. NOTE: - If a user is not a member of a group and the group is private, a GET request on that group will result to a 404 status code. - Epics are available only in Ultimate. If epics feature is not available a 403 status code will be returned.
    See Also:
    GitLab Epics API Documentaion, GitLab Epic Issues API Documentation
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.gitlab4j.models.Constants

        org.gitlab4j.models.Constants.ActionType, org.gitlab4j.models.Constants.ApplicationScope, org.gitlab4j.models.Constants.ArchiveFormat, org.gitlab4j.models.Constants.AutoDevopsDeployStrategy, org.gitlab4j.models.Constants.BuildGitStrategy, org.gitlab4j.models.Constants.CommitBuildState, org.gitlab4j.models.Constants.ContributorOrderBy, org.gitlab4j.models.Constants.DefaultBranchProtectionLevel, org.gitlab4j.models.Constants.DeploymentOrderBy, org.gitlab4j.models.Constants.DeploymentStatus, org.gitlab4j.models.Constants.DeployTokenScope, org.gitlab4j.models.Constants.Encoding, org.gitlab4j.models.Constants.EpicOrderBy, org.gitlab4j.models.Constants.EventScope, org.gitlab4j.models.Constants.GroupOrderBy, org.gitlab4j.models.Constants.GroupSearchScope<T extends java.lang.Object>, org.gitlab4j.models.Constants.ImpersonationState, org.gitlab4j.models.Constants.IssueOrderBy, org.gitlab4j.models.Constants.IssueScope, org.gitlab4j.models.Constants.IssueState, org.gitlab4j.models.Constants.JobScope, org.gitlab4j.models.Constants.LineType, org.gitlab4j.models.Constants.MergeRequestOrderBy, org.gitlab4j.models.Constants.MergeRequestScope, org.gitlab4j.models.Constants.MergeRequestSearchIn, org.gitlab4j.models.Constants.MergeRequestState, org.gitlab4j.models.Constants.MilestoneState, org.gitlab4j.models.Constants.PackageOrderBy, org.gitlab4j.models.Constants.PackageStatus, org.gitlab4j.models.Constants.PipelineOrderBy, org.gitlab4j.models.Constants.PipelineScope, org.gitlab4j.models.Constants.PipelineSource, org.gitlab4j.models.Constants.ProjectAccessTokenScope, org.gitlab4j.models.Constants.ProjectCreationLevel, org.gitlab4j.models.Constants.ProjectOrderBy, org.gitlab4j.models.Constants.ProjectSearchScope<T extends java.lang.Object>, org.gitlab4j.models.Constants.SearchScope<T extends java.lang.Object>, org.gitlab4j.models.Constants.SortOrder, org.gitlab4j.models.Constants.SquashOption, org.gitlab4j.models.Constants.StateEvent, org.gitlab4j.models.Constants.SubgroupCreationLevel, org.gitlab4j.models.Constants.TagOrderBy, org.gitlab4j.models.Constants.TargetType, org.gitlab4j.models.Constants.TodoAction, org.gitlab4j.models.Constants.TodoState, org.gitlab4j.models.Constants.TodoType, org.gitlab4j.models.Constants.TokenType
    • Field Summary

      • Fields inherited from interface org.gitlab4j.models.Constants

        NEXT_PAGE_HEADER, PAGE_HEADER, PAGE_PARAM, PER_PAGE, PER_PAGE_PARAM, PREV_PAGE_HEADER, TOTAL_HEADER, TOTAL_PAGES_HEADER
    • Constructor Summary

      Constructors 
      Constructor Description
      EpicsApi​(GitLabApi gitLabApi)  
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      org.gitlab4j.api.models.ChildEpic assignChildEpic​(java.lang.Object groupIdOrPath, java.lang.Long epicIid, java.lang.Long childEpicId)
      Creates an association between two epics, designating one as the parent epic and the other as the child epic.
      org.gitlab4j.api.models.EpicIssue assignIssue​(java.lang.Object groupIdOrPath, java.lang.Long epicIid, java.lang.Long issueId)
      Creates an epic - issue association.
      org.gitlab4j.api.models.CreatedChildEpic createAndAssignChildEpic​(java.lang.Object groupIdOrPath, java.lang.Long epicIid, java.lang.String title, java.lang.Boolean confidential)
      Creates a new epic and associates it with provided parent epic.
      org.gitlab4j.api.models.Epic createEpic​(java.lang.Object groupIdOrPath, java.lang.String title, java.lang.String labels, java.lang.String description, java.util.Date startDate, java.util.Date endDate)
      org.gitlab4j.api.models.Epic createEpic​(java.lang.Object groupIdOrPath, java.lang.String title, java.lang.String labels, java.lang.String description, java.util.Date startDate, java.util.Date endDate, java.util.Date createdAt)
      Creates a new epic.
      org.gitlab4j.api.models.Epic createEpic​(java.lang.Object groupIdOrPath, org.gitlab4j.api.models.Epic epic)
      Creates a new epic using the information contained in the provided Epic instance.
      org.gitlab4j.api.models.RelatedEpicLink createRelatedEpicLink​(java.lang.Object groupIdOrPath, java.lang.Long epicIid, java.lang.Object targetGroupIdOrPath, java.lang.Long targetEpicIid, org.gitlab4j.api.models.LinkType linkType)
      Create a two-way relation between two epics.
      void deleteEpic​(java.lang.Object groupIdOrPath, java.lang.Long epicIid)
      Deletes an epic.
      org.gitlab4j.api.models.RelatedEpicLink deleteRelatedEpicLink​(java.lang.Object groupIdOrPath, java.lang.Long epicIid, java.lang.Long relatedEpicLinkId)
      Delete a two-way relation between two epics.
      java.util.List<org.gitlab4j.api.models.ChildEpic> getChildEpics​(java.lang.Object groupIdOrPath, java.lang.Long epicIid)
      Gets all child epics of an epic and the authenticated user has access to.
      Pager<org.gitlab4j.api.models.ChildEpic> getChildEpics​(java.lang.Object groupIdOrPath, java.lang.Long epicIid, int itemsPerPage)
      Get a Pager of all child epics of an epic and the authenticated user has access to.
      java.util.stream.Stream<org.gitlab4j.api.models.ChildEpic> getChildEpicsStream​(java.lang.Object groupIdOrPath, java.lang.Long epicIid)
      Gets all child epics of an epic and the authenticated user has access to as a Stream.
      org.gitlab4j.api.models.Epic getEpic​(java.lang.Object groupIdOrPath, java.lang.Long epicIid)
      Get a single epic for the specified group.
      java.util.List<org.gitlab4j.api.models.EpicIssue> getEpicIssues​(java.lang.Object groupIdOrPath, java.lang.Long epicIid)
      Gets all issues that are assigned to an epic and the authenticated user has access to.
      Pager<org.gitlab4j.api.models.EpicIssue> getEpicIssues​(java.lang.Object groupIdOrPath, java.lang.Long epicIid, int itemsPerPage)
      Get a Pager of all issues that are assigned to an epic and the authenticated user has access to.
      java.util.List<org.gitlab4j.api.models.EpicIssue> getEpicIssues​(java.lang.Object groupIdOrPath, java.lang.Long epicIid, int page, int perPage)
      Gets all issues that are assigned to an epic and the authenticated user has access to using the specified page and per page setting.
      java.util.stream.Stream<org.gitlab4j.api.models.EpicIssue> getEpicIssuesStream​(java.lang.Object groupIdOrPath, java.lang.Long epicIid)
      Gets all issues that are assigned to an epic and the authenticated user has access to as a Stream.
      java.util.List<org.gitlab4j.api.models.Epic> getEpics​(java.lang.Object groupIdOrPath)
      Gets all epics of the requested group and its subgroups.
      Pager<org.gitlab4j.api.models.Epic> getEpics​(java.lang.Object groupIdOrPath, int itemsPerPage)
      Get a Pager of all epics of the requested group and its subgroups.
      java.util.List<org.gitlab4j.api.models.Epic> getEpics​(java.lang.Object groupIdOrPath, int page, int perPage)
      Gets all epics of the requested group and its subgroups using the specified page and per page setting.
      Pager<org.gitlab4j.api.models.Epic> getEpics​(java.lang.Object groupIdOrPath, int itemsPerPage, org.gitlab4j.api.models.EpicFilter filter)
      Gets all epics of the requested group and its subgroups using the specified page and per page setting.
      java.util.List<org.gitlab4j.api.models.Epic> getEpics​(java.lang.Object groupIdOrPath, java.lang.Long authorId, java.lang.String labels, org.gitlab4j.models.Constants.EpicOrderBy orderBy, org.gitlab4j.models.Constants.SortOrder sortOrder, java.lang.String search)
      Gets all epics of the requested group and its subgroups.
      Pager<org.gitlab4j.api.models.Epic> getEpics​(java.lang.Object groupIdOrPath, java.lang.Long authorId, java.lang.String labels, org.gitlab4j.models.Constants.EpicOrderBy orderBy, org.gitlab4j.models.Constants.SortOrder sortOrder, java.lang.String search, int itemsPerPage)
      Get a Pager of all epics of the requested group and its subgroups.
      java.util.List<org.gitlab4j.api.models.Epic> getEpics​(java.lang.Object groupIdOrPath, java.lang.Long authorId, java.lang.String labels, org.gitlab4j.models.Constants.EpicOrderBy orderBy, org.gitlab4j.models.Constants.SortOrder sortOrder, java.lang.String search, int page, int perPage)
      Gets all epics of the requested group and its subgroups using the specified page and per page setting.
      java.util.List<org.gitlab4j.api.models.Epic> getEpics​(java.lang.Object groupIdOrPath, org.gitlab4j.api.models.EpicFilter filter)
      Gets all epics of the requested group and its subgroups using the specified page and per page setting.
      java.util.stream.Stream<org.gitlab4j.api.models.Epic> getEpicsStream​(java.lang.Object groupIdOrPath)
      Gets all epics of the requested group and its subgroups as a Stream.
      java.util.stream.Stream<org.gitlab4j.api.models.Epic> getEpicsStream​(java.lang.Object groupIdOrPath, java.lang.Long authorId, java.lang.String labels, org.gitlab4j.models.Constants.EpicOrderBy orderBy, org.gitlab4j.models.Constants.SortOrder sortOrder, java.lang.String search)
      Gets all epics of the requested group and its subgroups as a Stream.
      java.util.Optional<org.gitlab4j.api.models.Epic> getOptionalEpic​(java.lang.Object groupIdOrPath, java.lang.Long epicIid)
      Get an Optional instance with the value for the specific Epic.
      java.util.List<org.gitlab4j.api.models.RelatedEpic> getRelatedEpics​(java.lang.Object groupIdOrPath, java.lang.Long epicIid)
      Gets all linked epics of an epic filtered according to the user authorizations.
      Pager<org.gitlab4j.api.models.RelatedEpic> getRelatedEpics​(java.lang.Object groupIdOrPath, java.lang.Long epicIid, int itemsPerPage)
      Get a Pager of all linked epics of an epic filtered according to the user authorizations.
      java.util.stream.Stream<org.gitlab4j.api.models.RelatedEpic> getRelatedEpicsStream​(java.lang.Object groupIdOrPath, java.lang.Long epicIid)
      Gets all linked epics of an epic filtered according to the user authorizations to as a Stream.
      org.gitlab4j.api.models.EpicIssueLink removeIssue​(java.lang.Object groupIdOrPath, java.lang.Long epicIid, java.lang.Long epicIssueId)
      Remove an epic - issue association.
      java.util.List<org.gitlab4j.api.models.ChildEpic> reOrderChildEpic​(java.lang.Object groupIdOrPath, java.lang.Long epicIid, java.lang.Long childEpicId, java.lang.Long moveBeforeId, java.lang.Long moveAfterId)
      Re-order a child epic
      org.gitlab4j.api.models.ChildEpic unassignChildEpic​(java.lang.Object groupIdOrPath, java.lang.Long epicIid, java.lang.Long childEpicId)
      Unassigns a child epic from a parent epic.
      org.gitlab4j.api.models.Epic updateEpic​(java.lang.Object groupIdOrPath, java.lang.Long epicIid, java.lang.String title, java.lang.String labels, java.lang.String description, java.util.Date startDate, java.util.Date endDate)
      org.gitlab4j.api.models.Epic updateEpic​(java.lang.Object groupIdOrPath, java.lang.Long epicIid, java.lang.String title, java.lang.String labels, java.lang.String description, java.util.Date startDate, java.util.Date endDate, org.gitlab4j.models.Constants.StateEvent stateEvent, java.lang.Boolean confidential, java.lang.Long parentId)
      Updates an existing epic.
      org.gitlab4j.api.models.Epic updateEpic​(java.lang.Object groupIdOrPath, java.lang.Long epicIid, org.gitlab4j.api.models.Epic epic)
      Updates an epic using the information contained in the provided Epic instance.
      java.util.List<org.gitlab4j.api.models.EpicIssue> updateIssue​(java.lang.Object groupIdOrPath, java.lang.Long epicIid, java.lang.Long epicIssueId, java.lang.Long moveBeforeId, java.lang.Long moveAfterId)
      Updates an epic - issue association.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • EpicsApi

        public EpicsApi​(GitLabApi gitLabApi)
    • Method Detail

      • getEpics

        public java.util.List<org.gitlab4j.api.models.Epic> getEpics​(java.lang.Object groupIdOrPath)
                                                              throws GitLabApiException
        Gets all epics of the requested group and its subgroups.
        GitLab Endpoint: GET /groups/:id/epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        Returns:
        a list of all epics of the requested group and its subgroups
        Throws:
        GitLabApiException - if any exception occurs
      • getEpics

        public java.util.List<org.gitlab4j.api.models.Epic> getEpics​(java.lang.Object groupIdOrPath,
                                                                     int page,
                                                                     int perPage)
                                                              throws GitLabApiException
        Gets all epics of the requested group and its subgroups using the specified page and per page setting.
        GitLab Endpoint: GET /groups/:id/epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        page - the page to get
        perPage - the number of epics per page
        Returns:
        a list of all epics of the requested group and its subgroups in the specified range
        Throws:
        GitLabApiException - if any exception occurs
      • getEpics

        public Pager<org.gitlab4j.api.models.Epic> getEpics​(java.lang.Object groupIdOrPath,
                                                            int itemsPerPage)
                                                     throws GitLabApiException
        Get a Pager of all epics of the requested group and its subgroups.
        GitLab Endpoint: GET /groups/:id/epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        itemsPerPage - the number of epics per page
        Returns:
        the Pager of all epics of the requested group and its subgroups
        Throws:
        GitLabApiException - if any exception occurs
      • getEpicsStream

        public java.util.stream.Stream<org.gitlab4j.api.models.Epic> getEpicsStream​(java.lang.Object groupIdOrPath)
                                                                             throws GitLabApiException
        Gets all epics of the requested group and its subgroups as a Stream.
        GitLab Endpoint: GET /groups/:id/epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        Returns:
        a Stream of all epics of the requested group and its subgroups
        Throws:
        GitLabApiException - if any exception occurs
      • getEpics

        public java.util.List<org.gitlab4j.api.models.Epic> getEpics​(java.lang.Object groupIdOrPath,
                                                                     java.lang.Long authorId,
                                                                     java.lang.String labels,
                                                                     org.gitlab4j.models.Constants.EpicOrderBy orderBy,
                                                                     org.gitlab4j.models.Constants.SortOrder sortOrder,
                                                                     java.lang.String search)
                                                              throws GitLabApiException
        Gets all epics of the requested group and its subgroups.
        GitLab Endpoint: GET /groups/:id/epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        authorId - returns epics created by the given user id
        labels - return epics matching a comma separated list of labels names. Label names from the epic group or a parent group can be used
        orderBy - return epics ordered by CREATED_AT or UPDATED_AT. Default is CREATED_AT
        sortOrder - return epics sorted in ASC or DESC order. Default is DESC
        search - search epics against their title and description
        Returns:
        a list of matching epics of the requested group and its subgroups
        Throws:
        GitLabApiException - if any exception occurs
      • getEpics

        public java.util.List<org.gitlab4j.api.models.Epic> getEpics​(java.lang.Object groupIdOrPath,
                                                                     java.lang.Long authorId,
                                                                     java.lang.String labels,
                                                                     org.gitlab4j.models.Constants.EpicOrderBy orderBy,
                                                                     org.gitlab4j.models.Constants.SortOrder sortOrder,
                                                                     java.lang.String search,
                                                                     int page,
                                                                     int perPage)
                                                              throws GitLabApiException
        Gets all epics of the requested group and its subgroups using the specified page and per page setting.
        GitLab Endpoint: GET /groups/:id/epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        authorId - returns epics created by the given user id
        labels - return epics matching a comma separated list of labels names Label names from the epic group or a parent group can be used
        orderBy - return epics ordered by CREATED_AT or UPDATED_AT. Default is CREATED_AT
        sortOrder - return epics sorted in ASC or DESC order. Default is DESC
        search - search epics against their title and description
        page - the page to get
        perPage - the number of epics per page
        Returns:
        a list of matching epics of the requested group and its subgroups in the specified range
        Throws:
        GitLabApiException - if any exception occurs
      • getEpics

        public java.util.List<org.gitlab4j.api.models.Epic> getEpics​(java.lang.Object groupIdOrPath,
                                                                     org.gitlab4j.api.models.EpicFilter filter)
                                                              throws GitLabApiException
        Gets all epics of the requested group and its subgroups using the specified page and per page setting.
        GitLab Endpoint: GET /groups/:id/epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        filter - epic filter
        Returns:
        a list of matching epics of the requested group and its subgroups in the specified range
        Throws:
        GitLabApiException - if any exception occurs
      • getEpics

        public Pager<org.gitlab4j.api.models.Epic> getEpics​(java.lang.Object groupIdOrPath,
                                                            java.lang.Long authorId,
                                                            java.lang.String labels,
                                                            org.gitlab4j.models.Constants.EpicOrderBy orderBy,
                                                            org.gitlab4j.models.Constants.SortOrder sortOrder,
                                                            java.lang.String search,
                                                            int itemsPerPage)
                                                     throws GitLabApiException
        Get a Pager of all epics of the requested group and its subgroups.
        GitLab Endpoint: GET /groups/:id/epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        authorId - returns epics created by the given user id
        labels - return epics matching a comma separated list of labels names. Label names from the epic group or a parent group can be used
        itemsPerPage - the number of epics per page
        orderBy - return epics ordered by CREATED_AT or UPDATED_AT. Default is CREATED_AT
        sortOrder - return epics sorted in ASC or DESC order. Default is DESC
        search - search epics against their title and description
        Returns:
        the Pager of matching epics of the requested group and its subgroups
        Throws:
        GitLabApiException - if any exception occurs
      • getEpics

        public Pager<org.gitlab4j.api.models.Epic> getEpics​(java.lang.Object groupIdOrPath,
                                                            int itemsPerPage,
                                                            org.gitlab4j.api.models.EpicFilter filter)
                                                     throws GitLabApiException
        Gets all epics of the requested group and its subgroups using the specified page and per page setting.
        GitLab Endpoint: GET /groups/:id/epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        filter - epic filter
        itemsPerPage - the number of epics per page
        Returns:
        a list of matching epics of the requested group and its subgroups in the specified range
        Throws:
        GitLabApiException - if any exception occurs
      • getEpicsStream

        public java.util.stream.Stream<org.gitlab4j.api.models.Epic> getEpicsStream​(java.lang.Object groupIdOrPath,
                                                                                    java.lang.Long authorId,
                                                                                    java.lang.String labels,
                                                                                    org.gitlab4j.models.Constants.EpicOrderBy orderBy,
                                                                                    org.gitlab4j.models.Constants.SortOrder sortOrder,
                                                                                    java.lang.String search)
                                                                             throws GitLabApiException
        Gets all epics of the requested group and its subgroups as a Stream.
        GitLab Endpoint: GET /groups/:id/epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        authorId - returns epics created by the given user id
        labels - return epics matching a comma separated list of labels names. Label names from the epic group or a parent group can be used
        orderBy - return epics ordered by CREATED_AT or UPDATED_AT. Default is CREATED_AT
        sortOrder - return epics sorted in ASC or DESC order. Default is DESC
        search - search epics against their title and description
        Returns:
        a Stream of matching epics of the requested group and its subgroups
        Throws:
        GitLabApiException - if any exception occurs
      • getEpic

        public org.gitlab4j.api.models.Epic getEpic​(java.lang.Object groupIdOrPath,
                                                    java.lang.Long epicIid)
                                             throws GitLabApiException
        Get a single epic for the specified group.
        GitLab Endpoint: GET /groups/:id/epics/:epic_iid
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the IID of the epic to get
        Returns:
        an Epic instance for the specified Epic
        Throws:
        GitLabApiException - if any exception occurs
      • getOptionalEpic

        public java.util.Optional<org.gitlab4j.api.models.Epic> getOptionalEpic​(java.lang.Object groupIdOrPath,
                                                                                java.lang.Long epicIid)
        Get an Optional instance with the value for the specific Epic.
        GitLab Endpoint: GET /groups/:id/epics/:epic_iid
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the IID of the epic to get
        Returns:
        an Optional instance with the specified Epic as a value
      • createEpic

        @Deprecated
        public org.gitlab4j.api.models.Epic createEpic​(java.lang.Object groupIdOrPath,
                                                       java.lang.String title,
                                                       java.lang.String labels,
                                                       java.lang.String description,
                                                       java.util.Date startDate,
                                                       java.util.Date endDate)
                                                throws GitLabApiException
        Creates a new epic.
        GitLab Endpoint: POST /groups/:id/epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        title - the title of the epic (required)
        labels - comma separated list of labels (optional)
        description - the description of the epic (optional)
        startDate - the start date of the epic (optional)
        endDate - the end date of the epic (optional)
        Returns:
        an Epic instance containing info on the newly created epic
        Throws:
        GitLabApiException - if any exception occurs
      • createEpic

        public org.gitlab4j.api.models.Epic createEpic​(java.lang.Object groupIdOrPath,
                                                       java.lang.String title,
                                                       java.lang.String labels,
                                                       java.lang.String description,
                                                       java.util.Date startDate,
                                                       java.util.Date endDate,
                                                       java.util.Date createdAt)
                                                throws GitLabApiException
        Creates a new epic.
        GitLab Endpoint: POST /groups/:id/epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        title - the title of the epic (required)
        labels - comma separated list of labels (optional)
        description - the description of the epic (optional)
        startDate - the start date of the epic (optional)
        endDate - the end date of the epic (optional)
        createdAt - the end date when the epic was created. Requires administrator or project/group owner privileges (optional)
        Returns:
        an Epic instance containing info on the newly created epic
        Throws:
        GitLabApiException - if any exception occurs
      • createEpic

        public org.gitlab4j.api.models.Epic createEpic​(java.lang.Object groupIdOrPath,
                                                       org.gitlab4j.api.models.Epic epic)
                                                throws GitLabApiException
        Creates a new epic using the information contained in the provided Epic instance. Only the following fields from the Epic instance are used:
        
              title - the title of the epic (required)
              labels - comma separated list of labels (optional)
              description - the description of the epic (optional)
              startDate - the start date of the epic (optional)
              endDate - the end date of the epic (optional)
         
        GitLab Endpoint: POST /groups/:id/epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epic - the Epic instance with information for the new epic
        Returns:
        an Epic instance containing info on the newly created epic
        Throws:
        GitLabApiException - if any exception occurs
      • updateEpic

        @Deprecated
        public org.gitlab4j.api.models.Epic updateEpic​(java.lang.Object groupIdOrPath,
                                                       java.lang.Long epicIid,
                                                       java.lang.String title,
                                                       java.lang.String labels,
                                                       java.lang.String description,
                                                       java.util.Date startDate,
                                                       java.util.Date endDate)
                                                throws GitLabApiException
        Updates an existing epic.
        GitLab Endpoint: PUT /groups/:id/epics/:epic_iid
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the IID of the epic to update
        title - the title of the epic (optional)
        labels - comma separated list of labels (optional)
        description - the description of the epic (optional)
        startDate - the start date of the epic (optional)
        endDate - the end date of the epic (optional)
        Returns:
        an Epic instance containing info on the newly created epic
        Throws:
        GitLabApiException - if any exception occurs
      • updateEpic

        public org.gitlab4j.api.models.Epic updateEpic​(java.lang.Object groupIdOrPath,
                                                       java.lang.Long epicIid,
                                                       java.lang.String title,
                                                       java.lang.String labels,
                                                       java.lang.String description,
                                                       java.util.Date startDate,
                                                       java.util.Date endDate,
                                                       org.gitlab4j.models.Constants.StateEvent stateEvent,
                                                       java.lang.Boolean confidential,
                                                       java.lang.Long parentId)
                                                throws GitLabApiException
        Updates an existing epic.
        GitLab Endpoint: PUT /groups/:id/epics/:epic_iid
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the IID of the epic to update
        title - the title of the epic (optional)
        labels - comma separated list of labels (optional)
        description - the description of the epic (optional)
        startDate - the start date of the epic (optional)
        endDate - the end date of the epic (optional)
        stateEvent - State event for an epic. Set close to Constants.StateEvent.CLOSEL the epic and Constants.StateEvent.REOPEN to reopen it (optional)
        confidential - Whether the epic should be confidential (optional)
        parentId - The ID of a parent epic (optional)
        Returns:
        an Epic instance containing info on the newly created epic
        Throws:
        GitLabApiException - if any exception occurs
      • updateEpic

        public org.gitlab4j.api.models.Epic updateEpic​(java.lang.Object groupIdOrPath,
                                                       java.lang.Long epicIid,
                                                       org.gitlab4j.api.models.Epic epic)
                                                throws GitLabApiException
        Updates an epic using the information contained in the provided Epic instance. Only the following fields from the Epic instance are used:
        
              title - the title of the epic (optional)
              labels - comma separated list of labels (optional)
              description - the description of the epic (optional)
              startDate - the start date of the epic (optional)
              endDate - the end date of the epic (optional)
         
        GitLab Endpoint: PUT /groups/:id/epics/:epic_iid
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the IID of the epic to update
        epic - the Epic instance with update information
        Returns:
        an Epic instance containing info on the updated epic
        Throws:
        GitLabApiException - if any exception occurs
      • deleteEpic

        public void deleteEpic​(java.lang.Object groupIdOrPath,
                               java.lang.Long epicIid)
                        throws GitLabApiException
        Deletes an epic.
        GitLab Endpoint: DELETE /groups/:id/epics/:epic_iid
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the IID of the epic to delete
        Throws:
        GitLabApiException - if any exception occurs
      • getEpicIssues

        public java.util.List<org.gitlab4j.api.models.EpicIssue> getEpicIssues​(java.lang.Object groupIdOrPath,
                                                                               java.lang.Long epicIid)
                                                                        throws GitLabApiException
        Gets all issues that are assigned to an epic and the authenticated user has access to.
        GitLab Endpoint: GET /groups/:id/epics/:epic_iid/issues
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the IID of the epic to get issues for
        Returns:
        a list of all issues belonging to the specified epic
        Throws:
        GitLabApiException - if any exception occurs
      • getEpicIssues

        public java.util.List<org.gitlab4j.api.models.EpicIssue> getEpicIssues​(java.lang.Object groupIdOrPath,
                                                                               java.lang.Long epicIid,
                                                                               int page,
                                                                               int perPage)
                                                                        throws GitLabApiException
        Gets all issues that are assigned to an epic and the authenticated user has access to using the specified page and per page setting.
        GitLab Endpoint: GET /groups/:id/epics/:epic_iid/issues
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the IID of the epic to get issues for
        page - the page to get
        perPage - the number of epics per page
        Returns:
        a list of all issues belonging to the specified epic in the specified range
        Throws:
        GitLabApiException - if any exception occurs
      • getEpicIssues

        public Pager<org.gitlab4j.api.models.EpicIssue> getEpicIssues​(java.lang.Object groupIdOrPath,
                                                                      java.lang.Long epicIid,
                                                                      int itemsPerPage)
                                                               throws GitLabApiException
        Get a Pager of all issues that are assigned to an epic and the authenticated user has access to.
        GitLab Endpoint: GET /groups/:id/epics/:epic_iid/issues
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the IID of the epic to get issues for
        itemsPerPage - the number of epics per page
        Returns:
        the Pager of all issues belonging to the specified epic
        Throws:
        GitLabApiException - if any exception occurs
      • getEpicIssuesStream

        public java.util.stream.Stream<org.gitlab4j.api.models.EpicIssue> getEpicIssuesStream​(java.lang.Object groupIdOrPath,
                                                                                              java.lang.Long epicIid)
                                                                                       throws GitLabApiException
        Gets all issues that are assigned to an epic and the authenticated user has access to as a Stream.
        GitLab Endpoint: GET /groups/:id/epics/:epic_iid/issues
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the IID of the epic to get issues for
        Returns:
        a Stream of all issues belonging to the specified epic
        Throws:
        GitLabApiException - if any exception occurs
      • assignIssue

        public org.gitlab4j.api.models.EpicIssue assignIssue​(java.lang.Object groupIdOrPath,
                                                             java.lang.Long epicIid,
                                                             java.lang.Long issueId)
                                                      throws GitLabApiException
        Creates an epic - issue association. If the issue in question belongs to another epic it is unassigned from that epic.
        GitLab Endpoint: POST /groups/:id/epics/:epic_iid/issues/:issue_id
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the Epic IID to assign the issue to
        issueId - the issue ID of the issue to assign to the epic
        Returns:
        an EpicIssue instance containing info on the newly assigned epic issue
        Throws:
        GitLabApiException - if any exception occurs
      • removeIssue

        public org.gitlab4j.api.models.EpicIssueLink removeIssue​(java.lang.Object groupIdOrPath,
                                                                 java.lang.Long epicIid,
                                                                 java.lang.Long epicIssueId)
                                                          throws GitLabApiException
        Remove an epic - issue association.
        GitLab Endpoint: DELETE /groups/:id/epics/:epic_iid/issues/:epic_issue_id
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the Epic IID to remove the issue from
        epicIssueId - the ID of the "issue - epic" association of the issue to remove from the epic
        Returns:
        an EpicIssueLink instance containing info on the removed issue
        Throws:
        GitLabApiException - if any exception occurs
      • updateIssue

        public java.util.List<org.gitlab4j.api.models.EpicIssue> updateIssue​(java.lang.Object groupIdOrPath,
                                                                             java.lang.Long epicIid,
                                                                             java.lang.Long epicIssueId,
                                                                             java.lang.Long moveBeforeId,
                                                                             java.lang.Long moveAfterId)
                                                                      throws GitLabApiException
        Updates an epic - issue association.
        GitLab Endpoint: PUT /groups/:id/epics/:epic_iid/issues/:epic_issue_id
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the Epic IID that the issue is assigned to
        epicIssueId - the ID of the "issue - epic" association
        moveBeforeId - the ID of the "issue - epic" association that should be placed before the link in the question (optional)
        moveAfterId - the ID of the "issue - epic" association that should be placed after the link in the question (optional)
        Returns:
        a list of all issues belonging to the specified epic
        Throws:
        GitLabApiException - if any exception occurs
      • getChildEpics

        public java.util.List<org.gitlab4j.api.models.ChildEpic> getChildEpics​(java.lang.Object groupIdOrPath,
                                                                               java.lang.Long epicIid)
                                                                        throws GitLabApiException
        Gets all child epics of an epic and the authenticated user has access to.
        GitLab Endpoint: GET /groups/:id/epics/:epic_iid/epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the IID of the epic to get child epics for
        Returns:
        a list of all child epics of the specified epic
        Throws:
        GitLabApiException - if any exception occurs
      • getChildEpics

        public Pager<org.gitlab4j.api.models.ChildEpic> getChildEpics​(java.lang.Object groupIdOrPath,
                                                                      java.lang.Long epicIid,
                                                                      int itemsPerPage)
                                                               throws GitLabApiException
        Get a Pager of all child epics of an epic and the authenticated user has access to.
        GitLab Endpoint: GET /groups/:id/epics/:epic_iid/epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the IID of the epic to get child epics for
        itemsPerPage - the number of child epics per page
        Returns:
        the Pager of all child epics of the specified epic
        Throws:
        GitLabApiException - if any exception occurs
      • getChildEpicsStream

        public java.util.stream.Stream<org.gitlab4j.api.models.ChildEpic> getChildEpicsStream​(java.lang.Object groupIdOrPath,
                                                                                              java.lang.Long epicIid)
                                                                                       throws GitLabApiException
        Gets all child epics of an epic and the authenticated user has access to as a Stream.
        GitLab Endpoint: GET /groups/:id/epics/:epic_iid/epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the IID of the epic to get child epics for
        Returns:
        a Stream of all child epics of the specified epic
        Throws:
        GitLabApiException - if any exception occurs
      • assignChildEpic

        public org.gitlab4j.api.models.ChildEpic assignChildEpic​(java.lang.Object groupIdOrPath,
                                                                 java.lang.Long epicIid,
                                                                 java.lang.Long childEpicId)
                                                          throws GitLabApiException
        Creates an association between two epics, designating one as the parent epic and the other as the child epic. A parent epic can have multiple child epics. If the new child epic already belonged to another epic, it is unassigned from that previous parent.
        GitLab Endpoint: POST /groups/:id/epics/:epic_iid/epics/:child_epic_id
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the Epic IID to assign the child epic to
        childEpicId - the global ID of the child epic. Epic IID can’t be used because they can conflict with epics from other groups.
        Returns:
        an ChildEpic instance containing info on the newly assigned child epic
        Throws:
        GitLabApiException - if any exception occurs
      • createAndAssignChildEpic

        public org.gitlab4j.api.models.CreatedChildEpic createAndAssignChildEpic​(java.lang.Object groupIdOrPath,
                                                                                 java.lang.Long epicIid,
                                                                                 java.lang.String title,
                                                                                 java.lang.Boolean confidential)
                                                                          throws GitLabApiException
        Creates a new epic and associates it with provided parent epic.
        GitLab Endpoint: POST /groups/:id/epics/:epic_iid/epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the Epic IID to assign the child epic to (of the future parent epic)
        title - the title of a newly created epic
        confidential - whether the epic should be confidential (optional)
        Returns:
        an ChildEpic instance containing info on the newly created and assigned child epic
        Throws:
        GitLabApiException - if any exception occurs
      • reOrderChildEpic

        public java.util.List<org.gitlab4j.api.models.ChildEpic> reOrderChildEpic​(java.lang.Object groupIdOrPath,
                                                                                  java.lang.Long epicIid,
                                                                                  java.lang.Long childEpicId,
                                                                                  java.lang.Long moveBeforeId,
                                                                                  java.lang.Long moveAfterId)
                                                                           throws GitLabApiException
        Re-order a child epic
        GitLab Endpoint: PUT /groups/:id/epics/:epic_iid/epics/:child_epic_id
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the Epic IID that the child epic is assigned to
        childEpicId - the ID of the child epic. Epic IID can’t be used because they can conflict with epics from other groups.
        moveBeforeId - the ID of a sibling epic that should be placed before the child epic (optional)
        moveAfterId - the ID of a sibling epic that should be placed after the child epic (optional)
        Returns:
        a list of all child epics of the specified epic
        Throws:
        GitLabApiException - if any exception occurs
      • unassignChildEpic

        public org.gitlab4j.api.models.ChildEpic unassignChildEpic​(java.lang.Object groupIdOrPath,
                                                                   java.lang.Long epicIid,
                                                                   java.lang.Long childEpicId)
                                                            throws GitLabApiException
        Unassigns a child epic from a parent epic.
        GitLab Endpoint: DELETE /groups/:id/epics/:epic_iid/epics/:child_epic_id
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the Epic IID to remove the child epic from
        childEpicId - the ID of the child epic. Epic IID can’t be used because they can conflict with epics from other groups.
        Returns:
        an ChildEpic instance containing info on the removed child epic
        Throws:
        GitLabApiException - if any exception occurs
      • getRelatedEpics

        public java.util.List<org.gitlab4j.api.models.RelatedEpic> getRelatedEpics​(java.lang.Object groupIdOrPath,
                                                                                   java.lang.Long epicIid)
                                                                            throws GitLabApiException
        Gets all linked epics of an epic filtered according to the user authorizations.
        GitLab Endpoint: GET /groups/:id/epics/:epic_iid/related_epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the IID of the epic to get child epics for
        Returns:
        a list of all related epics of the specified epic
        Throws:
        GitLabApiException - if any exception occurs
      • getRelatedEpics

        public Pager<org.gitlab4j.api.models.RelatedEpic> getRelatedEpics​(java.lang.Object groupIdOrPath,
                                                                          java.lang.Long epicIid,
                                                                          int itemsPerPage)
                                                                   throws GitLabApiException
        Get a Pager of all linked epics of an epic filtered according to the user authorizations.
        GitLab Endpoint: GET /groups/:id/epics/:epic_iid/related_epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the IID of the epic to get child epics for
        itemsPerPage - the number of child epics per page
        Returns:
        the Pager of all related epics of the specified epic
        Throws:
        GitLabApiException - if any exception occurs
      • getRelatedEpicsStream

        public java.util.stream.Stream<org.gitlab4j.api.models.RelatedEpic> getRelatedEpicsStream​(java.lang.Object groupIdOrPath,
                                                                                                  java.lang.Long epicIid)
                                                                                           throws GitLabApiException
        Gets all linked epics of an epic filtered according to the user authorizations to as a Stream.
        GitLab Endpoint: GET /groups/:id/epics/:epic_iid/related_epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the IID of the epic to get child epics for
        Returns:
        a Stream of all related epics of the specified epic
        Throws:
        GitLabApiException - if any exception occurs
      • createRelatedEpicLink

        public org.gitlab4j.api.models.RelatedEpicLink createRelatedEpicLink​(java.lang.Object groupIdOrPath,
                                                                             java.lang.Long epicIid,
                                                                             java.lang.Object targetGroupIdOrPath,
                                                                             java.lang.Long targetEpicIid,
                                                                             org.gitlab4j.api.models.LinkType linkType)
                                                                      throws GitLabApiException
        Create a two-way relation between two epics. The user must have at least the Guest role for both groups.
        GitLab Endpoint: POST /groups/:id/epics/:epic_iid/related_epics
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the Epic IID to assign the child epic to
        targetGroupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path of the target group’s epic
        targetEpicIid - the Epic IID of the target group’s epic.
        linkType - the type of the relation (optional), defaults to LinkType.RELATES_TO.
        Returns:
        an RelatedEpic instance containing info on the newly assigned child epic
        Throws:
        GitLabApiException - if any exception occurs
      • deleteRelatedEpicLink

        public org.gitlab4j.api.models.RelatedEpicLink deleteRelatedEpicLink​(java.lang.Object groupIdOrPath,
                                                                             java.lang.Long epicIid,
                                                                             java.lang.Long relatedEpicLinkId)
                                                                      throws GitLabApiException
        Delete a two-way relation between two epics. The user must have at least the Guest role for both groups.
        GitLab Endpoint: DELETE /groups/:id/epics/:epic_iid/related_epics/:related_epic_link_id
        Parameters:
        groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
        epicIid - the Epic IID to remove the child epic from
        relatedEpicLinkId - the ID a related epic link.
        Returns:
        an RelatedEpicLink instance containing info on the removed related epic
        Throws:
        GitLabApiException - if any exception occurs