Skip to content

Commit 0ceedda

Browse files
BREAKING CHANGE: rafactoring of the library
1 parent de077be commit 0ceedda

File tree

2 files changed

+82
-84
lines changed

2 files changed

+82
-84
lines changed

README.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,17 @@ You need an API token for communicating with Opsgenie REST APIs.
2121
### Schedules API
2222

2323
```
24-
from opsgenie.schedules_api import SchedulesApi
24+
from opsgenie.api.v2 import Schedules
2525
26-
schedulesApi = SchedulesApi(auth_token='<your_api_auth_token>)
26+
schedules = Schedules(token='<your_api_auth_token>)
2727
28-
users = schedulesApi.get_users()
28+
users = schedules.get_users()
2929
print(users)
3030
31-
32-
schedules = schedulesApi.get_schedules()
31+
schedules = schedules.get_schedules()
3332
print(schedules)
3433
35-
36-
rotations = schedulesApi.get_schedule_rotations("<scheduleid>")
34+
rotations = schedules.get_schedule_rotations("<scheduleid>")
3735
print(rotations)
3836
3937
overrides = schedulesApi.get_schedule_overrides("<scheduleid>")
Lines changed: 77 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,78 @@
1-
# coding: utf-8
2-
3-
from atlassian.rest_client import AtlassianRestAPI
4-
5-
6-
class SchedulesApi(AtlassianRestAPI):
7-
8-
def __init__(self, token, url="https://api.eu.opsgenie.com/v2/"):
9-
super().__init__(url=url)
10-
self._session_add_headers_genie_key(token)
11-
12-
def _session_add_headers_genie_key(self, token):
13-
self._session.headers.update({"Authorization": "GenieKey {}".format(token)})
14-
15-
def get(self, path, **kwargs):
16-
resp = super().get(path, **kwargs)
17-
if 'data' not in resp:
18-
return resp
19-
20-
return resp['data']
21-
22-
# Schedules
23-
24-
def get_schedules(self, identifier=None):
25-
"""
26-
Retrieves existing schedules.
27-
"""
28-
29-
url = "/schedules"
30-
if identifier:
31-
url += f"/{identifier}"
32-
return self.get(url)
33-
34-
35-
def get_schedule_timeline(self, identifier, identifierType=None, expand=None, interval=None, intervalUnit=None, date=None):
36-
"""
37-
Retrieves schedule timeline
38-
"""
39-
40-
params = {}
41-
if identifierType:
42-
params["identifierType"] = identifierType
43-
if expand:
44-
params["expand"] = expand
45-
if interval:
46-
params["interval"] = interval
47-
if intervalUnit:
48-
params["intervalUnit"] = intervalUnit
49-
if date:
50-
params["date"] = date
51-
52-
return self.get(f"/schedules/{identifier}/timeline", params=params)
53-
54-
55-
def get_schedule_rotations(self, identifier):
56-
"""
57-
Retrieves schedule rotation.
58-
"""
59-
60-
return self.get(f"/schedules/{identifier}/rotations")
61-
62-
63-
def get_schedule_overrides(self, identifier):
64-
"""
65-
Retrieves schedule overrides.
66-
"""
67-
68-
return self.get(f"/schedules/{identifier}/overrides")
69-
70-
71-
def get_users(self, identifier=None):
72-
"""
73-
Retrieves users information.
74-
"""
75-
url = "/users"
76-
if identifier:
77-
url += f"/{identifier}"
1+
# coding: utf-8
2+
3+
from atlassian.rest_client import AtlassianRestAPI
4+
5+
6+
class Schedules(AtlassianRestAPI):
7+
8+
def __init__(self, token, url="https://api.eu.opsgenie.com/v2/"):
9+
super().__init__(url=url)
10+
self._session_add_headers_genie_key(token)
11+
12+
def _session_add_headers_genie_key(self, token):
13+
self._session.headers.update({"Authorization": "GenieKey {}".format(token)})
14+
15+
def get(self, path, **kwargs):
16+
resp = super().get(path, **kwargs)
17+
if 'data' not in resp:
18+
return resp
19+
20+
return resp['data']
21+
22+
# Schedules
23+
24+
def get_schedules(self, identifier=None):
25+
"""
26+
Retrieves existing schedules.
27+
"""
28+
29+
url = "/schedules"
30+
if identifier:
31+
url += f"/{identifier}"
32+
return self.get(url)
33+
34+
35+
def get_schedule_timeline(self, identifier, identifierType=None, expand=None, interval=None, intervalUnit=None, date=None):
36+
"""
37+
Retrieves schedule timeline
38+
"""
39+
40+
params = {}
41+
if identifierType:
42+
params["identifierType"] = identifierType
43+
if expand:
44+
params["expand"] = expand
45+
if interval:
46+
params["interval"] = interval
47+
if intervalUnit:
48+
params["intervalUnit"] = intervalUnit
49+
if date:
50+
params["date"] = date
51+
52+
return self.get(f"/schedules/{identifier}/timeline", params=params)
53+
54+
55+
def get_schedule_rotations(self, identifier):
56+
"""
57+
Retrieves schedule rotation.
58+
"""
59+
60+
return self.get(f"/schedules/{identifier}/rotations")
61+
62+
63+
def get_schedule_overrides(self, identifier):
64+
"""
65+
Retrieves schedule overrides.
66+
"""
67+
68+
return self.get(f"/schedules/{identifier}/overrides")
69+
70+
71+
def get_users(self, identifier=None):
72+
"""
73+
Retrieves users information.
74+
"""
75+
url = "/users"
76+
if identifier:
77+
url += f"/{identifier}"
7878
return self.get(url)

0 commit comments

Comments
 (0)