---
title: "Create Jira tickets"
method: POST
path: "/api/v1/deployments/{deploymentSlug}/tickets"
tags: ["TicketingService"]
---

# Create Jira tickets

`POST /api/v1/deployments/{deploymentSlug}/tickets`

Create Jira tickets for your findings. You can create tickets by passing in a list of issue_ids or by passing in filter query parameters to dynamically select findings. If passing in filters, Semgrep will skip already ticketed findings. This endpoint is synchronous, so it may take some time for your request to resolve. Unlike creating tickets in-app, if ticket creation fails we won't automatically retry. This endpoint accepts a limit parameter (defaulting to 20) to limit the number of tickets created per request. If you specify a list of issue_ids greater than this limit, or your selected filters match on a number of issues greater than this limit, issues that were not ticketed are included in the Failed part of the response object. You can send another request to create tickets for these skipped issues. By default, findings belonging to the same repository and the same rule will be grouped together into a single Jira ticket. You can override this using the group_issues query parameter. Up to 50 issues can be grouped into a single ticket. You can optionally override the Jira project you create tickets in by passing in a Jira project ID as jira_project_id (the numeric ID rather than the project key). You can fetch this ID using the Jira API.

## Path parameters

- `deploymentSlug` string, required — Deployment slug. Can be found at `/deployments`, or in your Settings in the web UI.

## Request body

- ProtosOpenapiV1CreateTicketRequest — Create ticket request
  - `autotriage_verdict` 'true_positive' | 'false_positive' — The autotriage verdict to filter by
  - `categories` string[] — List of categories to filter by
  - `component_tags` string[] — List of component tags to filter by
  - `confidence` 'low' | 'medium' | 'high' — List of confidence levels to filter by
  - `dependencies` string[] — Filter by dependency name. Only applies for sca findings.
  - `deploymentSlug` string — Deployment slug. Can be found at `/deployments`, or in your Settings in the web UI.
  - `epss_probability` string[] — Filter by EPSS probability (likelihood of exploit). Only applies for sca findings.
  - `exposures` string[] — Filter by exposure (reachability type). Only applies for sca findings. Reachability is the ability of an attacker to access a vulnerability in a system.
  - `group_issues` boolean — Whether or not to group findings from the same rule and repository into a single ticket. Defaults to true.
  - `include_historical` boolean — Whether to include historical findings. Only applies for secrets findings. Defaults to true.
  - `issue_ids` string[] — An array of issue IDs to act on. If this is not provided, an issue filter should be provided.
  - `issue_type` 'sast' | 'sca' | 'secrets', required — Type of findings to create tickets for.
  - `jira_project_id` string — Optional numeric Jira project ID to associate with the created tickets. If not specified, defaults to the project configured in your integration settings. You can fetch this ID using the Jira API.
  - `limit` integer — Max number of tickets to create. Must be an integer between 1 and 20. Defaults to 20
  - `policies` string[] — List of policy modes to filter by
  - `policy_mode` string[] — List of policy modes to filter by
  - `pro_only` boolean — Filter by whether a finding is only available with Semgrep Pro features. Only applies for sast findings.
  - `project_tags` string[] — List of project tags to filter by
  - `ref` string — Branch reference to filter by
  - `repos` string[] — List of repository names to filter by
  - `repository_visibility` string[] — Filter by repository visibility. Only applies for secrets findings.
  - `rules` string[] — List of rule names to filter by
  - `ruleset` string[] — List of Semgrep Registry rulesets to filter by
  - `secret_types` string[] — Filter by type of secret (typically provider-related). Only applies for secrets findings.
  - `severities` string[] — List of severities to filter by
  - `since` string — Epoch timestamp in seconds. Filters using the relevant_since field: the timestamp when this finding was detected by Semgrep (the first time, or when reintroduced).
  - `status` 'open' | 'fixed' | 'ignored' | 'reviewing' | 'fixing' | 'provisionally_ignored' — The status to filter by
  - `transitivities` string[] — Filter by transitivity of a dependency. Only applies for sca findings.
  - `triage_reasons` string[] — List of triage reasons to filter by
  - `validation_state` string[] — Filter by whether a secret could be validated. Only applies for secrets findings.

## Response `200`

OK

- ProtosOpenapiV1CreateTicketResponse
  - `failed` ProtosOpenapiV1CreateTicketResponseTicketCreationFailed[] — List of issues where ticket creation failed. This list may include issues that were skipped because they exceed the specified limit.
    - `error` string — The error message for the failure
    - `issue_ids` integer[] — List of issue IDs
  - `skipped` ProtosOpenapiV1CreateTicketResponseTicketCreationSkipped[] — List of issues that were skipped
    - `issue_ids` integer[] — List of issue IDs
    - `reason` string — The reason why the issue was skipped
  - `succeeded` ProtosOpenapiV1CreateTicketResponseTicketCreationSuccess[] — List of successfully created tickets
    - `external_slug` string — The external slug identifier for the ticket
    - `issue_ids` integer[] — List of issue IDs
    - `ticket_id` integer — The ID of the created ticket
    - `ticket_url` string — The URL of the created ticket

---

[API](https://skmtc.net/semgrep/apis/semgrep-web-app.md) · [All operations](https://skmtc.net/semgrep/apis/semgrep-web-app/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/semgrep/semgrep-web-app/revisions/6483eeecd582/schema)
