如何通过API在Jira Data Center中添加评论?
Jira Data Center API 添加问题评论的正确实现
你的基础实现已经接近正确,以下是完整的可运行示例,以及关键细节说明:
完整Axios实现代码
// 初始化Axios实例 const jiraApi = axios.create({ baseURL: 'https://jira-dc-qa.MY-COMPANY-NAME.com/rest/api/2', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${yourAuthToken}` // 替换为你的有效认证Token } }); // 添加评论的异步函数 async function addJiraIssueComment(issueIdOrKey, commentContent) { try { const response = await jiraApi.post(`/issue/${issueIdOrKey}/comment`, { body: commentContent, // 可选:设置评论可见范围(示例:仅指定组可见) // visibility: { // type: 'group', // value: 'internal-team' // }, // 可选:添加自定义元数据 // properties: [ // { // key: 'comment-source', // value: 'automated-api' // } // ] }); console.log('评论添加成功,评论ID:', response.data.id); return response.data; } catch (error) { console.error('添加评论失败:', error.response?.data || error.message); throw error; } } // 使用示例 addJiraIssueComment('PROJ-123', '这是通过API添加的测试评论,支持*Jira Wiki格式*,比如**加粗**、[链接文本](链接地址)');
关键细节说明
API端点
正确的POST端点为/rest/api/2/issue/{issueIdOrKey}/comment,其中issueIdOrKey可以是问题的数字ID(如10000)或问题键(如PROJ-123),你的代码中端点路径是正确的。请求体格式
- 必填字段:
body,支持Jira原生的Wiki标记语法,可实现富文本效果 - 可选扩展字段:
visibility:控制评论的可见范围,支持按用户组或项目角色设置properties:添加自定义元数据,用于后续业务逻辑扩展
- 必填字段:
请求头要求
Content-Type: application/json:必须设置,确保Jira能正确解析请求体Authorization:你使用的Bearer Token认证方式合规,需确保Token拥有ADD_COMMENT权限(对应Jira系统权限中的"添加评论"权限)
认证注意事项
- Bearer Token需通过Jira OAuth2流程或官方API Token生成(若使用API Token,认证格式应为
Authorization: Basic base64(用户名:API_TOKEN),需根据你的认证方式调整) - 确认账号对目标问题有添加评论的权限,否则会返回403 Forbidden错误
- Bearer Token需通过Jira OAuth2流程或官方API Token生成(若使用API Token,认证格式应为
响应与错误处理
- 成功请求会返回201 Created状态码,响应体包含评论ID、内容、创建时间等完整信息
- 常见错误场景:
- 401 Unauthorized:Token无效或过期
- 403 Forbidden:无目标问题的评论添加权限
- 404 Not Found:指定的问题不存在
- 400 Bad Request:请求体格式错误(如缺失
body字段)
内容的提问来源于stack exchange,提问作者Assiph Rolant
相关产品推荐
相关产品推荐

