Skip to main content
Glama

jira_transition_issue

Change the status of a Jira issue by moving it through its workflow. Provide the issue key, transition ID, and optional comment to update progress.

Instructions

Transition a Jira issue to a new status

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
issueKeyYesThe Jira issue key
transitionIdYesTransition ID
commentNoOptional comment

Implementation Reference

  • MCP tool handler for jira_transition_issue: validates input with schema, calls JiraClient.transitionIssue, returns success message.
    case "jira_transition_issue": {
      const { issueKey, transitionId, comment } =
        TransitionIssueSchema.parse(args);
      await jiraClient.transitionIssue(issueKey, transitionId, comment);
      return {
        content: [
          {
            type: "text",
            text: `Issue ${issueKey} transitioned successfully`,
          },
        ],
      };
    }
  • Zod input schema for validating tool parameters: issueKey, transitionId, optional comment.
    const TransitionIssueSchema = z.object({
      issueKey: z.string().describe("The Jira issue key"),
      transitionId: z.string().describe("Transition ID"),
      comment: z.string().optional().describe("Optional comment"),
    });
  • src/index.ts:358-370 (registration)
    Tool registration in ListTools handler: defines name, description, and JSON input schema.
    {
      name: "jira_transition_issue",
      description: "Transition a Jira issue to a new status",
      inputSchema: {
        type: "object",
        properties: {
          issueKey: { type: "string", description: "The Jira issue key" },
          transitionId: { type: "string", description: "Transition ID" },
          comment: { type: "string", description: "Optional comment" },
        },
        required: ["issueKey", "transitionId"],
      },
    },
  • Core implementation in JiraClient: POST to /issue/{issueKey}/transitions with transition ID and optional comment.
    async transitionIssue(
      issueKey: string,
      transitionId: string,
      comment?: string
    ): Promise<void> {
      const body: {
        transition: { id: string };
        update?: { comment: Array<{ add: { body: string } }> };
      } = {
        transition: { id: transitionId },
      };
      if (comment) {
        body.update = {
          comment: [{ add: { body: comment } }],
        };
      }
      await this.request<void>(`/issue/${issueKey}/transitions`, {
        method: "POST",
        body: JSON.stringify(body),
      });
    }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yogeshhrathod/JiraMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server