一键导入
lorenz-jira
Use Lorenz's Jira tracker tools for raw Jira REST API operations such as issue queries, transitions, comments, and JQL searches.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use Lorenz's Jira tracker tools for raw Jira REST API operations such as issue queries, transitions, comments, and JQL searches.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use Lorenz's `linear_graphql` client tool for raw Linear GraphQL operations such as comment editing and upload flows.
Land a PR by monitoring conflicts, resolving them, waiting for checks, and squash-merging when green; use when asked to land, merge, or shepherd a PR to completion.
Create a well-formed git commit from current changes using session history for rationale and summary; use when asked to commit, prepare a commit message, or finalize staged work.
Investigate stuck runs and execution failures by tracing Lorenz and Codex logs with issue/session identifiers; use when runs stall, retry repeatedly, or fail unexpectedly.
Pull latest origin/main into the current local branch and resolve merge conflicts (aka update-branch). Use when Codex needs to sync a feature branch with origin, perform a merge-based update (not rebase), and guide conflict resolution best practices.
Push current branch changes to origin and create or update the corresponding pull request; use when asked to push, publish updates, or create pull request.
| name | lorenz-jira |
| description | Use Lorenz's Jira tracker tools for raw Jira REST API operations such as issue queries, transitions, comments, and JQL searches. |
Use this skill for raw Jira REST API work during Lorenz app-server sessions.
Lorenz exposes Jira operations through its tracker tool layer. The available tools depend on the tracker kind configured for the session:
jira kind — direct REST API calls to Jira Cloud using basic auth
(email + API token).jira-mcp kind — proxied through an external MCP server with
configurable tool names.Default MCP tool names (when using jira-mcp kind):
| Operation | Default tool name |
|---|---|
| Search | jira_search |
| Read issue | jira_get_issue |
| Transition | jira_transition_issue |
| List comments | jira_get_comments |
| Comment | jira_add_comment |
| Update comment | jira_update_comment |
| Create issue | jira_create_issue |
All REST calls target /rest/api/3/ on the configured tracker.base_url.
Authentication is HTTP Basic with the configured email and API token.
GET /rest/api/3/issue/{issueIdOrKey}?fields=summary,description,status,labels,issuelinks,assignee,priority,created,updated
Response shape:
{
"id": "10001",
"key": "PROJ-42",
"fields": {
"summary": "Issue title",
"description": { "type": "doc", "version": 1, "content": [...] },
"status": {
"name": "In Progress",
"statusCategory": { "key": "indeterminate" }
},
"labels": ["agent", "bug"],
"assignee": { "accountId": "abc123", "displayName": "User" },
"priority": { "name": "High" },
"issuelinks": [...],
"created": "2026-01-15T10:00:00.000+0000",
"updated": "2026-06-10T14:30:00.000+0000"
}
}
Use the enhanced search endpoint (Jira Cloud removed the legacy /rest/api/3/search):
POST /rest/api/3/search/jql
Content-Type: application/json
{
"jql": "project = PROJ AND status = \"In Progress\" AND assignee = currentUser()",
"maxResults": 50,
"fields": ["summary", "description", "status", "labels", "issuelinks", "assignee", "priority", "created", "updated"]
}
Response uses opaque nextPageToken for pagination (no startAt/total):
{
"issues": [...],
"nextPageToken": "eyJ..."
}
Pass nextPageToken in subsequent requests to paginate. Stop when nextPageToken
is absent or issues is empty.
Two-step process:
GET /rest/api/3/issue/{issueIdOrKey}/transitions
Response:
{
"transitions": [
{ "id": "31", "name": "In Progress" },
{ "id": "41", "name": "Done" }
]
}
POST /rest/api/3/issue/{issueIdOrKey}/transitions
Content-Type: application/json
{
"transition": { "id": "41" }
}
Always fetch transitions first and match by name (case-insensitive) to find the correct transition ID. Never hardcode transition IDs.
Jira Cloud uses Atlassian Document Format (ADF) for comment bodies:
POST /rest/api/3/issue/{issueIdOrKey}/comment
Content-Type: application/json
{
"body": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{ "type": "text", "text": "Comment text here" }
]
}
]
}
}
Multi-line text: split on newlines, each line becomes a separate paragraph.
Empty lines become paragraphs with empty content arrays.
GET /rest/api/3/issue/{issueIdOrKey}/comment?startAt=0&maxResults=100
Response comments use ADF in body. Use comment id values with the update endpoint.
Jira Cloud uses ADF for comment bodies:
PUT /rest/api/3/issue/{issueIdOrKey}/comment/{id}
Content-Type: application/json
{
"body": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{ "type": "text", "text": "Updated comment text" }
]
}
]
}
}
For Jira MCP trackers, configure tracker.mcp.tools.list_comments or
tracker.mcp.tools.update_comment when the external server does not expose
the default jira_get_comments and jira_update_comment tool names.
POST /rest/api/3/issue
Content-Type: application/json
{
"fields": {
"project": { "key": "PROJ" },
"issuetype": { "name": "Task" },
"summary": "Issue title",
"description": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [{ "type": "text", "text": "Description text" }]
}
]
},
"assignee": { "accountId": "abc123" }
}
}
GET /rest/api/3/myself
Returns accountId and displayName for the authenticated user.
GET /rest/api/3/project/{projectKeyOrId}/statuses
Returns issue types with their available statuses — useful for discovering valid transition targets.
Common JQL clauses:
project = "PROJ"
project in ("PROJ1", "PROJ2")
status = "In Progress"
status in ("To Do", "In Progress")
assignee = currentUser()
assignee = "accountId"
labels = "agent"
key = "PROJ-42"
key in ("PROJ-1", "PROJ-2", "PROJ-3")
id in (10001, 10002)
updated >= -7d
ORDER BY priority ASC, updated DESC
Combine with AND/OR and parentheses for complex queries.
Jira Cloud API v3 uses ADF for rich text fields (description, comment.body).
Minimal document structure:
{
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{ "type": "text", "text": "Plain text" }
]
}
]
}
Common node types:
paragraph — block of inline textheading — has attrs: { level: 1..6 }bulletList / orderedList — contain listItem childrencodeBlock — fenced code, has attrs: { language: "..." }text — inline text, optionally with marks for bold/italic/code/linkWhen reading descriptions, recursively extract .text fields from the ADF tree
and join with appropriate separators (space within paragraphs, newline between blocks).
ORDER BY on large
result sets when you only need a few issues.PROJ-42) over numeric IDs when referencing issues.statusCategory.key
values (new, indeterminate, done) for state type classification.jira-mcp kind, the tool names may differ from defaults — check
tracker.mcp.tools configuration for the session's actual tool names.