Skip to main content

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:

  1. Create a workspace to house your project.
  2. Inside the workspace, create a folder where you can ingest your data.
Detailed instruction available

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.

Download a sample CSV

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 parameterOnna parameterDescriptionExample
idrefThe Reference Number or ID for the ticket at the origin.12345
urlurlA 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
titlenameThe title given to the item in your ticketing systemAs a developer I want to
use the Onna Platform API so that
I can ingest any data
descriptiondescriptionThe section where the user story is described in detail.Demo story description
typecategoryThe category that the story is classified as. For example, feature or bug.feature
statestatusThe status of the ticket. For example, In progress, Completed, or Blocked.In progress
requesterrequesterThe user who requested the user story (may differ from the one creating it). Usually expressed as a username or email.michael@dundermifflin.com
ownersassigneesUsers who the story is assigned to. Usually expressed as a usernames or emails.dwight@dundermifflin.com
created_atcreation_dateDate when the ticket was created. You must use the ISO 8601 format.2022/07/26 12:33:39
updated_atupdate_dateDate when the ticket was updated. You must use the ISO 8601 format.2022/07/26 12:33:46
labelstagsList 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
Full list of parameters available

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 Onna
  • onna_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.