Can I add holidays to holidayscheme via REST api?

kalver kalver September 23, 2015

I'm experimenting with these URLs.

http://localhost:8080/rest/tempo-core/1/holidayscheme/{schemeId}/days/{type}

http://localhost:8080/rest/tempo-core/1/holidayscheme/{schemeId}/days/{type}/{id}

Both have post or put methods which would indicate that I can add new holidays via rest api. Although I have not figured out what's the correct request body.

What I've tried:

{"id":504,"schemeId":21,"name":"Test","description":"testing","duration":"1d","type":"fixed","date":"24/Sept"}

 

EDIT

Finally got it, one has to do raw post method and add following as parameters

{"name": "test123", "description": "test123", "duration": "1d", "date": "25/Sep"}

3 answers

1 vote
Susanne Götz [Tempo]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 24, 2015

Hi,

Currently, there is no documentation about the API´s of the System Plugin: Tempo Core. This API is available in the JIRA REST API Browser and is listed as a private API. 

Please note that private API´s are subject to change.

Regards,

Susanne

 

0 votes
António_Eleutério February 28, 2020

Hi All,

I want to get the holidays and be able to change/add holidays, of a certain user in JIRA.

So, I would like to try your GET. However, I do not know where for find the schema ID.

Could you please help me with that?

Thank you in advance!

Antonio

Sandor Miglecz February 28, 2020

Workload scheme id:

Tempo -> Settings -> Workload -> Click Members in you scheme

and you'll see an URL like {{your.domain}}/secure/Tempo.jspa#/settings/manage-staff?workloadSchemeIds=14

the id is 14

0 votes
Sandor Miglecz March 10, 2018

Hello,

I'm new to Tempo vs REST API. How does a complete POST call look like in order to create a new vacation day?

I don't understand whether the fields you listed in the mentioned JSON are after all like fields in a form post or the JSON is somehow the POST body itself?

I'm trying to make a workaround for TT-535 by requiring working 8h for all Saturdays (by the workload scheme) and set all non-working Saturdays as vacations (instead of setting one, setting 51 in the other direction). I'm not willing to do it manually (will need it next year too), will rather write a script for that.

Thanks,

Sandor

EDIT

I see the JSON needs to be the request body itself.
Headers:
Content-type: application/json
Content-length: {json string length}

The url looks to be like:

{host}/rest/tempo-core/1/holidayscheme/{scheme id}

 

the verb shoud be PUT (refuses POST)

the json body accepts name and description fields, but adding date, type or duration results  HTTP 500.

It was just experimenting, any comprehensive doc would be a great relief to me.

Sandor Miglecz March 12, 2018

Succeeded!

Just to not leave the question open, decode this request to any language you are implementing it in:

curl -u {user}:{pass} -X POST -H "Content-Type: application/json" {host}/rest/tempo-core/1/holidayscheme/{schema id}/days/{floating|fixed} --data-raw '{"name":"test","description":"Added thru REST API","duration":"1d","date":"23/Mar/18"}'

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events