Skip to content

Commit e698ef9

Browse files
committed
PYAPI-24 Portfolio: API
1 parent 7e102e9 commit e698ef9

File tree

7 files changed

+48
-13
lines changed

7 files changed

+48
-13
lines changed

PKG-INFO

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Metadata-Version: 1.1
22
Name: atlassian-python-api
3-
Version: 0.6.4
3+
Version: 0.7.1
44
Author: Matt Harasymczuk
55
Author-email: code at mattagile com
66
Maintainer: Matt Harasymczuk

atlassian/__init__.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
import requests
44

55

6-
logging.basicConfig(level=logging.INFO, format="[%(asctime).19s] [%(levelname)s] %(message)s")
7-
logging.getLogger("requests").setLevel(logging.WARNING)
86
log = logging.getLogger("atlassian")
97

108

@@ -56,4 +54,5 @@ def delete(self, path, headers={'Content-Type': 'application/json', 'Accept': 'a
5654

5755
from .confluence import Confluence
5856
from .jira import Jira
59-
from .stash import Stash
57+
from .stash import Stash
58+
from .portfolio import Portfolio

atlassian/confluence.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
from atlassian import AtlassianRestAPI
33

44

5-
logging.basicConfig(level=logging.INFO, format="[%(asctime).19s] [%(levelname)s] %(message)s")
6-
logging.getLogger("requests").setLevel(logging.WARNING)
75
log = logging.getLogger("atlassian.confluence")
86

97

atlassian/jira.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
from atlassian import AtlassianRestAPI
33

44

5-
logging.basicConfig(level=logging.INFO, format="[%(asctime).19s] [%(levelname)s] %(message)s")
6-
logging.getLogger("requests").setLevel(logging.WARNING)
75
log = logging.getLogger("atlassian.jira")
86

97

atlassian/portfolio.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import logging
2+
from atlassian import AtlassianRestAPI
3+
4+
5+
log = logging.getLogger("atlassian.portfolio")
6+
7+
8+
class Portfolio(AtlassianRestAPI):
9+
10+
def plan(self, portfolio_id):
11+
return self.get('/rest/roadmap/1.0/plans/{0}.json'.format(portfolio_id))
12+
13+
def stages(self, portfolio_id):
14+
return self.get('/rest/roadmap/1.0/plans/{0}/stages.json'.format(portfolio_id))
15+
16+
def teams(self, portfolio_id):
17+
return self.get('/rest/roadmap/1.0/plans/{0}/teams.json'.format(portfolio_id))
18+
19+
def config(self, portfolio_id):
20+
return self.get('/rest/roadmap/1.0/plans/{0}/config.json'.format(portfolio_id))
21+
22+
def persons(self, portfolio_id):
23+
return self.get('/rest/roadmap/1.0/plans/{0}/persons.json'.format(portfolio_id))
24+
25+
def streams(self, portfolio_id):
26+
return self.get('/rest/roadmap/1.0/plans/{0}/streams.json'.format(portfolio_id))
27+
28+
def releases(self, portfolio_id):
29+
return self.streams(portfolio_id)
30+
31+
def themes(self, portfolio_id):
32+
return self.get('/rest/roadmap/1.0/plans/{0}/themes.json'.format(portfolio_id))
33+
34+
def state(self, portfolio_id, plan_version):
35+
return self.get('/rest/roadmap/1.0/scheduling/{0}/state.json?planVersion={1}'.format(portfolio_id, plan_version))
36+
37+
def filter(self, portfolio_id, plan_version):
38+
return self.get('/rest/roadmap/1.0/plans/{0}/workitems/filter.json?planVersion={1}'.format(portfolio_id, plan_version))
39+
40+
def stage_name(self, portfolio_id, stage_id):
41+
return [stage['title'] for stage in self.stages(portfolio_id)['collection'] if stage['id'] == str(stage_id)][0]
42+
43+
def estimates_dict(self, portfolio_id, estimates):
44+
return {self.stage_name(portfolio_id, stage['targetId']): stage['value'] for stage in estimates['stages']}

atlassian/stash.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
from atlassian import AtlassianRestAPI
33

44

5-
logging.basicConfig(level=logging.INFO, format="[%(asctime).19s] [%(levelname)s] %(message)s")
6-
logging.getLogger("requests").setLevel(logging.WARNING)
75
log = logging.getLogger("atlassian.stash")
86

97

@@ -20,11 +18,9 @@ def project_users(self, key):
2018

2119
def project_users_with_administrator_permissions(self, key):
2220
project_administrators = [user['user'] for user in self.project_users(key) if user['permission'] == 'PROJECT_ADMIN']
23-
2421
for group in self.project_groups_with_administrator_permissions(key):
2522
for user in self.group_members(group):
2623
project_administrators.append(user)
27-
2824
return project_administrators
2925

3026
def project_groups(self, key):

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
name="atlassian-python-api",
99
description="Atlassian Python API",
1010
license="Apache License 2.0",
11-
version="0.6.4",
11+
version="0.7.1",
1212
download_url="https://github.com/MattAgile/atlassian-python-api",
1313

1414
author="Matt Harasymczuk",

0 commit comments

Comments
 (0)