# -*- coding: utf-8 -*- import time import base import v2_swagger_client from v2_swagger_client.rest import ApiException class Webhook(base.Base): def __init__(self): super(Webhook,self).__init__(api_type="webhook") def create_webhook(self, project_id, targets, event_types = ["DELETE_ARTIFACT", "PULL_ARTIFACT", "PUSH_ARTIFACT", "DELETE_CHART", "DOWNLOAD_CHART", "UPLOAD_CHART","QUOTA_EXCEED", "QUOTA_WARNING","SCANNING_FAILED", "TAG_RETENTION"], name = None, desc = None, enabled = True, expect_status_code = 201, expect_response_body = None, **kwargs): if name is None: name = base._random_name("webhook") + (str(project_id)) if desc is None: desc = base._random_name("webhook desc") + (str(project_id)) policy = v2_swagger_client.WebhookPolicy( name = name, description = desc, project_id = project_id, targets = targets, event_types = event_types, enabled = enabled ) try: _, status_code, header = self._get_client(**kwargs).create_webhook_policy_of_project_with_http_info(project_id, policy) except ApiException as e: base._assert_status_code(expect_status_code, e.status) if expect_response_body is not None: base._assert_status_body(expect_response_body, e.body) return base._assert_status_code(expect_status_code, status_code) base._assert_status_code(201, status_code) return base._get_id_from_header(header), name def update_webhook(self, project_id, webhook_policy_id, event_types = None, name = None, desc = None, enabled = None, targets = None, expect_status_code=200, expect_response_body=None, **kwargs): policy = v2_swagger_client.WebhookPolicy() if name is not None: policy.name = name if desc is not None: policy.desc = desc if enabled is not None: policy.enabled = enabled if targets is not None: policy.targets = targets if event_types is not None: policy.event_types = event_types try: _, status_code, header = self._get_client(**kwargs).update_webhook_policy_of_project_with_http_info(project_id, webhook_policy_id, policy) except ApiException as e: base._assert_status_code(expect_status_code, e.status) if expect_response_body is not None: base._assert_status_body(expect_response_body, e.body) return base._assert_status_code(expect_status_code, status_code) base._assert_status_code(200, status_code) def get_webhook(self, project_id, webhook_policy_id, expect_status_code=200, expect_response_body=None, **kwargs): try: data , status_code, header = self._get_client(**kwargs).get_webhook_policy_of_project_with_http_info(project_id, webhook_policy_id) except ApiException as e: base._assert_status_code(expect_status_code, e.status) if expect_response_body is not None: base._assert_status_body(expect_response_body, e.body) return base._assert_status_code(expect_status_code, status_code) base._assert_status_code(200, status_code) print("Webhooks:", data) return data def delete_webhook(self, project_id, webhook_policy_id, expect_status_code=200, expect_response_body=None, **kwargs): try: _ , status_code, _ = self._get_client(**kwargs).delete_webhook_policy_of_project_with_http_info(project_id, webhook_policy_id) except ApiException as e: base._assert_status_code(expect_status_code, e.status) if expect_response_body is not None: base._assert_status_body(expect_response_body, e.body) return base._assert_status_code(expect_status_code, status_code) base._assert_status_code(200, status_code)