Details Report API
Get detailed data about work logs and the related projects and Issues as you would using the app’s Details Report.
All requests need to be made to this base URL:
https://jttp-cloud.everit.biz/timetracker/api/latest/public
Create Details Report POST /report/details
Header parameters
Header Parameter | Optional | Description |
---|---|---|
x-everit-api-key | false | Generated Everit authentication token, see: REST API |
x-everit-jwt | false | JWT token (deprecated, use the new x-everit-api-key instead) |
x-requested-by | false | CSRF protection parameter. Can be empty or any dummy text. |
x-timezone | true | The time zone of the user, for eg.: Europe/Budapest. If not specified defaults to UTC. |
Body
The POST body for the Details Report is a JSON: DetailsReportRequest
The available parameters of the DetailsReportRequest:
Parameter | Value type | Optional | Description |
---|---|---|---|
startAt | number | false | The index of the first item returned in the page of results. Example: “startAt”: 0 |
startDate | string | false | The start date from which the worklogs can be viewed. The query is run from the beginning of the given day (00:00:00) |
endDate | string | false | The end date until which the worklogs can be viewed. The query is run until the end of the given day (23:59:59). Example: “endDate”: “2023-01-01” |
filterBillable | boolean | true | Filtering worklogs based on this boolean. True returns billable worklogs, false returns non-billable worklogs. If this parameter is not provided both billable and non-billable worklogs are returned. Example: “filterBillable”: true |
projects | string[] | true | IDs of projects whose worklogs will be returned. If this parameter is not provided the worklogs will not be filtered based on projects. Example: “projects”: [“10000“] |
filters | string[] | true | IDs of filters whose worklogs will be returned. If this parameter is not provided the worklogs will not be filtered based on the filter ids. Example: “filters”: [“10020“] |
jql | string | true | JQL expression to filter the issues whose worklogs will be returned. If this parameter is not provided the worklogs will not be filtered based on this parameter. Example: “jql”: “project = S1“ |
groups | string[] | true | Names of groups whose worklogs will be returned. If this parameter is not provided the worklogs will not be filtered based on user groups. Example: “groups”: [“administrators“] |
users | string[] | true | AccountIds of users whose worklogs will be returned. If this parameter is not provided the worklogs will not be filtered based on worklog authors. Example: “users”: [“5f18aff107efc400285dfe12“] |
expand | string[] | true | Use expand to include additional information about issues and worklogs in the response. If this parameter is not provided the result will not be expanded. Possible values: ASSIGNEE, AUTHOR, PRIORITY, PROJECT, REPORTER, STATUS, TYPE Example: “expand”: [“PROJECT“, “AUTHOR“] |
maxResults | number | true | The maximum number of items that can be returned per page. Defaults to 50. |
orderBy | string | true | Order-by definition, which is a field name optionally prefixed with a dash, which indicates descending order direction. If not specified defaults to: “-worklogStartTime“ Possible Values: "worklogCreated","-worklogCreated","worklogStartTime","-worklogStartTime","worklogTimeSpent","-worklogTimeSpent","worklogUpdated","-worklogUpdated" Example: “orderBy” : “worklogCreated“ |
reportTagFilter |
| true | Report tag filter data. A worklog is returned if it has at least one of the tag specified in the tags array. If this parameter is not provided the result will not be filtered based on tags. Example:
CODE
|
The available parameters of the ReportTagFilter
:
Parameter | Value | Optional | Description |
---|---|---|---|
includeTaglessWorklogs | boolean | true | Whether to include worklogs without tags. If not provided defaults to false. Example: “includeTaglessWorklogs”: true |
tags | number[] | true | Tag ids whose worklogs will be returned. If not provided defaults to empty array. Example: “tags”: [1, 5] |
Examples
POST URL: TIME_TRACKER_BASE_URL/timetracker/api/latest/public/report/details
Example post body:
{
"endDate":"2023-01-01",
"startAt":0,
"maxResults" : 2,
"startDate":"2021-01-01",
"groups": ["administrators"],
"filterBillable": true,
"users": ["5f18aff107efc400285dfe87"],
"projects": ["proj"],
"orderBy": "worklogUpdated",
"filters": ["10019", "10020"],
"jql": "project = proj or project = s1",
"expand": [ "REPORTER", "AUTHOR", "PROJECT"],
"reportTagFilter": {
"includeTaglessWorklogs": true,
"tags": [ 1, 5]
}
}
Example response:
{
"issueSynchronizationProblem": false,
"maxResults": 2,
"startAt": 0,
"total": 46,
"totalWorkTimeInSeconds": 2613960,
"unknownUserWorklogExists": false,
"jql": "(project = proj or project = s1) AND (worklogAuthor IN (\"5f18aff107efc400285dfe87\") AND (project IN (proj)) AND (filter IN (10019,10020)) AND (worklogDate >= 2021-01-01) AND (worklogDate <= 2023-01-01)",
"values": [
{
"issue": {
"affectedVersions": [
"alma version 2",
"version 2"
],
"assignee": {
"avatar": null,
"id": null,
"name": null
},
"components": [],
"created": "2021-02-17T20:33:01.898+0100",
"fixVersions": [],
"id": 10127,
"key": "PROJ-81",
"labels": [],
"originalEstimate": 324600,
"priority": {
"iconUrl": null,
"name": "High"
},
"remainingEstimate": 288600,
"reporter": {
"avatar": {
"size16x16": "https://secure.gravatar.com/avatar/8643dfa5d61672178c233211d06d366c?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTN-6.png",
"size24x24": "https://secure.gravatar.com/avatar/8643dfa5d61672178c233211d06d366c?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTN-6.png",
"size32x32": "https://secure.gravatar.com/avatar/8643dfa5d61672178c233211d06d366c?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTN-6.png",
"size48x48": "https://secure.gravatar.com/avatar/8643dfa5d61672178c233211d06d366c?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTN-6.png"
},
"id": "5efe137c3683cd0bc119020f",
"name": "test name2"
},
"resolution": "Done",
"status": {
"color": null,
"description": null,
"name": "Done"
},
"summary": "CLONE - add epic 1",
"type": {
"description": null,
"iconUrl": null,
"id": 10000,
"name": null
},
"updated": "2022-08-12T09:41:52.787+0200"
},
"project": {
"id": "10000",
"key": "PROJ",
"name": "project1"
},
"worklog": {
"author": {
"avatar": {
"size16x16": "https://secure.gravatar.com/avatar/8643dfa5d61672178c233211d06d366c?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTN-6.png",
"size24x24": "https://secure.gravatar.com/avatar/8643dfa5d61672178c233211d06d366c?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTN-6.png",
"size32x32": "https://secure.gravatar.com/avatar/8643dfa5d61672178c233211d06d366c?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTN-6.png",
"size48x48": "https://secure.gravatar.com/avatar/8643dfa5d61672178c233211d06d366c?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTN-6.png"
},
"id": "5efe137c3683cd0bc119020f",
"name": "test name2"
},
"created": "2021-05-12T00:41:06.343+0200",
"description": "",
"durationInSeconds": 36000,
"id": 10024, //Timetracker's internal worklog ID
"isBillable": true,
"jiraWorklogId": 230818, //ID of the worklog as stored in Jira
"startTime": "2021-05-11T14:40:57.877+0200",
"updated": "2021-05-12T00:41:06.343+0200",
"worklogTagIds": [ 5, 2 ],
"worklogTags": [
{
"id": 5,
"name": "development"
},
{
"id": 2,
"name": "testing"
}
]
}
},
{
"issue": {
"affectedVersions": [],
"assignee": {
"avatar": null,
"id": null,
"name": null
},
"components": [],
"created": "2021-05-12T00:07:28.976+0200",
"fixVersions": [],
"id": 10175,
"key": "PROJ-93",
"labels": [],
"originalEstimate": 0,
"priority": {
"iconUrl": null,
"name": "High (migrated)"
},
"remainingEstimate": 0,
"reporter": {
"avatar": {
"size16x16": "https://secure.gravatar.com/avatar/8643dfa5d61672178c233211d06d366c?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTN-6.png",
"size24x24": "https://secure.gravatar.com/avatar/8643dfa5d61672178c233211d06d366c?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTN-6.png",
"size32x32": "https://secure.gravatar.com/avatar/8643dfa5d61672178c233211d06d366c?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTN-6.png",
"size48x48": "https://secure.gravatar.com/avatar/8643dfa5d61672178c233211d06d366c?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTN-6.png"
},
"id": "5efe137c3683cd0bc119020f",
"name": "test name2"
},
"resolution": null,
"status": {
"color": null,
"description": null,
"name": "Backlog"
},
"summary": "subtask 1",
"type": {
"description": null,
"iconUrl": null,
"id": 10003,
"name": null
},
"updated": "2022-10-25T12:23:25.049+0200"
},
"project": {
"id": "10000",
"key": "PROJ",
"name": "project1"
},
"worklog": {
"author": {
"avatar": {
"size16x16": "https://secure.gravatar.com/avatar/8643dfa5d61672178c233211d06d366c?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTN-6.png",
"size24x24": "https://secure.gravatar.com/avatar/8643dfa5d61672178c233211d06d366c?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTN-6.png",
"size32x32": "https://secure.gravatar.com/avatar/8643dfa5d61672178c233211d06d366c?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTN-6.png",
"size48x48": "https://secure.gravatar.com/avatar/8643dfa5d61672178c233211d06d366c?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTN-6.png"
},
"id": "5efe137c3683cd0bc119020f",
"name": "test name2"
},
"created": "2021-05-12T09:02:45.115+0200",
"description": "",
"durationInSeconds": 288000,
"id": 10025, //Timetracker's internal worklog ID
"isBillable": true,
"jiraWorklogId": 2322, //ID of the worklog as stored in Jira
"startTime": "2021-05-09T01:02:40.316+0200",
"updated": "2021-05-12T09:02:45.115+0200",
"worklogTagIds": [ 5, 1 ]
}
}
]
}
Response
200
Successful operation:
{
"issueSynchronizationProblem": true,
"maxResults": 0,
"startAt": 0,
"total": 0,
"totalWorkTimeInSeconds": 0,
"unknownUserWorklogExists": true,
"jql": "string",
"values": [
{
"issue": {
"affectedVersions": [
"string"
],
"assignee": {
"avatar": {
"size16x16": "string",
"size24x24": "string",
"size32x32": "string",
"size48x48": "string"
},
"id": "string",
"name": "string"
},
"components": [
"string"
],
"created": "string",
"fixVersions": [
"string"
],
"id": 0,
"key": "string",
"labels": [
"string"
],
"originalEstimate": 0,
"priority": {
"iconUrl": "string",
"name": "string"
},
"remainingEstimate": 0,
"reporter": {
"avatar": {
"size16x16": "string",
"size24x24": "string",
"size32x32": "string",
"size48x48": "string"
},
"id": "string",
"name": "string"
},
"resolution": "string",
"status": {
"color": "string",
"description": "string",
"name": "string"
},
"summary": "string",
"type": {
"description": "string",
"iconUrl": "string",
"id": 0,
"name": "string"
},
"updated": "string"
},
"project": {
"id": "string",
"key": "string",
"name": "string"
},
"worklog": {
"author": {
"avatar": {
"size16x16": "string",
"size24x24": "string",
"size32x32": "string",
"size48x48": "string"
},
"id": "string",
"name": "string"
},
"created": "2011-12-03T10:15:30Z",
"description": "string",
"durationInSeconds": 0,
"id": 11, //Timetracker's internal worklog ID
"isBillable": boolean,
"jiraWorklogId": 23, //ID of the worklog as stored in Jira
"startTime": "2011-12-03T10:15:30Z",
"updated": "2011-12-03T10:15:30Z",
"worklogTagIds": number[]
}
}
]
}
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.
567
The worklog synchronization is not complete.