a Æ*NaÑ&ã@stddlmZddlmZmZddlmZmZmZm Z m Z m Z ddgZ Gdd„de e eƒZ Gdd„dee eeeƒZdS) é)Úcli)Ú RESTManagerÚ RESTObject)Ú DeleteMixinÚGetMixinÚ ListMixinÚObjectDeleteMixinÚ SaveMixinÚ UpdateMixinÚProjectServiceÚProjectServiceManagerc@s eZdZdS)r N)Ú__name__Ú __module__Ú __qualname__©rrúu/private/var/folders/js/6pj4vh5d4zd0k6bxv74qrbhr0000gr/T/pip-target-22xwyzbs/lib/python/gitlab/v4/objects/services.pyr sc!sªeZdZdZddiZeZdddddd d dd d d deƒfdddddddeƒfdddddeƒfddddddd eƒfd!d"œ Z‡fd#d$„Z d*‡fd&d'„ Z e   d¡d(d)„ƒZ ‡ZS)+r z!/projects/%(project_id)s/servicesZ project_idÚid))Úapi_key©Zrestrict_to_branchÚ push_events)©Útoken)Ú subdomainr))Z bamboo_urlZ build_keyÚusernameÚpassword©r))Ú new_issue_urlÚ issues_urlÚ project_url)Ú descriptionÚtitler))rr)Úenable_ssl_verificationr)r)rÚroomr)©Zwebhook) Únotify_only_broken_pipelinesÚbranches_to_be_notifiedrÚ issues_eventsÚconfidential_issues_eventsÚmerge_requests_eventsÚtag_push_eventsÚ note_eventsÚconfidential_note_eventsÚpipeline_eventsÚwiki_page_events))rZ drone_url)r!rr(r))©Z recipients)Z disable_diffsZsend_from_committer_emailrr)r%)r.)Z add_pusherZnotify_only_broken_buildsr%Únotify_only_default_branchr,)Zexternal_wiki_url)rr))rZrepository_url)Zstatic_context)r#) r$r/r%rr&r'r(r)r*r+r,r-)r) ÚcolorÚnotifyr"Ú api_versionÚserverrr&r'r(r)r*r+r,)r.)Zdefault_irc_uriZ server_portZ server_hostZcolorize_messagesr))Úurlrr)Úapi_urlÚactiveZjira_issue_transition_idÚ commit_eventsr(Zcomment_on_event_enabledr)r)r))rr)r3rr(r))r#)rÚchannelr$r/r%rr&r'r(r)r*r+r,r-Ú push_channelÚ issue_channelZ/confidential_issue_channelmerge_request_channelÚ note_channelÚconfidential_note_channelÚtag_push_channelÚpipeline_channelÚwiki_page_channel)rr)r5))rZuser_keyÚpriority)ZdeviceZsoundr))rrr©rr)r#)rr8r$r/r%r7Zconfidential_issue_channelr'r<r+Zdeployment_channelZdeployment_eventsr:r&Z job_eventsZmerge_request_channelr(r;r*r>r,r9rr=r)r?r-))Z teamcity_urlZ build_typerrr))Z jenkins_urlÚ project_name)rr)Zmock_service_url))rrrA) ZasanaZassemblaZbambooZbugzillaZ buildkiteZcampfireZcircuitzcustom-issue-trackerzdrone-cizemails-on-pushzpipelines-emailz external-wikiZflowdockZgithubz hangouts-chatZhipchatZirkerZjirazslack-slash-commandszmattermost-slash-commandsZ packagistZ mattermostZpivotaltrackerZ prometheusZpushoverZredmineZslackzmicrosoft-teamsZteamcityZjenkinszmock-ciZyoutrackc s"tt|ƒj|fi|¤Ž}||_|S)avRetrieve 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 )Úsuperr Úgetr)ÚselfrÚkwargsÚobj©Ú __class__rrrDszProjectServiceManager.getNc s,|pi}tt|ƒj||fi|¤Ž||_dS)aé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 N)rCr Úupdater)rErZnew_datarFrHrrrJszProjectServiceManager.updatecKst|j ¡ƒS)z|List the services known by python-gitlab. Returns: list (str): The list of service code names. )ÚlistÚ_service_attrsÚkeys)rErFrrrÚ available(szProjectServiceManager.available)NN)r rrÚ_pathZ_from_parent_attrsr Z_obj_clsÚtuplerLrDrJrZregister_custom_actionrNÚ __classcell__rrrHrr sT     €žf N)ZgitlabrZ gitlab.baserrZ gitlab.mixinsrrrrr r Ú__all__r r rrrrÚs  þ