Skip to content

Commit 6606222

Browse files
authored
4 new methods
Added create_filter, create_agile_board, get_agile_board_by_filter_id, and get_issues_for_backlog.
1 parent 8cd3227 commit 6606222

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

atlassian/jira.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -863,6 +863,20 @@ def update_issue_link_type(self, issue_link_type_id, data):
863863
url = 'rest/api/2/issueLinkType/{issueLinkTypeId}'.format(issueLinkTypeId=issue_link_type_id)
864864
return self.put(url, data=data)
865865

866+
def create_filter(self, name, jql, description=None, favourite=False):
867+
"""
868+
:param name: str
869+
:param jql: str
870+
:param description: str, Optional. Empty string by default
871+
:param favourite: bool, Optional. False by default
872+
"""
873+
data = {'jql': jql,
874+
'name': name}
875+
data['description'] = description if description else ''
876+
data['favourite'] = 'true' if favourite else 'false'
877+
url = 'rest/api/2/filter'
878+
return self.post(url, data=data)
879+
866880
def component(self, component_id):
867881
return self.get('rest/api/2/component/{component_id}'.format(component_id=component_id))
868882

@@ -1251,6 +1265,32 @@ def get_agile_board(self, board_id):
12511265
"""
12521266
url = 'rest/agile/1.0/board/{}'.format(str(board_id))
12531267
return self.get(url)
1268+
1269+
def create_agile_board(self, name, type, filter_id, location=None):
1270+
"""
1271+
Create an agile board
1272+
:param name: str
1273+
:param type: str, scrum or kanban
1274+
:param filter_id: int
1275+
:param location: dict, Optional. Default is user
1276+
"""
1277+
data = {'name': name,
1278+
'type': type,
1279+
'filterId': filter_id}
1280+
if location:
1281+
data['location'] = location
1282+
else:
1283+
data['location'] = {'type': 'user'}
1284+
url = 'rest/agile/1.0/board'
1285+
return self.post(url, data=data)
1286+
1287+
def get_agile_board_by_filter_id(self, filter_id):
1288+
"""
1289+
Gets an agile board by the filter id
1290+
:param filter_id: int, str
1291+
"""
1292+
url = 'rest/agile/1.0/board/filter/{filter_id}'.format(filter_id=filter_id)
1293+
return self.get(url)
12541294

12551295
def get_agile_board_configuration(self, board_id):
12561296
"""
@@ -1279,6 +1319,13 @@ def get_agile_board_configuration(self, board_id):
12791319
url = 'rest/agile/1.0/board/{}/configuration'.format(str(board_id))
12801320
return self.get(url)
12811321

1322+
def get_issues_for_backlog(self, board_id):
1323+
"""
1324+
:param board_id: int, str
1325+
"""
1326+
url = 'rest/agile/1.0/{board_id}/backlog'.format(board_id=board_id)
1327+
return self.get(url)
1328+
12821329
def delete_agile_board(self, board_id):
12831330
"""
12841331
Delete agile board by id

0 commit comments

Comments
 (0)