@@ -600,6 +600,69 @@ def delete_filter(self, filter_id):
600
600
url = "{base_url}/{id}" .format (base_url = base_url , id = filter_id )
601
601
return self .delete (url )
602
602
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
+
603
666
"""
604
667
Group.
605
668
Reference: https://docs.atlassian.com/software/jira/docs/api/REST/8.5.0/#api/2/group
0 commit comments