Mirra
Integrations

Jira

SDK reference for jira operations

Overview

Jira project management and issue tracking

  • Category: project
  • Auth Required: Yes
  • Supported Modes: standard, delegated

Operations

createIssue

Create a new Jira issue

Arguments:

  • projectKey (string, required): Jira project key (e.g., "PROJ")
  • summary (string, required): Issue summary/title
  • description (string, optional): Issue description
  • issueType (string, optional): Issue type (Task, Bug, Story, etc.)

Returns:

AdapterOperationResult - Created issue information

Response Fields:

FieldTypeDescription
issueKeystringCreated issue key
issueIdstringCreated issue ID
summarystringIssue summary

Example:

const result = await mirra.jira.createIssue({
  projectKey: "example",
  summary: "example"
});

searchIssues

Search Jira issues using JQL. Returns normalized flat issue summaries.

Arguments:

  • jql (string, required): JQL query string
  • maxResults (number, optional): Maximum number of results (default: 50, max: 100)

Returns:

AdapterOperationResult - Returns { jql, count, issues[] }. Each issue has FLAT fields: id, key, summary, status, statusId, issueType, issueTypeId, priority, priorityId, assignee, assigneeAccountId, projectKey, projectName, labels[], created, updated, isAssigned. No nested objects.

Response Fields:

FieldTypeDescription
jqlstringJQL query used
countnumberNumber of results
issuesJiraIssueSummary[]List of matching issues
issues item fields (JiraIssueSummary)
FieldTypeDescription
idstringUnique issue ID
keystringIssue key (e.g., PROJ-123)
summarystringIssue summary/title
statusstringStatus name
statusIdstringStatus ID
issueTypestringIssue type name
issueTypeIdstringIssue type ID
prioritystringPriority name
priorityIdstringPriority ID
assigneestringAssignee display name
assigneeAccountIdstringAssignee account ID
projectKeystringProject key
projectNamestringProject name
labelsstring[]Issue labels
createdstringCreated timestamp (ISO 8601)
updatedstringUpdated timestamp (ISO 8601)
isAssignedbooleanWhether issue has an assignee

Example:

const result = await mirra.jira.searchIssues({
  jql: "example"
});

getIssue

Get a specific Jira issue by key or ID. Returns normalized flat structure.

Arguments:

  • issueKey (string, required): Issue key (e.g., "PROJ-123") or ID

Returns:

AdapterOperationResult - Returns FLAT structure with: id, key, summary, description, status, statusId, issueType, issueTypeId, priority, priorityId, assignee, assigneeAccountId, reporter, reporterAccountId, projectKey, projectName, projectId, labels[], created, updated, isAssigned, hasLabels. No nested objects.

Response Fields:

FieldTypeDescription
idstringUnique issue ID
keystringIssue key (e.g., PROJ-123)
summarystringIssue summary/title
descriptionstringIssue description (extracted from ADF)
statusstringStatus name
statusIdstringStatus ID
issueTypestringIssue type name
issueTypeIdstringIssue type ID
prioritystringPriority name
priorityIdstringPriority ID
assigneestringAssignee display name
assigneeAccountIdstringAssignee account ID
reporterstringReporter display name
reporterAccountIdstringReporter account ID
projectKeystringProject key
projectNamestringProject name
projectIdstringProject ID
labelsstring[]Issue labels
createdstringCreated timestamp (ISO 8601)
updatedstringUpdated timestamp (ISO 8601)
isAssignedbooleanWhether issue has an assignee
hasLabelsbooleanWhether issue has labels

Example:

const result = await mirra.jira.getIssue({
  issueKey: "example"
});

updateIssue

Update an existing Jira issue

Arguments:

  • issueKey (string, required): Issue key (e.g., "PROJ-123")
  • summary (string, optional): New issue summary/title
  • description (string, optional): New issue description

Returns:

AdapterOperationResult - Updated issue information

Response Fields:

FieldTypeDescription
issueKeystringUpdated issue key
updatedbooleanWhether update succeeded

Example:

const result = await mirra.jira.updateIssue({
  issueKey: "example"
});

deleteIssue

Delete a Jira issue

Arguments:

  • issueKey (string, required): Issue key (e.g., "PROJ-123")

Returns:

AdapterOperationResult - Deletion confirmation

Response Fields:

FieldTypeDescription
issueKeystringDeleted issue key
deletedbooleanWhether deletion succeeded

Example:

const result = await mirra.jira.deleteIssue({
  issueKey: "example"
});

addComment

Add a comment to a Jira issue

Arguments:

  • issueKey (string, required): Issue key (e.g., "PROJ-123")
  • comment (string, required): Comment text

Returns:

AdapterOperationResult - Created comment information

Response Fields:

FieldTypeDescription
issueKeystringIssue key
commentIdstringCreated comment ID
addedbooleanWhether comment was added

Example:

const result = await mirra.jira.addComment({
  issueKey: "example",
  comment: "example"
});

transitionIssue

Transition a Jira issue to a different status

Arguments:

  • issueKey (string, required): Issue key (e.g., "PROJ-123")
  • transitionId (string, required): ID of the transition to perform

Returns:

AdapterOperationResult - Transition result

Response Fields:

FieldTypeDescription
issueKeystringIssue key
transitionedbooleanWhether transition succeeded
transitionIdstringTransition ID used

Example:

const result = await mirra.jira.transitionIssue({
  issueKey: "example",
  transitionId: "abc123"
});

assignIssue

Assign a Jira issue to a user

Arguments:

  • issueKey (string, required): Issue key (e.g., "PROJ-123")
  • accountId (string, required): Atlassian account ID of the assignee

Returns:

AdapterOperationResult - Assignment result

Response Fields:

FieldTypeDescription
issueKeystringIssue key
accountIdstringAssigned user account ID
assignedbooleanWhether assignment succeeded

Example:

const result = await mirra.jira.assignIssue({
  issueKey: "example",
  accountId: "abc123"
});

getProjects

Get all accessible Jira projects. Returns normalized flat project structures.

Returns:

AdapterOperationResult - Returns { count, projects[] }. Each project has FLAT fields: id, key, name, projectTypeKey, leadName, leadAccountId. No nested objects.

Response Fields:

FieldTypeDescription
countnumberNumber of projects
projectsJiraProject[]List of projects
projects item fields (JiraProject)
FieldTypeDescription
idstringProject ID
keystringProject key
namestringProject name
projectTypeKeystringProject type key
leadNamestringProject lead name
leadAccountIdstringProject lead account ID

Example:

const result = await mirra.jira.getProjects();

listProjects

List all accessible Jira projects (alias for getProjects). Returns normalized flat structures.

Returns:

AdapterOperationResult - Returns { count, projects[] }. Each project has FLAT fields: id, key, name, projectTypeKey, leadName, leadAccountId. No nested objects.

Response Fields:

FieldTypeDescription
countnumberNumber of projects
projectsJiraProject[]List of projects
projects item fields (JiraProject)
FieldTypeDescription
idstringProject ID
keystringProject key
namestringProject name
projectTypeKeystringProject type key
leadNamestringProject lead name
leadAccountIdstringProject lead account ID

Example:

const result = await mirra.jira.listProjects();

getProjectMetadata

Get metadata for a specific Jira project. Returns normalized flat structures.

Arguments:

  • projectKey (string, required): Project key (e.g., "PROJ")

Returns:

AdapterOperationResult - Returns { projectKey, projectName, issueTypeCount, issueTypes[], priorityCount, priorities[] }. Each issueType has FLAT fields: id, name, description, isSubtask. Each priority has: id, name, description.

Response Fields:

FieldTypeDescription
projectKeystringProject key
projectNamestringProject name
issueTypeCountnumberNumber of issue types
issueTypesJiraIssueType[]Available issue types
issueTypes item fields (JiraIssueType)
FieldTypeDescription
idstringIssue type ID
namestringIssue type name
descriptionstringIssue type description
isSubtaskbooleanWhether this is a subtask type

| priorityCount | number | Number of priorities | | priorities | JiraPriority[] | Available priorities |

priorities item fields (JiraPriority)
FieldTypeDescription
idstringPriority ID
namestringPriority name
descriptionstringPriority description

Example:

const result = await mirra.jira.getProjectMetadata({
  projectKey: "example"
});

getTransitions

Get available transitions for a Jira issue. Returns normalized flat structures.

Arguments:

  • issueKey (string, required): Issue key (e.g., "PROJ-123")

Returns:

AdapterOperationResult - Returns { issueKey, count, transitions[] }. Each transition has FLAT fields: id, name, toStatus, toStatusId. No nested objects.

Response Fields:

FieldTypeDescription
issueKeystringIssue key
countnumberNumber of transitions
transitionsJiraTransition[]Available transitions
transitions item fields (JiraTransition)
FieldTypeDescription
idstringTransition ID
namestringTransition name
toStatusstringTarget status name
toStatusIdstringTarget status ID

Example:

const result = await mirra.jira.getTransitions({
  issueKey: "example"
});

listAssignableUsers

List users that can be assigned to issues in a project

Arguments:

  • projectKey (string, required): Project key (e.g., "PROJ")

Returns:

AdapterOperationResult - Returns { projectKey, count, users[] }. Each user has: accountId, displayName, emailAddress, active.

Response Fields:

FieldTypeDescription
projectKeystringProject key
countnumberNumber of users
usersJiraUser[]Assignable users
users item fields (JiraUser)
FieldTypeDescription
accountIdstringUser account ID
displayNamestringUser display name
emailAddressstringUser email address (optional)
activebooleanWhether user is active

Example:

const result = await mirra.jira.listAssignableUsers({
  projectKey: "example"
});

getIssueTypes

Get available issue types for a project. Returns normalized flat structures.

Arguments:

  • projectKey (string, required): Project key (e.g., "PROJ")

Returns:

AdapterOperationResult - Returns { projectKey, count, issueTypes[] }. Each issueType has FLAT fields: id, name, description, isSubtask. No nested objects.

Response Fields:

FieldTypeDescription
projectKeystringProject key
countnumberNumber of issue types
issueTypesJiraIssueType[]Available issue types
issueTypes item fields (JiraIssueType)
FieldTypeDescription
idstringIssue type ID
namestringIssue type name
descriptionstringIssue type description
isSubtaskbooleanWhether this is a subtask type

Example:

const result = await mirra.jira.getIssueTypes({
  projectKey: "example"
});

discoverExtended

Search Jira API for available operations beyond core tools

Arguments:

  • query (string, required): Describe what you want to do (e.g., "add label to card")
  • limit (number, optional): Max results to return (default 5)

Returns:

AdapterOperationResult - List of matching operations with their details

Example:

const result = await mirra.jira.discoverExtended({
  query: "example"
});

executeExtended

Execute a Jira API operation by operationId

Arguments:

  • operationId (string, required): The operationId from discoverExtended results
  • pathParams (object, optional): Path parameters, e.g., { id: "abc123" }
  • queryParams (object, optional): Query string parameters
  • body (object, optional): Request body for POST/PUT/PATCH operations

Returns:

AdapterOperationResult - API response data

Example:

const result = await mirra.jira.executeExtended({
  operationId: "abc123"
});

Extended Operations

This adapter supports the full Jira API via OpenAPI discovery. Use discoverExtended to find operations and executeExtended to run them.

On this page