@@ -57,6 +57,10 @@ def get(self, path, data=None, flags=None, params=None, headers=None, not_json_r
5757
5858 return results
5959
60+ def post (self , path , data = None , params = None , headers = None , not_json_response = None , trailing = None ):
61+ path_absolute = super ().url_joiner (self ._base_url , path )
62+ return super ().post (path_absolute , data = data , params = params , headers = headers , trailing = trailing )
63+
6064# Accounts
6165
6266 def get_accounts (self ):
@@ -282,6 +286,43 @@ def get_holiday_schemes(self, holidaySchemeId=None, year=None):
282286
283287 return self .get (url , params = params )
284288
289+ def create_holiday_scheme (self , schemeName , schemeDescription = None ):
290+ """
291+ Create holiday scheme
292+ :param name:
293+ :param description:
294+ """
295+
296+ url = f"/holiday-schemes"
297+
298+ data = {"name" : schemeName , "description" : schemeDescription }
299+
300+ return self .post (url , data = data )
301+
302+ def create_holiday (self , holidaySchemeId , type = None , name = None , description = None , durationSeconds = None , date = None , data = None ):
303+ """
304+ Create holiday scheme
305+ :param name:
306+ :param description:
307+ """
308+
309+ # either provide data, or build from other params
310+ if (not (data )):
311+ data = {
312+ "type" : type ,
313+ "name" : name ,
314+ "description" : description ,
315+ "durationSeconds" : durationSeconds ,
316+ "date" : date
317+ }
318+
319+ url = f"/holiday-schemes/" + str (holidaySchemeId ) + "/holidays"
320+
321+ return self .post (url , data = data )
322+
323+
324+
325+
285326# Worklogs
286327
287328 def get_worklogs (self , dateFrom , dateTo , updatedFrom = None , worklogId = None , jiraWorklogId = None , jiraFilterId = None ,
0 commit comments