我目前正在编写一个简单的Python脚本,它从Excel工作表中读取数据并根据该数据创建Jira任务。我已经完成了Excel数据读取部分的工作和Jira任务创建,但我正在努力解决几个领域。
以下字段对于我们的Jira任务是必需的:
我让前六个使用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})
这都会导致以下错误:“errors”:{“fixversion”:“无法设置字段'fixversion'。它不在适当的屏幕上,或者未知。”}}
对于组件字段:
issue = jira.create_issue(component = component )
issue = jira.create_issue(component = {'name': component} )
issue = jira.create_issue(fixversion = {'value': 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。
这对我没什么帮助。任何人都知道如何最好地从这里开始?
当您尝试将datetime对象序列化为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文档)