SuperAPI AI Directory

jira-mcp

Office & productivity

View repository

Updated 10-22 16:17

About this skill

Create Jira Ticket

Create one new Jira issue through the live mcp__atlassian__* tools. Keep the ticket faithful to the user's source material, validate Jira metadata before writing, preview the payload, obtain confirmation, and verify the created issue.

Scope

This skill covers:

  • New Story, Task, Bug, Sub-task, or another Jira issue type.
  • Project and issue-type discovery.
  • Required-field discovery.
  • Assignee lookup by Jira account ID.
  • Drafting and confirming summary, description, acceptance criteria, labels, components, priority, parent, fix versions, and custom fields.
  • Creating and verifying the new issue.

Do not edit, transition, comment on, assign, link, or log work on an existing issue in this skill. Route those requests to the appropriate Jira operation skill or handle them directly only when another skill explicitly covers them.

Required Inputs

Collect these before creation:

  • Project key, unless it can be resolved unambiguously from the user's context.
  • Issue type, such as Story, Task, Bug, or Sub-task.
  • Summary or enough context to draft one.
  • Description or enough context to draft one.

Also collect when relevant:

  • Acceptance criteria, steps to reproduce, expected versus actual behavior, environment, links, parent issue, assignee, priority, labels, components, fix versions, due date, and custom fields.

Do not invent missing business requirements. Ask only for information that is required to create the issue or materially changes its meaning. Clearly mark any wording inferred from the user's context in the preview.

Tool Sequence

Use the exact tools available in the current runtime:

  1. mcp__atlassian__getAccessibleAtlassianResources — resolve cloudId when a usable Atlassian hostname is not already known.
  2. mcp__atlassian__getVisibleJiraProjects — validate or find the project. Use action: "create" when checking create access.
  3. mcp__atlassian__getJiraProjectIssueTypesMetadata — list issue types available in the project.
  4. mcp__atlassian__getJiraIssueTypeMetaWithFields — inspect required fields for the selected project and issue type. Use requiredFieldsOnly: true first.
  5. mcp__atlassian__lookupJiraAccountId — resolve an assignee's account ID when assignment is requested.
  6. mcp__atlassian__searchJiraIssuesUsingJql — optionally check for likely duplicates when the project and summary make duplication plausible.
  7. mcp__atlassian__createJiraIssue — create the ticket after confirmation.
  8. mcp__atlassian__getJiraIssue — verify the created issue using the returned key or ID.

Do not use hardcoded aliases such as mcp__atlassian-mcp-server_*, and do not guess IDs returned by metadata tools.

Cloud ID Resolution

  1. If the user provides an Atlassian URL, try its hostname (for example, site.atlassian.net) as cloudId.
  2. If no cloud ID is known or the hostname fails, call mcp__atlassian__getAccessibleAtlassianResources.
  3. Reuse the resolved cloud ID for every subsequent tool call.
  4. Surface authentication, site-selection, and permission errors without exposing credentials or tokens.

Project and Issue-Type Validation

  1. Resolve the project key. If multiple projects match, ask the user to choose; never silently choose by name.
  2. Fetch the project's issue types. Match the user's requested type to an exact available type.
  3. If the user says only “ticket” or “Jira issue”, ask for the type unless the surrounding context makes it unambiguous.
  4. Fetch required fields for the selected type. Use the returned metadata to identify required custom fields, parent requirements, and valid field values.
  5. Do not send optional fields merely because they exist in metadata.

Drafting Rules

Create a compact, actionable ticket:

  • Summary: state the outcome or defect clearly; avoid adding facts not present in the source.
  • Story/Task description: include context, goal, scope, constraints, and acceptance criteria when provided.
  • Bug description: include actual behavior, expected behavior, reproduction steps, environment, impact, and evidence when provided.
  • Acceptance criteria: preserve the user's criteria; do not convert assumptions into acceptance criteria.
  • Preserve URLs and issue keys exactly.
  • Keep user-provided terminology and identifiers unchanged unless normalization is necessary for Jira fields.

Use Markdown content unless the user explicitly needs Atlassian Document Format. Pass contentFormat: "markdown" to the create tool for ordinary descriptions.

Build the Create Payload

Prepare these fields for mcp__atlassian__createJiraIssue:

  • cloudId
  • projectKey
  • issueTypeName
  • summary
  • description
  • contentFormat: "markdown" unless ADF is required
  • parent only for a valid sub-task or explicitly requested parent relationship
  • assignee_account_id only after account lookup
  • additional_fields for priority, labels, components, fix versions, due date, and custom fields

Use exact metadata IDs and valid values for custom fields. Do not pass an assignee display name. Do not apply a transition during creation unless the user explicitly requests it and the API supports the requested workflow.

Duplicate Check

Run a duplicate search when the user asks for it, the request is generated from a repeated source, or the summary strongly resembles an existing ticket:

  1. Build a narrow JQL query scoped to the project and a distinctive summary phrase.
  2. Search with searchResultMode: "issues", a minimal field list, and responseContentFormat: "markdown".
  3. Show likely matches and ask whether to continue, update an existing issue, or cancel.

Do not treat a duplicate search as proof that no duplicate exists; Jira search can be incomplete or phrase-sensitive.

Preview and Approval

Before calling mcp__atlassian__createJiraIssue, show a concise preview containing:

  • Project and issue type.
  • Summary.
  • Description and acceptance criteria.
  • Assignee, parent, priority, labels, components, fix versions, and custom fields.
  • Any inferred values, unresolved assumptions, or likely duplicates.

Obtain confirmation before creation. If required information is missing, ask for it instead of creating a partial ticket. For a bulk request, list every intended ticket and obtain explicit approval for the full scope.

Create and Verify

  1. Call mcp__atlassian__createJiraIssue once after approval.
  2. If the call returns a clear issue key or ID, call mcp__atlassian__getJiraIssue to verify the summary, type, description, status, assignee, and important fields.
  3. If creation fails ambiguously, do not retry immediately. Search for the exact project and summary first to avoid creating a duplicate.
  4. Report the created issue key, URL when available, final status, and any fields Jira rejected or defaulted.

Safety Rules

  • Treat ticket creation as an external mutation that can notify watchers, automation, and integrations.
  • Never create a ticket in an uncertain project or with an unverified issue type.
  • Never guess cloud IDs, account IDs, custom-field IDs, or required-field values.
  • Never convert assumptions into requirements or acceptance criteria without labeling them.
  • Never expose credentials, tokens, or secrets copied from tool errors or source text.
  • If the requested operation is not ticket creation, stop and route it to the correct Jira skill.