Create, Update, View or Delete worklogs with the same restrictions and rules as you would within the app.
All requests need to be made to this base URL:
https://jttp-cloud.everit.biz/timetracker/api/latest/public
Create worklog POST /worklog
Header parameters
Header Parameter | Optional | Description |
---|---|---|
x-everit-jwt | false | JWT token, see: REST API |
x-requested-by | false | CSRF protection parameter. |
x-timezone | true | The time zone of the user, for eg.: 'Europe/Budapest'. If not specified defaults to UTC. |
Body
The POST body is a JSON object: NewWorklog
The available parameters of the NewWorklog:
Parameter | Value type | Optional | Description |
---|---|---|---|
description | string | true | The description of a worklog. Example: “description”: “my description“ |
durationInSeconds | number | true | The duration of a worklog in seconds. |
isBillable | boolean | true | True if the worklog is billable. Example: “isBillable”: true |
issueId | number | true | The worklog was made on this issue. Example: “issueId”: 10000 |
workDate | string | false | The day (ISO-8601 date in 'yyyy-MM-dd' format) when the work was made. Example: “workDate”: “2023-04-24“ |
worklogTagIds | number[] | true | The IDs of the worklog tags assigned to this worklog. Example: “worklogTagIds”: [1, 5] |
workStartTime | string | true | The time (ISO-8601 time in 'HH:mm' format) when the work was started. Example: “workStartTime”: "11:00" |
Examples
POST URL: TIME_TRACKER_BASE_URL/timetracker/api/latest/public/worklog
Example post body:
{ "description": "my description", "durationInSeconds": 3600, "isBillable": true, "worklogTagIds": [1, 5], "issueId": 10182, "workDate": "2023-04-24", "workStartTime": "12:00" }
Example response:
200
Successful operation:
{ "description": "my description", "durationInSeconds": 3600, "isBillable": true, "issueId": 10182, "workDate": "2023-04-24", "worklogId": 155, "worklogTagIds": [ 1, 5 ], "workStartTime": "12:00" }
400
Invalid parameters:
An object that holds all field and non-field related errors:
{ // Errors that are not tied to any specific field. "additionalErrors": [ { "errorType": "JiraError" | "PeriodicLimit" | "PeriodicLoggablePeriod" | "PeriodicMaxHoursPerDay" | "TooManyDataForTimesheet" | "TooManyWorklogsToExport" | "NoActiveLicense" | "ManualUpgradeNeeded" "extra": // A field holding additional information related to the error } ], // Error response data for fields. "fieldErrors": [ { "errorType": "Exceed" | "Invalid" | "InvalidByJira" | "InvalidFormat" | "LoggablePeriod" | "MaxHoursPerDay" | "Required" | "TooManyPeriodicIssues", // An array of string arrays containing the problematic field names. "paths": [ [ "string" ] ] } ] }
401
Unauthorized
479
The user does not have one of the necessary Timetracker permissions that can be set in the Global Settings.
Update worklog PATCH /worklog
Header parameters
Header Parameter | Optional | Description |
---|---|---|
x-everit-jwt | false | JWT token, see: REST API |
x-requested-by | false | CSRF protection paramter. |
x-timezone | true | The time zone of the user, for eg.: 'Europe/Budapest'. If not specified defaults to UTC. |
Body
The PATCH body is a JSON object: PatchWorklog
The available parameters of the PatchWorklog:
Parameter | Value type | Optional | Description |
---|---|---|---|
worklogId | number | false | The ID of the worklog to patch. |
partialWorklog |
| false | The patch to apply on the worklog. Only the fields with defined values will be updated. |
The available parameters of the PartialWorklog:
Parameter | Value type | Optional | Description |
---|---|---|---|
description | string | true | The description of a worklog. |
durationInSeconds | number | true | The duration of a worklog in seconds. |
isBillable | boolean | true | True if the worklog is billable. |
issueId | number | true | The worklog was made on this issue. |
workDate | string | true | The day (ISO-8601 date in 'yyyy-MM-dd' format) when the work was made. |
worklogTagIds | number[] | true | The IDs of the worklog tags assigned to this worklog. |
workStartTime | string | true | The time (ISO-8601 time in 'HH:mm' format) when the work was started. |
Examples
PATCH URL: TIME_TRACKER_BASE_URL/timetracker/api/latest/public/worklog
Example patch body:
{ "partialWorklog": { "description": "test description", "durationInSeconds": 3600, "isBillable": true, "issueId": 10329, "workDate": "2023-04-19", "worklogTagIds": [1, 5], "workStartTime": "08:15" }, "worklogId": 181 }
Example response:
200
The patch operation is accepted and processed. The result of the worklog patch can be found in the response body:
If there was no error during the patch the error object will be null and the patched worklog is returned:
{ "error": null, "worklog": { "description": "test description", "durationInSeconds": 10800, "isBillable": true, "issueId": 10329, "workDate": "2023-04-19", "worklogId": 181, "worklogTagIds": [ 1, 5 ], "workStartTime": "08:15" } }
If there was an error during the patch the error object will be filled:
{ "error": { "message": null, "result": "WORKLOG_NOT_FOUND", "worklogId": 181 }, "worklog": null }
400
Invalid parameters:
An object that holds all field and non-field related errors:
{ // Errors that are not tied to any specific field. "additionalErrors": [ { "errorType": "JiraError" | "PeriodicLimit" | "PeriodicLoggablePeriod" | "PeriodicMaxHoursPerDay" | "TooManyDataForTimesheet" | "TooManyWorklogsToExport" | "NoActiveLicense" | "ManualUpgradeNeeded" "extra": // A field holding additional information related to the error } ], // Error response data for fields. "fieldErrors": [ { "errorType": "Exceed" | "Invalid" | "InvalidByJira" | "InvalidFormat" | "LoggablePeriod" | "MaxHoursPerDay" | "Required" | "TooManyPeriodicIssues", // An array of string arrays containing the problematic field names. "paths": [ [ "string" ] ] } ] }
401
Unauthorized
479
The user does not have one of the necessary Timetracker permissions that can be set in the Global Settings.
Get worklog GET /worklog
Header parameters
Header Parameter | Optional | Description |
---|---|---|
x-everit-jwt | false | JWT token, see: REST API |
x-timezone | true | The time zone of the user, for eg.: 'Europe/Budapest'. If not specified defaults to UTC. |
Query Parameters
The available query parameters for the request:
Query Parameter | Value type | Optional | Description |
---|---|---|---|
worklogId | number | false | The id of the worklog. Example: /public/worklog?worklogId=107 |
Examples
GET URL: TIME_TRACKER_BASE_URL/timetracker/api/latest/public/worklog?worklogId=155
Example response:
200
Successful operation:
{ "description": "my description", "durationInSeconds": 3600, "isBillable": true, "issueId": 10182, "workDate": "2023-04-24", "worklogId": 155, "worklogTagIds": [ 1, 5 ], "workStartTime": "12:00" }
400
Invalid parameters:
An object that holds all field and non-field related errors:
{ // Errors that are not tied to any specific field. "additionalErrors": [ { "errorType": "JiraError" | "PeriodicLimit" | "PeriodicLoggablePeriod" | "PeriodicMaxHoursPerDay" | "TooManyDataForTimesheet" | "TooManyWorklogsToExport" | "NoActiveLicense" | "ManualUpgradeNeeded" "extra": // A field holding additional information related to the error } ], // Error response data for fields. "fieldErrors": [ { "errorType": "Exceed" | "Invalid" | "InvalidByJira" | "InvalidFormat" | "LoggablePeriod" | "MaxHoursPerDay" | "Required" | "TooManyPeriodicIssues", // An array of string arrays containing the problematic field names. "paths": [ [ "string" ] ] } ] }
WorklogError:
{ "error": { "message": null, "result": "WORKLOG_NOT_FOUND", "worklogId": 123 } }
401
Unauthorized
479
The user does not have one of the necessary Timetracker permissions that can be set in the Global Settings.
Delete worklog DELETE /worklog
Header parameters
Header Parameter | Optional | Description |
---|---|---|
x-everit-jwt | false | JWT token, see: REST API |
x-requested-by | false | CSRF protection paramter. |
x-timezone | true | The time zone of the user, for eg.: 'Europe/Budapest'. If not specified defaults to UTC. |
Query Parameters
The available query parameters for the request:
Query Parameter | Value type | Optional | Description |
---|---|---|---|
worklogId | number | false | The id of the worklog. Example: /public/worklog?worklogId=107 |
Examples
DELETE URL: TIME_TRACKER_BASE_URL/timetracker/api/latest/public/worklog?worklogId=123
Example response:
200
The delete operation is accepted and processed. The result of the worklog delete can be found in the response body:
If there was no error during the deletion the error object will be null:
{ "error": null }
If there was an error during the deletion the error object will be filled:
{ "error": { "message": null, "result": "WORKLOG_NOT_FOUND", "worklogId": 123 } }
400
Invalid parameters:
An object that holds all field and non-field related errors:
{ // Errors that are not tied to any specific field. "additionalErrors": [ { "errorType": "JiraError" | "PeriodicLimit" | "PeriodicLoggablePeriod" | "PeriodicMaxHoursPerDay" | "TooManyDataForTimesheet" | "TooManyWorklogsToExport" | "NoActiveLicense" | "ManualUpgradeNeeded" "extra": // A field holding additional information related to the error } ], // Error response data for fields. "fieldErrors": [ { "errorType": "Exceed" | "Invalid" | "InvalidByJira" | "InvalidFormat" | "LoggablePeriod" | "MaxHoursPerDay" | "Required" | "TooManyPeriodicIssues", // An array of string arrays containing the problematic field names. "paths": [ [ "string" ] ] } ] }
401
Unauthorized
479
The user does not have one of the necessary Timetracker permissions that can be set in the Global Settings.