如何通过Atlassian Python API将JIRA任务转换为子任务?
解决JIRA任务转成子任务的400错误问题
你遇到的400错误,核心原因是JIRA转换任务为子任务时,对参数格式和API调用方式有特定要求,以下是正确的实现方案:
正确代码示例
from atlassian import Jira # 初始化JIRA客户端(替换为你的实例信息) jira = Jira( url="https://你的JIRA实例地址", username="你的账号", password="你的API令牌" ) # 构建更新字段:子任务类型+父任务关联 update_payload = { "issuetype": {"id": "10001"}, # 用子任务类型的ID比name更可靠,避免名称变动 "parent": {"key": "FSTORE-324"} } # 使用update_issue方法执行修改 converted_subtask = jira.update_issue("FSTORE-326", fields=update_payload)
关键注意事项
- 用issuetype ID替代名称:JIRA允许自定义子任务名称,直接用ID能避免因名称变更导致的失败。可以通过
jira.get_issue_types()查询所有任务类型的ID和对应名称。 - 父任务合法性检查:父任务必须是支持子任务的类型(比如Story、Task),不能是其他子任务。同时要确保父任务确实存在。
- 选择正确的API方法:
update_issue_field是简化方法,处理复杂字段更新(比如同时修改类型和父任务)时,推荐用update_issue传入完整的fields字典,这能更贴合JIRA原生API的要求。 - 权限验证:确认你的账号拥有修改该任务类型、设置父任务的权限,没有权限也会触发400类错误。
内容的提问来源于stack exchange,提问作者Felix
相关产品推荐
相关产品推荐

