You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Jira Python库添加评论时指定作者和创建时间的实现问题

Jira Python库创建评论时指定作者和时间戳的实现方法

问题原因

你之前的操作无法生效的核心原因如下:

  • 直接调用jira.add_comment()默认使用当前认证账号作为评论作者,拼接时间+作者的字符串格式仅适用于CSV导入场景,Jira REST API不会识别该格式
  • 调用newIssue.update(author=xxx)修改的是工单本身的创建人,和评论的作者属性完全无关,因此不会生效

实现前提

你用于认证Jira的账号,必须拥有以下权限:

  • 项目级的 编辑所有评论 权限
  • 修改评论元数据(创建时间/作者) 的权限
    没有对应权限的话需要先联系Jira管理员开通。

实现方法

方法1:创建评论时直接指定参数

jira-python的add_comment方法支持传入额外的payload参数,直接指定author和created字段即可:

from datetime import datetime

# 构造作者信息,替换为目标用户的accountId
target_author = {"accountId": "目标用户的accountId字符串"}
# 构造符合Jira格式的时间,注意补充对应时区,示例为东八区
target_create_time = datetime(2024, 5, 20, 14, 30, 0).isoformat() + "+0800"

# 创建评论时直接传入参数
new_comment = jira.add_comment(
    issue=newIssue,
    body=strComment,
    author=target_author,
    created=target_create_time
)

方法2:创建后更新评论属性

如果方法1不生效(部分旧版本Jira不支持创建时指定元数据),可以先创建评论,再调用评论的update方法修改属性:

# 第一步先创建默认评论
new_comment = jira.add_comment(newIssue, strComment)
# 第二步更新评论的作者和创建时间
new_comment.update(
    author=target_author,
    created=target_create_time
)

注意事项

  • Jira Cloud版本必须使用accountId标识用户,不要传入用户名或邮箱;Jira Server旧版本可根据实际情况替换为name字段指定用户名
  • 时间必须使用带时区的ISO 8601格式,格式错误会导致请求报错

内容的提问来源于stack exchange,提问作者MangoMan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 01:27:01