Ingest tickets
Learn how to ingest data from support, issue, or project tracking tools.
About tickets
Tickets are one of the resource types available in the platform. It's meant to let you ingest data from tools where two parties communicate and track work to resolve issues or deliver incremental value. Customer support requests, service desk tickets, or software development projects are some examples of what you can map to this resource type.
For more information about this resource type, see Tickets.
Organize your data
Before ingesting tickets, we recommend organizing the platform to house your data.
For more information on the best way to organize your data, check Data structure.
The preferred approach is:
- Create a workspace to house your project.
- Inside the workspace, create a folder where you can ingest your data.
For detailed instructions on how to create workspaces and folders, see Hello world.
Prepare to ingest
Preparing the data is the most important part when you're ingesting non-raw resources.
It starts understanding the structure of your data and mapping it to the structure of one the relevant resource type supported by the platform.
It's about telling your code where to go look for a given piece of information and what parameter it must be translated to when you ingest it.
For example, with tickets, you can map fields like id
, requester
, and status
to their Onna counterpart.
You can download our sample CSV file and use it to test the following steps.
This example shows you how to ingest user stories exported as CSV from Shortcut and saved on a local machine, but you can retrieve the data whatever way is most convenient for you.
Original parameter | Onna parameter | Description | Example |
---|---|---|---|
id | ref | The Reference Number or ID for the ticket at the origin. | 12345 |
url | url | A Unique Resource Locator for the ticket at the origin. You can either retrieve it or compose it by assembling the different parts that comprise the URL. | https://app.shortcut.com /dundermifflin/story/12345/demo-story-1 |
title | name | The title given to the item in your ticketing system | As a developer I want to use the Onna Platform API so that I can ingest any data |
description | description | The section where the user story is described in detail. | Demo story description |
type | category | The category that the story is classified as. For example, feature or bug . | feature |
state | status | The status of the ticket. For example, In progress , Completed , or Blocked . | In progress |
requester | requester | The user who requested the user story (may differ from the one creating it). Usually expressed as a username or email. | michael@dundermifflin.com |
owners | assignees | Users who the story is assigned to. Usually expressed as a usernames or emails. | dwight@dundermifflin.com |
created_at | creation_date | Date when the ticket was created. You must use the ISO 8601 format. | 2022/07/26 12:33:39 |
updated_at | update_date | Date when the ticket was updated. You must use the ISO 8601 format. | 2022/07/26 12:33:46 |
labels | tags | List of tags associated to the ticket in the origin. | front-end |
Ingest data
When your data set is ready, you can make the call to ingest your data.
Make a POST
request to the /tickets
endpoint located under /resources
.
curl --location --request POST 'https://api.onna.com/v1/resources/tickets' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer d3m0deMOd3m0deMOd3m0deMOd3m0deMOd3m0deMOd3m0deMOd3m0deMOd3m0deMOd3m0deMOd3m0d3m0d3m0d3m0' \
--data-raw '{
"onna_parent_id": "d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m0",
"name": "As a developer I want to use the Onna Platform API so that I can ingest any data",
"ref": "12345",
"url": "https://app.shortcut.com/dundermifflin/story/12345/demo-story-1"
"description": "As a developer I want to use the Onna Platform API so that I can ingest any data I want",
"type": "feature",
"status": "In progress",
"requester": "michael@dundermifflin.com",
"owners": "pam@dundermifflin.com"
"creation_date": "2022-07-22T03:39:07.000000+00:00",
"update_date": "2022-07-22T03:40:07.000000+00:00",
"tags": ["front-end","javascript"]
}
Where:
onna_parent_id
is the unique ID of the folder where you're placing your tickets
The full list of parameters for the Tickets resource type is available in the Create Ticket endpoint of our API reference.
A successful response (201) returns:
{
"onna_id": "d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m0",
"onna_url": "https://enterprise.onna.com/dundermifflin/ediscovery/workspaces/my-workspace-12345/folder/d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m0"
}
Where:
onna_id
is the unique ID of the resource in Onnaonna_url
is the URL at which the resource is available
What's next
You can confirm that a ticket is ingested correctly.
Make a GET
request to the resource's endpoint.
A successful response (201) returns:
{
"name": "As a developer I want to use the Onna Platform API so that I can ingest any data",,
"onna_parent_id": "d3mod3mod3mod3mod3mod3mod3mod3mo",
"ref": "12345",
"url": "https://app.shortcut.com/dundermifflin/story/12345/demo-story-1"
}
Now that you learned how to ingest a Ticket resource, you can make the process repeatable to ingest more.