@@ -1061,7 +1061,7 @@ def set_issue_status_by_transition_id(self, issue_key, transition_id):
10611061
10621062 def get_issue_status (self , issue_key ):
10631063 url = 'rest/api/2/issue/{issue_key}?fields=status' .format (issue_key = issue_key )
1064- return (self .get (url ) or {}).get ('fields' ).get ('status' ).get ('name' )
1064+ return ((( self .get (url ) or {}).get ('fields' ) or {}) .get ('status' ) or {}) .get ('name' ) or {}
10651065
10661066 def get_issue_status_id (self , issue_key ):
10671067 url = 'rest/api/2/issue/{issue_key}?fields=status' .format (issue_key = issue_key )
@@ -1673,6 +1673,17 @@ def tempo_workload_scheme_get_members(self, scheme_id):
16731673 url = 'rest/tempo-core/1/workloadscheme/users/{}' .format (scheme_id )
16741674 return self .get (url )
16751675
1676+ def tempo_workload_scheme_set_member (self , scheme_id , member ):
1677+ """
1678+ Provide a workload scheme members
1679+ :param member: user name of user
1680+ :param scheme_id:
1681+ :return:
1682+ """
1683+ url = 'rest/tempo-core/1/workloadscheme/user/{}' .format (member )
1684+ data = {'id' : scheme_id }
1685+ return self .put (url , data = data )
1686+
16761687 def tempo_timesheets_get_configuration (self ):
16771688 """
16781689 Provide the configs of timesheets
@@ -1728,12 +1739,12 @@ def tempo_timesheets_get_worklogs(self, date_from=None, date_to=None, username=N
17281739
17291740 def tempo_timesheets_write_worklog (self , worker , started , time_spend_in_seconds , issue_id , comment = None ):
17301741 """
1731-
1732- :param comment:
1742+ Log work for user
17331743 :param worker:
17341744 :param started:
17351745 :param time_spend_in_seconds:
17361746 :param issue_id:
1747+ :param comment:
17371748 :return:
17381749 """
17391750 data = {"worker" : worker ,
@@ -1745,6 +1756,20 @@ def tempo_timesheets_write_worklog(self, worker, started, time_spend_in_seconds,
17451756 url = 'rest/tempo-timesheets/4/worklogs/'
17461757 return self .post (url , data = data )
17471758
1759+ def tempo_timesheets_approval_worklog_report (self , user_key , period_start_date ):
1760+ """
1761+ Return timesheets for approval
1762+ :param user_key:
1763+ :param period_start_date:
1764+ :return:
1765+ """
1766+ url = "rest/tempo-timesheets/4/timesheet-approval/current"
1767+ params = {}
1768+ if period_start_date :
1769+ params ['periodStartDate' ] = period_start_date
1770+ if user_key :
1771+ params ['userKey' ] = user_key
1772+
17481773 def tempo_timesheets_get_required_times (self , from_date , to_date , user_name ):
17491774 """
17501775 Provide time how much should work
@@ -1790,19 +1815,51 @@ def tempo_get_default_link_to_project(self, project_id):
17901815 url = 'rest/tempo-accounts/1/link/project/{}/default/' .format (project_id )
17911816 return self .get (url )
17921817
1818+ def tempo_teams_get_all_teams (self , expand = None ):
1819+ url = "rest/tempo-teams/2/team"
1820+ params = {}
1821+ if expand :
1822+ params ['expand' ] = expand
1823+ return self .get (url , params = params )
1824+
17931825 def tempo_teams_add_member (self , team_id , member_key ):
17941826 """
17951827 Add team member
17961828 :param team_id:
17971829 :param member_key:
17981830 :return:
17991831 """
1800- url = 'rest/tempo-teams/2/team/{}/member/' .format (team_id )
1801- data = {"member" : {"key" : member_key , "type" : "USER" },
1832+ data = {"member" : {"key" : str (member_key ), "type" : "USER" },
18021833 "membership" : {
18031834 "availability" : "100" ,
18041835 "role" : {"id" : 1 }
18051836 }}
1837+ return self .tempo_teams_add_member_raw (team_id , member_data = data )
1838+
1839+ def tempo_teams_add_membership (self , team_id , member_id ):
1840+ """
1841+ Add team member
1842+ :param team_id:
1843+ :param member_id:
1844+ :return:
1845+ """
1846+ data = {"teamMemberId" : member_id ,
1847+ "teamId" : team_id ,
1848+ "availability" : "100" ,
1849+ "role" : {"id" : 1 }
1850+ }
1851+ url = "rest/tempo-teams/2/team/{}/member/{}/membership" .format (team_id , member_id )
1852+ return self .post (url , data = data )
1853+
1854+ def tempo_teams_add_member_raw (self , team_id , member_data ):
1855+ """
1856+ Add team member
1857+ :param team_id:
1858+ :param member_data:
1859+ :return:
1860+ """
1861+ url = 'rest/tempo-teams/2/team/{}/member/' .format (team_id )
1862+ data = member_data
18061863 return self .post (url , data = data )
18071864
18081865 def tempo_teams_get_members (self , team_id ):
0 commit comments