Skip to content

The sync from TestRail: modes, imported projects, last sync

GET
/v1/projects/{id}/integrations/testrail/sync
curl --request GET \
--url https://beta-api.plune.ai/v1/projects/example/integrations/testrail/sync \
--cookie plune_session=<plune_session>

Every member of the project, a reader too. A project that has no TestRail connected answers 404. Session cookie only.

id
required
string

An id from GET /v1/projects

The sync of the project

Media type application/json

The sync of a project from TestRail: its modes, what can be asked for, which TestRail projects were imported on this connection (a sync needs one) and the last sync that finished.

object
modes
required

The mode of each entity, off by default. runs and milestones come with the history import and can only be off for now.

object
cases
required

Folders and cases: names, preconditions, steps, expected results, priority, location.

string
Allowed values: off testrail
suites
required

The suites of an imported project (the folders made for them).

string
Allowed values: off testrail
runs
required

Comes with the history import.

string
Allowed values: off testrail
milestones
required

Comes with the history import.

string
Allowed values: off testrail
fields
required

The custom case fields the import created (the field of TestRail’s references).

string
Allowed values: off testrail
available
required

The entities a sync can look at now.

Array<string>
Allowed values: cases suites runs milestones fields
imported
required
Array<object>
object
trProjectId
required
integer
trProjectName
required
string
finishedAt
required
string format: date-time
lastSync
required
object
id
string
trProjectId
integer
which
string
Allowed values: all new
entities
Array<string>
finishedAt
string format: date-time
goneCount
required

Cases that a sync found gone from TestRail and that have not come back. None was deleted.

integer
Example
{
"modes": {
"cases": "testrail",
"suites": "testrail",
"runs": "off",
"milestones": "off",
"fields": "off"
},
"available": [
"cases",
"suites",
"fields"
],
"imported": [
{
"trProjectId": 1,
"trProjectName": "Project Alpha",
"finishedAt": "2026-09-16T09:12:04.151Z"
}
],
"lastSync": {
"id": "c2a1d7f4-3b52-4c1e-8d2a-5a6f0e9b7c10",
"trProjectId": 1,
"which": "all",
"entities": [
"cases",
"suites"
],
"finishedAt": "2026-09-16T09:12:04.151Z"
},
"goneCount": 1
}

No / invalid session — a CLI token is refused here

No such project among yours, or no TestRail is connected

Media type application/json
object
error
required
string
Example
{
"error": "no TestRail is connected"
}

The server has no key to keep TestRail keys under

Media type application/json
object
error
required
string
Example
{
"error": "the TestRail bridge is not configured on this server - contact your operator"
}