Skip to content

Commit de077be

Browse files
feat: using rest_api from atlassian API
1 parent 8003bd6 commit de077be

File tree

4 files changed

+22
-187
lines changed

4 files changed

+22
-187
lines changed

opsgenie/rest_client.py

Lines changed: 0 additions & 163 deletions
This file was deleted.

opsgenie/schedules_api.py

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,32 @@
11
# coding: utf-8
22

3-
import re
4-
from typing_extensions import ParamSpecArgs
5-
import six
6-
from .rest_client import RestAPIClient
3+
from atlassian.rest_client import AtlassianRestAPI
74

85

9-
class SchedulesApi(RestAPIClient):
6+
class SchedulesApi(AtlassianRestAPI):
107

11-
12-
def __init__(self, auth_token, base_url="https://api.eu.opsgenie.com/"):
13-
self._base_url = base_url
14-
super().__init__(auth_token=auth_token)
15-
self._update_header("Authorization", "GenieKey {}".format(auth_token))
16-
17-
18-
def get(self, path, data=None, flags=None, params=None, headers=None, not_json_response=None, trailing=None):
19-
path_absolute = super().url_joiner(self._base_url, path)
20-
resp = super().get(path_absolute, data=data, flags=flags, params=params, headers=headers, not_json_response=not_json_response, trailing=trailing)
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)
2111

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)
2217
if 'data' not in resp:
2318
return resp
2419

25-
results = resp['data']
26-
return results
20+
return resp['data']
2721

2822
# Schedules
2923

3024
def get_schedules(self, identifier=None):
3125
"""
3226
Retrieves existing schedules.
3327
"""
34-
url = f"/v2/schedules"
28+
29+
url = "/schedules"
3530
if identifier:
3631
url += f"/{identifier}"
3732
return self.get(url)
@@ -54,28 +49,30 @@ def get_schedule_timeline(self, identifier, identifierType=None, expand=None, in
5449
if date:
5550
params["date"] = date
5651

57-
return self.get(f"/v2/schedules/{identifier}/timeline", params=params)
52+
return self.get(f"/schedules/{identifier}/timeline", params=params)
5853

5954

6055
def get_schedule_rotations(self, identifier):
6156
"""
6257
Retrieves schedule rotation.
6358
"""
64-
return self.get(f"/v2/schedules/{identifier}/rotations")
59+
60+
return self.get(f"/schedules/{identifier}/rotations")
6561

6662

6763
def get_schedule_overrides(self, identifier):
6864
"""
6965
Retrieves schedule overrides.
7066
"""
71-
return self.get(f"/v2/schedules/{identifier}/overrides")
67+
68+
return self.get(f"/schedules/{identifier}/overrides")
7269

7370

7471
def get_users(self, identifier=None):
7572
"""
7673
Retrieves users information.
7774
"""
78-
url = f"/v2/users"
75+
url = "/users"
7976
if identifier:
8077
url += f"/{identifier}"
8178
return self.get(url)

requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
requests==2.22.0
1+
requests>=2.22.0
2+
atlassian-python-api>=3.41.14

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,5 @@
2121
"License :: OSI Approved :: Apache Software License",
2222
"Operating System :: OS Independent",
2323
],
24-
python_requires='>=3.6.9',
24+
python_requires='>=3.10.11',
2525
)

0 commit comments

Comments
 (0)