Integrations
Manage third-party integrations such as Jira.
Creates a Jira issue using the organization Jira integration, with title and description built from the specified run and test (same linking behavior as the dashboard). Identifies the Jira site via jiraInstallationId (shown in the dashboard as Installation ID). Requires a write-scoped API key. On 404, the error field indicates whether the Currents project, Jira installation, run, or test was not found.
An organization API key, sent as Authorization: Bearer <key>. A key carries one scope for the whole API: a read key reaches the GET endpoints, a write key reaches all of them. A crnts_pat_ personal access token is accepted as a Bearer while its owner remains an eligible administrator in its active organization. Each operation requires the corresponding scope stored on that token.
The project ID
proj_abc123Currents run ID containing the test
Test ID within the run (client test id)
Atlassian Jira installation ID for the org integration (same as Installation ID in the dashboard)
Jira project ID in which to create the issue
Jira issue type ID
Jira issue created and linked to the test
Invalid request parameters
Authentication failed
The credential authenticated but is not permitted to use this endpoint. Five refusals share the status: a read API key on an endpoint that writes, an OAuth token that was not granted the scope the endpoint needs (insufficient_scope), an OAuth token that was granted it but whose holder no longer has a role permitting it (insufficient_role), an OAuth token on an endpoint that accepts an API key and nothing else (api_key_required), and an API key on an endpoint that answers for a user (user_credential_required). Discriminate on code rather than on the message, which is free-form. The first refusal predates the codes and sets none. Only insufficient_scope carries the challenge header, because it is the only one a client can act on by re-authorizing.
Resource not found
Request could not be completed due to a conflict
Rate limit exceeded
Unexpected server error
POST /v1/projects/{projectId}/jira/issues HTTP/1.1
Host: api.currents.dev
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 157
{
"runId": "text",
"testId": "text",
"jiraInstallationId": "text",
"jiraProjectId": "text",
"jiraIssueType": "text",
"customFields": [
{
"fieldId": "text",
"value": "text"
}
]
}{
"status": "OK",
"data": {
"jiraIssueKey": "text",
"currentsIssueId": "text",
"jiraIssueUrl": "text",
"currentsIssueUrl": "text"
}
}Creates a link between an existing Jira issue (identified by jiraIssueKey in the path, e.g. PROJ-123) and the specified run and test. Same behavior as the dashboard link flow: resolves the test entity, builds the Currents issue title and Jira comment from the test (optionally prefixed with your comment), posts the comment on the Jira issue, and attaches the Jira ticket to the Currents issue. Identifies the Jira site via jiraInstallationId (Installation ID in the dashboard). jiraIssueType is stored on the ticket metadata (use the same value as when creating issues via the REST API, typically the issue type ID from issue type discovery). Requires a write-scoped API key. On 404, the error field indicates whether the Currents project, Jira installation, run, or test was not found.
An organization API key, sent as Authorization: Bearer <key>. A key carries one scope for the whole API: a read key reaches the GET endpoints, a write key reaches all of them. A crnts_pat_ personal access token is accepted as a Bearer while its owner remains an eligible administrator in its active organization. Each operation requires the corresponding scope stored on that token.
The project ID
proj_abc123Jira issue key to link (e.g. PROJ-123), as shown in Jira. Must be 1–255 characters after trimming. If missing, empty, or longer than 255 characters, the server responds with HTTP 400 and an ErrorResponse.
Currents run ID containing the test
Test ID within the run (client test id)
Atlassian Jira installation ID for the org integration (same as Installation ID in the dashboard)
Jira project ID for the linked issue
Jira issue type identifier stored on the Currents ticket (same as jiraIssueType when creating issues; use issue type discovery when unsure)
Optional text prepended to the Jira comment and Currents issue description before the automated test context (when includeContextInComment is true)
When true (default), appends the same automated test context used when creating Jira issues from a run test. When false, comment must be non-empty and is used alone for the Jira comment and issue description.
trueJira issue linked to the test
Invalid request parameters
Authentication failed
The credential authenticated but is not permitted to use this endpoint. Five refusals share the status: a read API key on an endpoint that writes, an OAuth token that was not granted the scope the endpoint needs (insufficient_scope), an OAuth token that was granted it but whose holder no longer has a role permitting it (insufficient_role), an OAuth token on an endpoint that accepts an API key and nothing else (api_key_required), and an API key on an endpoint that answers for a user (user_credential_required). Discriminate on code rather than on the message, which is free-form. The first refusal predates the codes and sets none. Only insufficient_scope carries the challenge header, because it is the only one a client can act on by re-authorizing.
Resource not found
Request could not be completed due to a conflict
Rate limit exceeded
Unexpected server error
POST /v1/projects/{projectId}/jira/issues/{jiraIssueKey}/link HTTP/1.1
Host: api.currents.dev
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 154
{
"runId": "text",
"testId": "text",
"jiraInstallationId": "text",
"jiraProjectId": "text",
"jiraIssueType": "text",
"comment": "text",
"includeContextInComment": true
}{
"status": "OK",
"data": {
"jiraIssueKey": "text",
"currentsIssueId": "text",
"jiraIssueUrl": "text",
"currentsIssueUrl": "text"
}
}Lists Jira projects available for the organization Jira integration (via Atlassian project search). Use returned project IDs as jiraProjectId when creating or linking Jira issues.
An organization API key, sent as Authorization: Bearer <key>. A key carries one scope for the whole API: a read key reaches the GET endpoints, a write key reaches all of them. A crnts_pat_ personal access token is accepted as a Bearer while its owner remains an eligible administrator in its active organization. Each operation requires the corresponding scope stored on that token.
Atlassian Jira installation ID for the org integration (same as Installation ID in the dashboard)
abc-123-atlassian-installationCase-insensitive search filter for Jira metadata
bugPage number (0-indexed)
0Page size for Jira discovery list endpoints (default 50, max 100)
50Jira projects returned successfully
Invalid request parameters
Authentication failed
The credential authenticated but is not permitted to use this endpoint. Five refusals share the status: a read API key on an endpoint that writes, an OAuth token that was not granted the scope the endpoint needs (insufficient_scope), an OAuth token that was granted it but whose holder no longer has a role permitting it (insufficient_role), an OAuth token on an endpoint that accepts an API key and nothing else (api_key_required), and an API key on an endpoint that answers for a user (user_credential_required). Discriminate on code rather than on the message, which is free-form. The first refusal predates the codes and sets none. Only insufficient_scope carries the challenge header, because it is the only one a client can act on by re-authorizing.
Resource not found
Request could not be completed due to a conflict
Rate limit exceeded
Unexpected server error
GET /v1/integrations/jira/projects?jira_installation_id=text HTTP/1.1
Host: api.currents.dev
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"status": "OK",
"data": {
"list": [
{
"id": "10000",
"key": "ENG",
"name": "Engineering",
"description": "text",
"avatarUrl": "text"
}
],
"count": 1,
"total": 1,
"nextPage": 1
}
}Lists Jira issue types available for a Jira project and embeds custom fields required to create issues through the REST API.
An organization API key, sent as Authorization: Bearer <key>. A key carries one scope for the whole API: a read key reaches the GET endpoints, a write key reaches all of them. A crnts_pat_ personal access token is accepted as a Bearer while its owner remains an eligible administrator in its active organization. Each operation requires the corresponding scope stored on that token.
Jira project ID (from project search or Jira). Must be 1–128 characters. If missing, empty, or longer than 128 characters, the server responds with HTTP 400 and an ErrorResponse (status: FAILED, error describing the validation failure).
10000Atlassian Jira installation ID for the org integration (same as Installation ID in the dashboard)
abc-123-atlassian-installationCase-insensitive search filter for Jira metadata
bugPage number (0-indexed)
0Page size for Jira discovery list endpoints (default 50, max 100)
50Jira issue types returned successfully
Invalid request parameters
Authentication failed
The credential authenticated but is not permitted to use this endpoint. Five refusals share the status: a read API key on an endpoint that writes, an OAuth token that was not granted the scope the endpoint needs (insufficient_scope), an OAuth token that was granted it but whose holder no longer has a role permitting it (insufficient_role), an OAuth token on an endpoint that accepts an API key and nothing else (api_key_required), and an API key on an endpoint that answers for a user (user_credential_required). Discriminate on code rather than on the message, which is free-form. The first refusal predates the codes and sets none. Only insufficient_scope carries the challenge header, because it is the only one a client can act on by re-authorizing.
Resource not found
Request could not be completed due to a conflict
Rate limit exceeded
Unexpected server error
GET /v1/integrations/jira/projects/{jiraProjectId}/issue-types?jira_installation_id=text HTTP/1.1
Host: api.currents.dev
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"status": "OK",
"data": {
"list": [
{
"id": "10001",
"name": "Bug",
"description": "text",
"iconUrl": "text",
"projectId": "text",
"customFields": [
{
"fieldId": "customfield_10010",
"key": "customfield_10010",
"name": "Severity",
"required": true,
"fieldType": "TEXT",
"allowedValues": [
{
"id": "text",
"name": "text"
}
],
"originalType": "text"
}
]
}
],
"count": 1,
"total": 1,
"nextPage": 1
}
}Last updated
Was this helpful?