@@ -600,6 +600,69 @@ def delete_filter(self, filter_id):
600600 url = "{base_url}/{id}" .format (base_url = base_url , id = filter_id )
601601 return self .delete (url )
602602
603+ def get_filter_share_permissions (self , filter_id ):
604+ """
605+ Gets share permissions of a filter
606+ :param filter_id: Filter Id
607+ :return: Returns current share permissions of filter
608+ """
609+ base_url = self .resource_url ("filter" )
610+ url = "{base_url}/{id}/permission" .format (base_url = base_url , id = filter_id )
611+ return self .get (url )
612+
613+ def add_filter_share_permission (
614+ self ,
615+ filter_id ,
616+ type ,
617+ project_id = None ,
618+ project_role_id = None ,
619+ groupname = None ,
620+ user_key = None ,
621+ view = None ,
622+ edit = None ,
623+ ):
624+ """
625+ Adds share permission for a filter
626+ :param filter_id: Filter Id
627+ :param type: What type of permission is granted (i.e. user, project)
628+ :param project_id: Project Id, relevant for type 'project' and 'projectRole'
629+ :param project_role_id: Project role Id, relevant for type 'projectRole'
630+ :param groupname: Group name, relevant for type 'group'
631+ :param user_key: User key, relevant for type 'user'
632+ :param view: Sets view permission
633+ :param edit: Sets edit permission
634+ :return: Returns updated share permissions
635+ """
636+ base_url = self .resource_url ("filter" )
637+ url = "{base_url}/{id}/permission" .format (base_url = base_url , id = filter_id )
638+ data = {"type" : type }
639+ if project_id :
640+ data ["projectId" ] = project_id
641+ if project_role_id :
642+ data ["projectRoleId" ] = project_role_id
643+ if groupname :
644+ data ["groupname" ] = groupname
645+ if user_key :
646+ data ["userKey" ] = user_key
647+ if view :
648+ data ["view" ] = view
649+ if edit :
650+ data ["edit" ] = edit
651+ return self .post (url , data = data )
652+
653+ def delete_filter_share_permission (self , filter_id , permission_id ):
654+ """
655+ Removes share permission
656+ :param filter_id: Filter Id
657+ :param permission_id: Permission Id to be removed
658+ :return:
659+ """
660+ base_url = self .resource_url ("filter" )
661+ url = "{base_url}/{id}/permission/{permission_id}" .format (
662+ base_url = base_url , id = filter_id , permission_id = permission_id
663+ )
664+ return self .delete (url )
665+
603666 """
604667 Group.
605668 Reference: https://docs.atlassian.com/software/jira/docs/api/REST/8.5.0/#api/2/group
0 commit comments