summaryrefslogtreecommitdiff
path: root/gitlab/v4/objects/services.py
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/v4/objects/services.py')
-rw-r--r--gitlab/v4/objects/services.py303
1 files changed, 0 insertions, 303 deletions
diff --git a/gitlab/v4/objects/services.py b/gitlab/v4/objects/services.py
deleted file mode 100644
index 6aedc39..0000000
--- a/gitlab/v4/objects/services.py
+++ /dev/null
@@ -1,303 +0,0 @@
-from gitlab import cli
-from gitlab.base import RESTManager, RESTObject
-from gitlab.mixins import (
- DeleteMixin,
- GetMixin,
- ListMixin,
- ObjectDeleteMixin,
- SaveMixin,
- UpdateMixin,
-)
-
-__all__ = [
- "ProjectService",
- "ProjectServiceManager",
-]
-
-
-class ProjectService(SaveMixin, ObjectDeleteMixin, RESTObject):
- pass
-
-
-class ProjectServiceManager(GetMixin, UpdateMixin, DeleteMixin, ListMixin, RESTManager):
- _path = "/projects/%(project_id)s/services"
- _from_parent_attrs = {"project_id": "id"}
- _obj_cls = ProjectService
-
- _service_attrs = {
- "asana": (("api_key",), ("restrict_to_branch", "push_events")),
- "assembla": (("token",), ("subdomain", "push_events")),
- "bamboo": (
- ("bamboo_url", "build_key", "username", "password"),
- ("push_events",),
- ),
- "bugzilla": (
- ("new_issue_url", "issues_url", "project_url"),
- ("description", "title", "push_events"),
- ),
- "buildkite": (
- ("token", "project_url"),
- ("enable_ssl_verification", "push_events"),
- ),
- "campfire": (("token",), ("subdomain", "room", "push_events")),
- "circuit": (
- ("webhook",),
- (
- "notify_only_broken_pipelines",
- "branches_to_be_notified",
- "push_events",
- "issues_events",
- "confidential_issues_events",
- "merge_requests_events",
- "tag_push_events",
- "note_events",
- "confidential_note_events",
- "pipeline_events",
- "wiki_page_events",
- ),
- ),
- "custom-issue-tracker": (
- ("new_issue_url", "issues_url", "project_url"),
- ("description", "title", "push_events"),
- ),
- "drone-ci": (
- ("token", "drone_url"),
- (
- "enable_ssl_verification",
- "push_events",
- "merge_requests_events",
- "tag_push_events",
- ),
- ),
- "emails-on-push": (
- ("recipients",),
- (
- "disable_diffs",
- "send_from_committer_email",
- "push_events",
- "tag_push_events",
- "branches_to_be_notified",
- ),
- ),
- "pipelines-email": (
- ("recipients",),
- (
- "add_pusher",
- "notify_only_broken_builds",
- "branches_to_be_notified",
- "notify_only_default_branch",
- "pipeline_events",
- ),
- ),
- "external-wiki": (("external_wiki_url",), tuple()),
- "flowdock": (("token",), ("push_events",)),
- "github": (("token", "repository_url"), ("static_context",)),
- "hangouts-chat": (
- ("webhook",),
- (
- "notify_only_broken_pipelines",
- "notify_only_default_branch",
- "branches_to_be_notified",
- "push_events",
- "issues_events",
- "confidential_issues_events",
- "merge_requests_events",
- "tag_push_events",
- "note_events",
- "confidential_note_events",
- "pipeline_events",
- "wiki_page_events",
- ),
- ),
- "hipchat": (
- ("token",),
- (
- "color",
- "notify",
- "room",
- "api_version",
- "server",
- "push_events",
- "issues_events",
- "confidential_issues_events",
- "merge_requests_events",
- "tag_push_events",
- "note_events",
- "confidential_note_events",
- "pipeline_events",
- ),
- ),
- "irker": (
- ("recipients",),
- (
- "default_irc_uri",
- "server_port",
- "server_host",
- "colorize_messages",
- "push_events",
- ),
- ),
- "jira": (
- (
- "url",
- "username",
- "password",
- ),
- (
- "api_url",
- "active",
- "jira_issue_transition_id",
- "commit_events",
- "merge_requests_events",
- "comment_on_event_enabled",
- ),
- ),
- "slack-slash-commands": (("token",), tuple()),
- "mattermost-slash-commands": (("token",), ("username",)),
- "packagist": (
- ("username", "token"),
- ("server", "push_events", "merge_requests_events", "tag_push_events"),
- ),
- "mattermost": (
- ("webhook",),
- (
- "username",
- "channel",
- "notify_only_broken_pipelines",
- "notify_only_default_branch",
- "branches_to_be_notified",
- "push_events",
- "issues_events",
- "confidential_issues_events",
- "merge_requests_events",
- "tag_push_events",
- "note_events",
- "confidential_note_events",
- "pipeline_events",
- "wiki_page_events",
- "push_channel",
- "issue_channel",
- "confidential_issue_channel" "merge_request_channel",
- "note_channel",
- "confidential_note_channel",
- "tag_push_channel",
- "pipeline_channel",
- "wiki_page_channel",
- ),
- ),
- "pivotaltracker": (("token",), ("restrict_to_branch", "push_events")),
- "prometheus": (("api_url",), tuple()),
- "pushover": (
- ("api_key", "user_key", "priority"),
- ("device", "sound", "push_events"),
- ),
- "redmine": (
- ("new_issue_url", "project_url", "issues_url"),
- ("description", "push_events"),
- ),
- "slack": (
- ("webhook",),
- (
- "username",
- "channel",
- "notify_only_broken_pipelines",
- "notify_only_default_branch",
- "branches_to_be_notified",
- "commit_events",
- "confidential_issue_channel",
- "confidential_issues_events",
- "confidential_note_channel",
- "confidential_note_events",
- "deployment_channel",
- "deployment_events",
- "issue_channel",
- "issues_events",
- "job_events",
- "merge_request_channel",
- "merge_requests_events",
- "note_channel",
- "note_events",
- "pipeline_channel",
- "pipeline_events",
- "push_channel",
- "push_events",
- "tag_push_channel",
- "tag_push_events",
- "wiki_page_channel",
- "wiki_page_events",
- ),
- ),
- "microsoft-teams": (
- ("webhook",),
- (
- "notify_only_broken_pipelines",
- "notify_only_default_branch",
- "branches_to_be_notified",
- "push_events",
- "issues_events",
- "confidential_issues_events",
- "merge_requests_events",
- "tag_push_events",
- "note_events",
- "confidential_note_events",
- "pipeline_events",
- "wiki_page_events",
- ),
- ),
- "teamcity": (
- ("teamcity_url", "build_type", "username", "password"),
- ("push_events",),
- ),
- "jenkins": (("jenkins_url", "project_name"), ("username", "password")),
- "mock-ci": (("mock_service_url",), tuple()),
- "youtrack": (("issues_url", "project_url"), ("description", "push_events")),
- }
-
- def get(self, id, **kwargs):
- """Retrieve a single object.
-
- Args:
- id (int or str): ID of the object to retrieve
- lazy (bool): If True, don't request the server, but create a
- shallow object giving access to the managers. This is
- useful if you want to avoid useless calls to the API.
- **kwargs: Extra options to send to the server (e.g. sudo)
-
- Returns:
- object: The generated RESTObject.
-
- Raises:
- GitlabAuthenticationError: If authentication is not correct
- GitlabGetError: If the server cannot perform the request
- """
- obj = super(ProjectServiceManager, self).get(id, **kwargs)
- obj.id = id
- return obj
-
- def update(self, id=None, new_data=None, **kwargs):
- """Update an object on the server.
-
- Args:
- id: ID of the object to update (can be None if not required)
- new_data: the update data for the object
- **kwargs: Extra options to send to the server (e.g. sudo)
-
- Returns:
- dict: The new object data (*not* a RESTObject)
-
- Raises:
- GitlabAuthenticationError: If authentication is not correct
- GitlabUpdateError: If the server cannot perform the request
- """
- new_data = new_data or {}
- super(ProjectServiceManager, self).update(id, new_data, **kwargs)
- self.id = id
-
- @cli.register_custom_action("ProjectServiceManager")
- def available(self, **kwargs):
- """List the services known by python-gitlab.
-
- Returns:
- list (str): The list of service code names.
- """
- return list(self._service_attrs.keys())