@@ -758,6 +758,162 @@ def get_build_queue(self, expand="queuedBuilds"):
758758 params = {"expand" : expand }
759759 return self .get ("rest/api/latest/queue" , params = params )
760760
761+ def get_deployment_users (self , deployment_id , filter_name = None , start = 0 , limit = 25 ):
762+ """
763+ Retrieve a list of users with their explicit permissions to given resource.
764+ The list can be filtered by some attributes.
765+ This resource is paged and returns a single page of results.
766+ :param deployment_id:
767+ :param filter_name:
768+ :param start:
769+ :param limit:
770+ :return:
771+ """
772+ params = {"limit" : limit , "start" : start }
773+ if filter_name :
774+ params = {"name" : filter_name }
775+ resource = "permissions/deployment/{}/users" .format (deployment_id )
776+ return self .get (self .resource_url (resource ), params = params )
777+
778+ def revoke_user_from_deployment (self , deployment_id , user , permissions = ["READ" , "WRITE" , "BUILD" ]):
779+ """
780+ Revokes deployment project permissions from a given user.
781+ :param deployment_id:
782+ :param user:
783+ :param permissions:
784+ :return:
785+ """
786+ resource = "permissions/deployment/{}/users/{}" .format (deployment_id , user )
787+ return self .delete (self .resource_url (resource ), data = permissions )
788+
789+ def grant_user_to_deployment (self , deployment_id , user , permissions ):
790+ """
791+ Grants deployment project permissions to a given user.
792+ :param deployment_id:
793+ :param user:
794+ :param permissions:
795+ :return:
796+ """
797+ resource = "permissions/deployment/{}/users/{}" .format (deployment_id , user )
798+ return self .put (self .resource_url (resource ), data = permissions )
799+
800+ def get_deployment_groups (self , deployment_id , filter_name = None , start = 0 , limit = 25 ):
801+ """
802+ Retrieve a list of groups with their deployment project permissions.
803+ The list can be filtered by some attributes.
804+ This resource is paged returns a single page of results.
805+ :param deployment_id:
806+ :param filter_name:
807+ :param start:
808+ :param limit:
809+ :return:
810+ """
811+ params = {"limit" : limit , "start" : start }
812+ if filter_name :
813+ params = {"name" : filter_name }
814+ resource = "permissions/deployment/{}/groups" .format (deployment_id )
815+ return self .get (self .resource_url (resource ), params = params )
816+
817+ def revoke_group_from_deployment (self , deployment_id , group , permissions = ["READ" , "WRITE" , "BUILD" ]):
818+ """
819+ Revokes deployment project permissions from a given group.
820+ :param deployment_id:
821+ :param group:
822+ :param permissions:
823+ :return:
824+ """
825+ resource = "permissions/deployment/{}/groups/{}" .format (deployment_id , group )
826+ return self .delete (self .resource_url (resource ), data = permissions )
827+
828+ def grant_group_to_deployment (self , deployment_id , group , permissions ):
829+ """
830+ Grants deployment project permissions to a given group.
831+ :param deployment_id:
832+ :param group:
833+ :param permissions:
834+ :return:
835+ """
836+ resource = "permissions/deployment/{}/groups/{}" .format (deployment_id , group )
837+ return self .put (self .resource_url (resource ), data = permissions )
838+
839+ def get_environment_users (self , environment_id , filter_name = None , start = 0 , limit = 25 ):
840+ """
841+ Retrieve a list of users with their explicit permissions to given resource.
842+ The list can be filtered by some attributes.
843+ This resource is paged and returns a single page of results.
844+ :param environment_id:
845+ :param filter_name:
846+ :param start:
847+ :param limit:
848+ :return:
849+ """
850+ params = {"limit" : limit , "start" : start }
851+ if filter_name :
852+ params = {"name" : filter_name }
853+ resource = "permissions/environment/{}/users" .format (environment_id )
854+ return self .get (self .resource_url (resource ), params = params )
855+
856+ def revoke_user_from_environment (self , environment_id , user , permissions = ["READ" , "WRITE" , "BUILD" ]):
857+ """
858+ Revokes deployment environment permissions from a given user.
859+ :param environment_id:
860+ :param user:
861+ :param permissions:
862+ :return:
863+ """
864+ resource = "permissions/environment/{}/users/{}" .format (environment_id , user )
865+ return self .delete (self .resource_url (resource ), data = permissions )
866+
867+ def grant_user_to_environment (self , environment_id , user , permissions ):
868+ """
869+ Grants deployment environment permissions to a given user.
870+ :param environment_id:
871+ :param user:
872+ :param permissions:
873+ :return:
874+ """
875+ resource = "permissions/environment/{}/users/{}" .format (environment_id , user )
876+ return self .put (self .resource_url (resource ), data = permissions )
877+
878+ def get_environment_groups (self , environment_id , filter_name = None , start = 0 , limit = 25 ):
879+ """
880+ Retrieve a list of groups with their deployment environment permissions.
881+ The list can be filtered by some attributes.
882+ This resource is paged returns a single page of results.
883+ :param environment_id:
884+ :param filter_name:
885+ :param start:
886+ :param limit:
887+ :return:
888+ """
889+ params = {"limit" : limit , "start" : start }
890+ if filter_name :
891+ params = {"name" : filter_name }
892+ resource = "permissions/environment/{}/groups" .format (environment_id )
893+ return self .get (self .resource_url (resource ), params = params )
894+
895+ def revoke_group_from_environment (self , environment_id , group , permissions = ["READ" , "WRITE" , "BUILD" ]):
896+ """
897+ Revokes deployment environment permissions from a given group.
898+ :param environment_id:
899+ :param group:
900+ :param permissions:
901+ :return:
902+ """
903+ resource = "permissions/environment/{}/groups/{}" .format (environment_id , group )
904+ return self .delete (self .resource_url (resource ), data = permissions )
905+
906+ def grant_group_to_environment (self , environment_id , group , permissions ):
907+ """
908+ Grants deployment environment permissions to a given group.
909+ :param environment_id:
910+ :param group:
911+ :param permissions:
912+ :return:
913+ """
914+ resource = "permissions/environment/{}/groups/{}" .format (environment_id , group )
915+ return self .put (self .resource_url (resource ), data = permissions )
916+
761917 """Other actions"""
762918
763919 def server_info (self ):
0 commit comments