通过Python脚本创建Jira问题:有关component,duedate和fixversion字段的问题已编辑

问题描述 投票:1回答:1

我目前正在编写一个简单的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})

这都会导致以下错误:“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

这对我没什么帮助。任何人都知道如何最好地从这里开始?

python python-3.x jira jira-rest-api python-jira
1个回答
0
投票

当您尝试将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文档)

© www.soinside.com 2019 - 2024. All rights reserved.