Class ServicesApi

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

    public class ServicesApi
    extends AbstractApi
    Access for the services API. Currently only the gitlab-ci, HipChatService, Slack, and JIRA service are supported. See GitLab documentation for more info.
    • 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.AutoCancelPendingPipelines, 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.ProjectFeatureVisibilityAccessLevel, 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 Detail

      • ServicesApi

        public ServicesApi​(GitLabApi gitLabApi)
    • Method Detail

      • setGitLabCI

        public void setGitLabCI​(java.lang.Object projectIdOrPath,
                                java.lang.String token,
                                java.lang.String projectCIUrl)
                         throws GitLabApiException
        Deprecated.
        No longer supported
        Activates the gitlab-ci service for a project.
        GitLab Endpoint: PUT /projects/:id/services/gitlab-ci
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        token - for authentication
        projectCIUrl - URL of the GitLab-CI project
        Throws:
        GitLabApiException - if any exception occurs
      • deleteGitLabCI

        public void deleteGitLabCI​(java.lang.Object projectIdOrPath)
                            throws GitLabApiException
        Deprecated.
        No longer supported
        Deletes the gitlab-ci service for a project.
        GitLab Endpoint: DELETE /projects/:id/services/gitlab-ci
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Throws:
        GitLabApiException - if any exception occurs
      • getHipChatService

        public org.gitlab4j.api.services.HipChatService getHipChatService​(java.lang.Object projectIdOrPath)
                                                                   throws GitLabApiException
        Get the HipChatService notification configuration for a project.
        GitLab Endpoint: GET /projects/:id/services/hipchat
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Returns:
        a HipChatService instance holding the HipChatService notification settings
        Throws:
        GitLabApiException - if any exception occurs
      • updateHipChatService

        public org.gitlab4j.api.services.HipChatService updateHipChatService​(java.lang.Object projectIdOrPath,
                                                                             org.gitlab4j.api.services.HipChatService hipChat)
                                                                      throws GitLabApiException
        Updates the HipChatService notification settings for a project.
        GitLab Endpoint: PUT /projects/:id/services/hipchat
        The following properties on the HipChatService instance are utilized in the update of the settings:

        pushEvents (optional) - Enable notifications for push events issuesEvents (optional) - Enable notifications for issue events confidentialIssuesEvents (optional) - Enable notifications for confidential issue events MergeRequestsEvents (optional) - Enable notifications for merge request events tagPushEvents (optional) - Enable notifications for tag push events noteEvents (optional) - Enable notifications for note events confidentialNoteEvents (optional) - Enable notifications for confidential note events pipelineEvents (optional) - Enable notifications for pipeline events token (required) - The room token color (optional) - The room color notify (optional) - Enable notifications room (optional) - Room name or ID apiVersion (optional) - Leave blank for default (v2) server (false) - Leave blank for default. https://hipchat.example.com notifyOnlyBrokenPipelines (optional) - Send notifications for broken pipelines

        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        hipChat - the HipChatService instance holding the settings
        Returns:
        a HipChatService instance holding the newly updated settings
        Throws:
        GitLabApiException - if any exception occurs
      • setHipChat

        public void setHipChat​(java.lang.Object projectIdOrPath,
                               java.lang.String token,
                               java.lang.String room,
                               java.lang.String server)
                        throws GitLabApiException
        Deprecated.
        replaced with updateHipChat method
        Activates HipChatService notifications.
        GitLab Endpoint: PUT /projects/:id/services/hipchat
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        token - for authentication
        room - HipChatService Room
        server - HipChatService Server URL
        Throws:
        GitLabApiException - if any exception occurs
      • deleteHipChat

        public void deleteHipChat​(java.lang.Object projectIdOrPath)
                           throws GitLabApiException
        Deprecated.
        replaced with updateHipChat method
        Deletes the HipChatService service for a project.
        GitLab Endpoint: DELETE /projects/:id/services/hipchat
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Throws:
        GitLabApiException - if any exception occurs
      • deleteHipChatService

        public void deleteHipChatService​(java.lang.Object projectIdOrPath)
                                  throws GitLabApiException
        Deletes the HipChatService service for a project.
        GitLab Endpoint: DELETE /projects/:id/services/hipchat
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Throws:
        GitLabApiException - if any exception occurs
      • getSlackService

        public org.gitlab4j.api.services.SlackService getSlackService​(java.lang.Object projectIdOrPath)
                                                               throws GitLabApiException
        Get the Slack notification settings for a project.
        GitLab Endpoint: GET /projects/:id/services/slack
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Returns:
        a SlackService instance holding the Slack notification settings
        Throws:
        GitLabApiException - if any exception occurs
      • updateSlackService

        public org.gitlab4j.api.services.SlackService updateSlackService​(java.lang.Object projectIdOrPath,
                                                                         org.gitlab4j.api.services.SlackService slackNotifications)
                                                                  throws GitLabApiException
        Updates the Slack notification settings for a project.
        GitLab Endpoint: PUT /projects/:id/services/slack
        The following properties on the SlackService instance are utilized in the update of the settings:

        webhook (required) - https://hooks.slack.com/services/... username (optional) - username defaultChannel (optional) - Default channel to use if others are not configured notifyOnlyBrokenPipelines (optional) - Send notifications for broken pipelines notifyOnlyDefault_branch (optional) - Send notifications only for the default branch pushEvents (optional) - Enable notifications for push events issuesEvents (optional) - Enable notifications for issue events confidentialIssuesEvents (optional) - Enable notifications for confidential issue events mergeRequestsEvents (optional) - Enable notifications for merge request events tagPushEvents (optional) - Enable notifications for tag push events noteEvents (optional) - Enable notifications for note events confidentialNoteEvents (optional) - Enable notifications for confidential note events pipelineEvents (optional) - Enable notifications for pipeline events wikiPageEvents (optional) - Enable notifications for wiki page events pushChannel (optional) - The name of the channel to receive push events notifications issueChannel (optional) - The name of the channel to receive issues events notifications confidentialIssueChannel (optional) - The name of the channel to receive confidential issues events notifications mergeRequestChannel (optional) - The name of the channel to receive merge request events notifications noteChannel (optional) - The name of the channel to receive note events notifications confidentialNoteChannel (optional) - The name of the channel to receive confidential note events notifications tagPushChannel (optional) - The name of the channel to receive tag push events notifications pipelineChannel (optional) - The name of the channel to receive pipeline events notifications wikiPageChannel (optional) - The name of the channel to receive wiki page events notifications

        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        slackNotifications - the SlackService instance holding the settings
        Returns:
        a SlackService instance holding the newly updated settings
        Throws:
        GitLabApiException - if any exception occurs
      • deleteSlackService

        public void deleteSlackService​(java.lang.Object projectIdOrPath)
                                throws GitLabApiException
        Deletes the Slack notifications service for a project.
        GitLab Endpoint: DELETE /projects/:id/services/slack
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Throws:
        GitLabApiException - if any exception occurs
      • getJiraService

        public org.gitlab4j.api.services.JiraService getJiraService​(java.lang.Object projectIdOrPath)
                                                             throws GitLabApiException
        Get the JIRA service settings for a project.
        GitLab Endpoint: GET /projects/:id/services/jira
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Returns:
        a JiraService instance holding the JIRA service settings
        Throws:
        GitLabApiException - if any exception occurs
      • updateJiraService

        public org.gitlab4j.api.services.JiraService updateJiraService​(java.lang.Object projectIdOrPath,
                                                                       org.gitlab4j.api.services.JiraService jira)
                                                                throws GitLabApiException
        Updates the JIRA service settings for a project.
        GitLab Endpoint: PUT /projects/:id/services/jira
        The following properties on the JiraService instance are utilized in the update of the settings:

        mergeRequestsEvents (optional) - Enable notifications for merge request events commitEvents (optional) - Enable notifications for commit events url (required) - The URL to the JIRA project which is being linked to this GitLab project, e.g., https://jira.example.com. apiUrl (optional) - The JIRA API url if different than url projectKey (optional) - The short identifier for your JIRA project, all uppercase, e.g., PROJ. username (required) - The username of the user created to be used with GitLab/JIRA. password (required) - The password of the user created to be used with GitLab/JIRA. jiraIssueTransitionId (optional) - The ID of a transition that moves issues to a closed state.

        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        jira - the JiraService instance holding the settings
        Returns:
        a JiraService instance holding the newly updated settings
        Throws:
        GitLabApiException - if any exception occurs
      • deleteJiraService

        public void deleteJiraService​(java.lang.Object projectIdOrPath)
                               throws GitLabApiException
        Deletes the JIRA service for a project.
        GitLab Endpoint: DELETE /projects/:id/services/jira
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Throws:
        GitLabApiException - if any exception occurs
      • getExternalWikiService

        public org.gitlab4j.api.services.ExternalWikiService getExternalWikiService​(java.lang.Object projectIdOrPath)
                                                                             throws GitLabApiException
        Get the ExternalWiki service settings for a project.
        GitLab Endpoint: GET /projects/:id/services/external-wiki
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Returns:
        a ExternalWikiService instance holding the External Wiki service settings
        Throws:
        GitLabApiException - if any exception occurs
      • updateExternalWikiService

        public org.gitlab4j.api.services.ExternalWikiService updateExternalWikiService​(java.lang.Object projectIdOrPath,
                                                                                       org.gitlab4j.api.services.ExternalWikiService externalWiki)
                                                                                throws GitLabApiException
        Updates the ExternalWikiService service settings for a project.
        GitLab Endpoint: PUT /projects/:id/services/external-wiki
        The following properties on the JiraService instance are utilized in the update of the settings:

        external_wiki_url (required) - The URL to the External Wiki project which is being linked to this GitLab project, e.g., http://www.wikidot.com/

        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        externalWiki - the ExternalWikiService instance holding the settings
        Returns:
        a ExternalWikiService instance holding the newly updated settings
        Throws:
        GitLabApiException - if any exception occurs
      • deleteExternalWikiService

        public void deleteExternalWikiService​(java.lang.Object projectIdOrPath)
                                       throws GitLabApiException
        Deletes the ExternalWiki service for a project.
        GitLab Endpoint: DELETE /projects/:id/services/external-wiki
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Throws:
        GitLabApiException - if any exception occurs
      • getMattermostService

        public org.gitlab4j.api.services.MattermostService getMattermostService​(java.lang.Object projectIdOrPath)
                                                                         throws GitLabApiException
        Get the Mattermost service settings for a project.
        GitLab Endpoint: GET /projects/:id/services/mattermost
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Returns:
        a MattermostService instance holding the Mattermost service settings
        Throws:
        GitLabApiException - if any exception occurs
      • updateMattermostService

        public org.gitlab4j.api.services.MattermostService updateMattermostService​(java.lang.Object projectIdOrPath,
                                                                                   org.gitlab4j.api.services.MattermostService mattermostNotifications)
                                                                            throws GitLabApiException
        Updates the Mattermost service settings for a project.
        GitLab Endpoint: PUT /projects/:id/services/mattermost
        The following properties on the MattermostService instance are utilized in the update of the settings:

        webhook (required) - https://hooks.slack.com/services/... username (optional) - username defaultChannel (optional) - Default channel to use if others are not configured notifyOnlyBrokenPipelines (optional) - Send notifications for broken pipelines notifyOnlyDefault_branch (optional) - Send notifications only for the default branch pushEvents (optional) - Enable notifications for push events issuesEvents (optional) - Enable notifications for issue events confidentialIssuesEvents (optional) - Enable notifications for confidential issue events mergeRequestsEvents (optional) - Enable notifications for merge request events tagPushEvents (optional) - Enable notifications for tag push events noteEvents (optional) - Enable notifications for note events confidentialNoteEvents (optional) - Enable notifications for confidential note events pipelineEvents (optional) - Enable notifications for pipeline events wikiPageEvents (optional) - Enable notifications for wiki page events pushChannel (optional) - The name of the channel to receive push events notifications issueChannel (optional) - The name of the channel to receive issues events notifications confidentialIssueChannel (optional) - The name of the channel to receive confidential issues events notifications mergeRequestChannel (optional) - The name of the channel to receive merge request events notifications noteChannel (optional) - The name of the channel to receive note events notifications confidentialNoteChannel (optional) - The name of the channel to receive confidential note events notifications tagPushChannel (optional) - The name of the channel to receive tag push events notifications pipelineChannel (optional) - The name of the channel to receive pipeline events notifications wikiPageChannel (optional) - The name of the channel to receive wiki page events notifications

        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        mattermostNotifications - the MattermostService instance holding the settings
        Returns:
        a MattermostService instance holding the newly updated settings
        Throws:
        GitLabApiException - if any exception occurs
      • deleteMattermostService

        public void deleteMattermostService​(java.lang.Object projectIdOrPath)
                                     throws GitLabApiException
        Deletes the Mattermost service for a project.
        GitLab Endpoint: DELETE /projects/:id/services/external-wiki
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Throws:
        GitLabApiException - if any exception occurs
      • getBugzillaService

        public org.gitlab4j.api.services.BugzillaService getBugzillaService​(java.lang.Object projectIdOrPath)
                                                                     throws GitLabApiException
        Get the Bugzilla service settings for a project.
        GitLab Endpoint: GET /projects/:id/services/bugzilla
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Returns:
        a BugzillaService instance holding the External Wiki service settings
        Throws:
        GitLabApiException - if any exception occurs
      • updateBugzillaService

        public org.gitlab4j.api.services.BugzillaService updateBugzillaService​(java.lang.Object projectIdOrPath,
                                                                               org.gitlab4j.api.services.BugzillaService bugzillaService)
                                                                        throws GitLabApiException
        Updates the Bugzilla service settings for a project.
        GitLab Endpoint: PUT /projects/:id/services/bugzilla
        The following properties on the BugzillaService instance are utilized in the update of the settings:

        description (optional), description issuesUrl (required), issue url newIssueUrl (required), new Issue url projectUrl (required), project url pushEvents (optional) - Enable notifications for push events title (optional), the title for the custom issue tracker

        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        bugzillaService - the BugzillaService instance holding the settings
        Returns:
        a BugzillaService instance holding the newly updated settings
        Throws:
        GitLabApiException - if any exception occurs
      • deleteBugzillaService

        public void deleteBugzillaService​(java.lang.Object projectIdOrPath)
                                   throws GitLabApiException
        Deletes the Bugzilla service for a project.
        GitLab Endpoint: DELETE /projects/:id/services/bugzilla
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Throws:
        GitLabApiException - if any exception occurs
      • getCustomIssueTrackerService

        public org.gitlab4j.api.services.CustomIssueTrackerService getCustomIssueTrackerService​(java.lang.Object projectIdOrPath)
                                                                                         throws GitLabApiException
        Get the Custom Issue Tracker service settings for a project.
        GitLab Endpoint: GET /projects/:id/services/custom_issue_tracker
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Returns:
        a ExternalWikiService instance holding the External Wiki service settings
        Throws:
        GitLabApiException - if any exception occurs
      • updateCustomIssueTrackerService

        public org.gitlab4j.api.services.CustomIssueTrackerService updateCustomIssueTrackerService​(java.lang.Object projectIdOrPath,
                                                                                                   org.gitlab4j.api.services.CustomIssueTrackerService customIssueTracker)
                                                                                            throws GitLabApiException
        Updates the Custom Issue Tracker service settings for a project.
        GitLab Endpoint: PUT /projects/:id/services/custom_issue_tracker
        The following properties on the CustomIssueTrackerService instance are utilized in the update of the settings:

        description (optional), description issuesUrl (required), issue url newIssueUrl (required), new Issue url projectUrl (required), project url pushEvents (optional) - Enable notifications for push events title (optional), the title for the custom issue tracker

        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        customIssueTracker - the CustomIssueTrackerService instance holding the settings
        Returns:
        a CustomIssueTrackerService instance holding the newly updated settings
        Throws:
        GitLabApiException - if any exception occurs
      • deleteCustomIssueTrackerService

        public void deleteCustomIssueTrackerService​(java.lang.Object projectIdOrPath)
                                             throws GitLabApiException
        Deletes the Custom Issue Tracker service for a project.
        GitLab Endpoint: DELETE /projects/:id/services/custom_issue_tracker
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Throws:
        GitLabApiException - if any exception occurs
      • getEmailOnPushService

        public org.gitlab4j.api.services.EmailOnPushService getEmailOnPushService​(java.lang.Object projectIdOrPath)
                                                                           throws GitLabApiException
        Get Emails on push service settings for a project.
        GitLab Endpoint: GET /projects/:id/services/emails-on-push
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Returns:
        a EmailOnPushService instance holding the Email on push settings
        Throws:
        GitLabApiException - if any exception occurs
      • updateEmailOnPushService

        public org.gitlab4j.api.services.EmailOnPushService updateEmailOnPushService​(java.lang.Object projectIdOrPath,
                                                                                     org.gitlab4j.api.services.EmailOnPushService emailsOnPush)
                                                                              throws GitLabApiException
        Updates the EmailsOnPush service settings for a project.
        GitLab Endpoint: PUT /projects/:id/services/emails-on-push
        The following properties on the EmailOnPushService instance are utilized in the update of the settings:

        recipients (required), Emails separated by whitespace disable_diffs (optional), Disable code diffs send_from_committer_email (optional), Send from committer push_events (optional), Enable notifications for push events tag_push_events(optional), Enable notifications for tag push events branches_to_be_notified (optional), Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected". Notifications are always fired for tag pushes. The default value is "all"

        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        emailsOnPush - the EmailOnPushService instance holding the settings
        Returns:
        a EmailOnPushService instance holding the newly updated settings
        Throws:
        GitLabApiException - if any exception occurs
      • deleteEmailonPushService

        public void deleteEmailonPushService​(java.lang.Object projectIdOrPath)
                                      throws GitLabApiException
        Deletes the Emails on push service for a project.
        GitLab Endpoint: DELETE /projects/:id/services/emails-on-push
        Parameters:
        projectIdOrPath - id, path of the project, or a Project instance holding the project ID or path
        Throws:
        GitLabApiException - if any exception occurs