update_issue
Modify JIRA issues by updating details such as summary, description, issue type, priority, assignee, and labels using the specified issue key through the Personal JIRA MCP server.
Instructions
更新JIRA问题
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| assignee | No | ||
| description | No | ||
| issue_key | Yes | ||
| issue_type | No | ||
| labels | No | ||
| priority | No | ||
| summary | No |
Implementation Reference
- src/jira_mcp/server.py:326-389 (handler)The main handler function for the 'update_issue' tool, decorated with @mcp.tool. It updates a JIRA issue with provided fields like summary, description, etc., using the JIRA client, and returns the formatted updated issue or error.@mcp.tool( description="更新JIRA问题", ) def update_issue( issue_key: str, summary: Optional[str] = None, description: Optional[str] = None, issue_type: Optional[str] = None, priority: Optional[str] = None, assignee: Optional[str] = None, labels: Optional[List[str]] = None, ) -> Dict[str, Any]: """更新JIRA问题. Args: issue_key: 问题键 summary: 问题概要 description: 问题描述 issue_type: 问题类型 priority: 优先级 assignee: 经办人 labels: 标签列表 Returns: Dict[str, Any]: 更新后的问题详情 """ logger.info(f"更新问题 {issue_key}") try: # 构建更新字段 fields = {} if summary: fields["summary"] = summary if description: fields["description"] = description if issue_type: fields["issuetype"] = {"name": issue_type} if priority: fields["priority"] = {"name": priority} if assignee: fields["assignee"] = {"name": assignee} if labels: fields["labels"] = labels if not fields: return {"error": "未提供任何更新字段"} # 更新问题 client = get_jira_client() issue = client.issue(issue_key) issue.update(fields=fields) # 获取更新后的问题 updated_issue = client.issue(issue_key) return format_issue(updated_issue) except Exception as e: logger.error(f"更新问题 {issue_key} 失败: {str(e)}") return {"error": str(e)}