Skip to content

Commit 830e8d3

Browse files
authored
A new version finalizing 1.14.1 (#372)
* A new Tempo method * Tempo: add team member * Bugfix * Set workload method * Bump version
1 parent 3c11aaf commit 830e8d3

File tree

4 files changed

+81
-8
lines changed

4 files changed

+81
-8
lines changed

atlassian/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.14.0
1+
1.14.1

atlassian/bitbucket.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,7 @@ def delete_branch(self, project, repository, name, end_point):
553553
data = {"name": str(name), "endPoint": str(end_point)}
554554
return self.delete(url, data=data)
555555

556-
def get_pull_requests(self, project, repository, state='OPEN', order='newest', limit=100, start=0):
556+
def get_pull_requests(self, project, repository, state='OPEN', order='newest', limit=100, start=0, at=None):
557557
"""
558558
Get pull requests
559559
:param project:
@@ -576,6 +576,8 @@ def get_pull_requests(self, project, repository, state='OPEN', order='newest', l
576576
params['start'] = start
577577
if order:
578578
params['order'] = order
579+
if at:
580+
params['at'] = at
579581
response = self.get(url, params=params)
580582
if 'values' not in response:
581583
return []

atlassian/confluence.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1276,7 +1276,7 @@ def team_calendar_events(self, sub_calendar_id, start, end, user_time_zone_id=No
12761276
if start:
12771277
params['start'] = start
12781278
if end:
1279-
params['start'] = end
1279+
params['end'] = end
12801280
return self.get(url, params=params)
12811281

12821282
def get_mobile_parameters(self, username):
@@ -1305,3 +1305,17 @@ def avatar_set_default_for_user(self, user_key):
13051305
"""
13061306
url = 'rest/user-profile/1.0/{}/avatar/default'.format(user_key)
13071307
return self.get(url)
1308+
1309+
def add_user_to_group(self, username, group_name):
1310+
"""
1311+
Add given user to a group
1312+
1313+
:param username: str
1314+
:param group_name: str
1315+
:return: Current state of the group
1316+
"""
1317+
url = 'rest/api/2/group/user'
1318+
params = {'groupname': group_name}
1319+
data = {'name': username}
1320+
1321+
return self.post(url, params=params, data=data)

atlassian/jira.py

Lines changed: 62 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)