我正在尝试使用模块通过Python在jira中创建任务的基础知识
jira==3.5.2
:https://jira.readthedocs.io/
我的
constants.py
文件中有以下代码:
from jira import JIRA
JIRA_TOKEN = "TOKEN"
ji = JIRA('https://ourdomain.atlassian.net', basic_auth=('[email protected]', JIRA_TOKEN))
以及
main.py
中的以下代码:
from constants import *
from pprint import pprint
def jira_create_issue(summary: str, description: str):
issue_dict = {
'project': {'key': 'QD'},
'summary': 'TEST JIRA PYTHON',
'description': 'test',
'issuetype': {'name': 'Bug'},
}
new_issue = ji.create_issue(fields=issue_dict)
def main():
jira_create_issue("test rest", "test rest1")
if __name__ == "__main__":
main()
每当创建这样的问题时,我都会收到一个
HTTP 400
错误:
response text = {"errorMessages":["Epic Link Field is Empty !"],"errors":{}}
当我尝试在
issue_dict
中包含史诗链接字段时(我尝试了多种形式:epiclink, EpicLink, Epic Link, epic link, epic
等等...),我收到以下错误:
response text = {"errorMessages":[],"errors":{"Epic Link":"Field 'Epic Link' cannot be set. It is not on the appropriate screen, or unknown."}}
我做错了什么?当手动在 Jira 仪表板中打开任务时,我确实有一个 Epic Link 字段,其中有一个下拉菜单可供设置。 但它的钥匙叫什么名字呢?它没有写在文档中的任何地方。
原来
Epic Link
是我公司添加的自定义字段,因此它的“显示名称”与实际键不同。
我发现它的关键是
customfield_10002
,通过使用方法JIRA.fields()
,它返回所有问题字段的列表。然后我只是使用 ctrl + F
搜索 Epic Link
,然后查看它是 key
。
我的最终
issue_dict
看起来像这样:
issue_dict = {
'project': {'key': 'QD'},
'summary': 'TEST JIRA PYTHON',
'description': 'test',
'issuetype': {'name': 'Bug'},
EPIC_LINK_FIELD: "QD-9913"
}
其中
EPIC_LINK_FIELD
是所说的键,QD-9913
是我需要的史诗链接的键(可以在史诗链接下拉列表中的每个史诗链接的名称下找到)。