通过Python脚本创建Jira问题:组件,Duedate和fixversion字段存在问题

时间:2019-02-21 14:37:01

标签: python python-3.x jira jira-rest-api python-jira

我目前正在编写一个简单的Python脚本,该脚本从Excel工作表中读取数据并根据该数据创建Jira任务。我同时也有Excel数据读取部分的工作和Jira任务的创建,但是我在几个领域都在挣扎。

以下字段对于我们的Jira任务是必填的:

  1. 项目
  2. 问题类型
  3. 摘要
  4. 父级监视者(自定义字段)
  5. 优先
  6. 外部出价(自定义字段)
  7. 修复版本/ s
  8. 组件
  9. 到期日

我用Python的以下代码行处理了前六个代码:

issue = jira.create_issue(project=pro, summary=sum, issuetype=type, customfield_13700 = { "name": parent }, priority = {'name': priority}, customfield_12501 = external_bid )

但是,我不确定如何为修订版本,组件和到期日投标字段填写jira.create_issue函数的其他参数。

我尝试了许多不同的事情:

对于修订版本字段:

issue = jira.create_issue(fixversion=fixversion )
issue = jira.create_issue(fixversion = {'name': fixversion})
issue = jira.create_issue(fixversion = {'value': fixversion})

全部导致以下错误: “错误”:{“ fixversion”:“字段'fixversion'无法设置。它不在适当的屏幕上,或者未知。”}}

对于组件字段:

issue = jira.create_issue(component = component )
issue = jira.create_issue(component = {'name': component} )
issue = jira.create_issue(fixversion = {'value': component})

这再次导致以下错误: 错误“:{” component“:”字段'component'不能设置。它不在适当的屏幕上或未知。“}}

截止日期:

issue = jira.create_issue(duedate = duedate)
issue = jira.create_issue(duedate = {'name': duedate} )
issue = jira.create_issue(duedate = {'value': duedate} )

哪个出现以下错误: TypeError:“ datetime”类型的对象不可JSON序列化

在这一点上,我已经尝试了许多不同的事情,并且看起来一堆东西,其中大部分指向this page

JIRA项目可能包含许多不同的问题类型。某些问题屏幕对新问题中的字段有不同的要求。此信息可通过“ createmeta”方法获得。 here中提供了更多示例。

哪个对我没有真正的帮助。有人知道如何最好地从这里开始吗?

1 个答案:

答案 0 :(得分:0)

尝试将日期时间对象序列化为JSON对象时,会发出错误TypeError: Object of type 'datetime' is not JSON serializable

您使用的 duedate 值是日期时间对象。每当您尝试将包含datetime对象的字典转储到JSON对象时,都会遇到此错误。下面的示例:

import datetime
test = {}
test['date'] = datetime.datetime.now()
import json
json.dumps(test)

为避免此错误,请将datetime对象转换为Javascript Object Notation(JSON)标准接受的对象。例如字符串。

test['date'] = str(datetime.datetime.now()) 
json.dumps(test)

请注意,从日期时间对象直接转换可能不适合接受日期的JIRA格式。强制转换为字符串时使用正确的格式(给datetime文档以外观)