KeyError:'project'关于通过Python提交JIra票证

2024-09-27 21:34:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Python自动生成Jira票证。运行我的脚本,我不断得到回溯。你知道吗

我在ubuntulinux上用python3.6和3.7运行这个程序(我的IDE指向3.7)。我在网上搜索了很多解决方案,但没有找到。你知道吗

def ticketBody(sprint, uid, [[other stuff]]):
    return({
        "fields": {
           "project": {"key": "DEV"},
           "summary": "Search Term: " + uid,
           "description": "Some Description",
           "issuetype": {"name": "Bug"},
           "Epic Link": "DEV-1",
           "Sprint": sprint,
           "assignee": "awesomeEngr",
        }
    })

BODY = ticketBody(sprint,uid,[other_params])
authd.create_issue(fields=BODY)

Traceback (most recent call last):
  File "/home/wsherwin/.../python/dataQuality.py", line 68, in <module>
    main()
  File "/home/wsherwin/.../python/dataQuality.py", line 63, in main
    authd.create_issue(fields=BODY)
  File "/home/wsherwin/python-test/lib/python3.7/site-packages/jira/client.py", line 1095, in create_issue
    p = data['fields']['project']
KeyError: 'project'

authd对象取代了jira对象,我无法理解python/jira为什么找不到我的项目,因为我已经传递了它。你知道吗

我希望这个返回0,并有一个成功的结论-和一堆票提交。你知道吗


Tags: inpyprojectfieldshomeuidcreateline
1条回答
网友
1楼 · 发布于 2024-09-27 21:34:28

不确定,但我认为您的createBody函数应该只返回字段,而不是只返回一个条目“fields”的字典:

def ticketBody(sprint, uid):
    return {
        "project": {"key": "DEV"},
        "summary": "Search Term: " + uid,
        "description": "Some Description",
        "issuetype": {"name": "Bug"},
        "Epic Link": "DEV-1",
        "Sprint": sprint,
        "assignee": "awesomeEngr",
    }

注意:您应该遵循PEP8 style guide并在“ticket\u body”中重命名“ticketBody”。你知道吗

相关问题 更多 >

    热门问题