python-3.x - Can't open new Defect in Jira Via Python
问题描述
Can't open new defect in Jira Via Python (3.6 - Jira Module)
This is my Code:
issue_dict = {
'project': {'key': 'DET'},
'summary': 'New issue from jira-python',
'description': 'Look into this one',
'issuetype': {'name': 'Defect'},
'Severity': {'name' : 'High'},
'defecttype': {'name': 'Performance'},
'affectsversion/s': {'name': 'test'},
'testingstream': {'name': 'CET'},
}
new_issue = jira.create_issue(fields=issue_dict)
I'm Getting error message on 4 specific fields that exist in Jira issues and defect screen and also the options are valid on jira,
Severity
testingstream
affectsversion/s
defecttype
This is my error message:
JiraError HTTP 400 url: https://jira/rest/api/2/issue text: Field 'testingstream' cannot be set. It is not on the appropriate screen, or unknown., Field 'Severity' cannot be set. It is not on the appropriate screen, or unknown., Field 'affectsversion/s' cannot be set. It is not on the appropriate screen, or unknown., Field 'defecttype' cannot be set. It is not on the appropriate screen, or unknown. response headers = {'X-AREQUESTID': '769x4311733x3', 'X-ASESSIONID': '5wjfnu', 'X-ANODEID': 'node1', 'X-XSS-Protection': '1; mode=block', 'X-Content-Type-Options': 'nosniff', 'X-Frame-Options': 'SAMEORIGIN', 'Content-Security-Policy': "frame-ancestors 'self'", 'X-ASEN': 'SEN-7160564', 'X-Seraph-LoginReason': 'OK', 'X-AUSERNAME': 'user', 'Cache-Control': 'no-cache, no-store, no-transform', 'Content-Encoding': 'gzip', 'Vary': 'User-Agent', 'Content-Type': 'application/json;charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Date': 'Wed, 28 Nov 2018 10:49:44 GMT', 'Connection': 'close'} response text = {"errorMessages":[],"errors":{"testingstream":"Field 'testingstream' cannot be set. It is not on the appropriate screen, or unknown.","Severity":"Field 'Severity' cannot be set. It is not on the appropriate screen, or unknown.","affectsversion/s":"Field 'affectsversion/s' cannot be set. It is not on the appropriate screen, or unknown.","defecttype":"Field 'defecttype' cannot be set. It is not on the appropriate screen, or unknown."}}
Does anyone know what can possibly go wrong?
Thanks in advance!
解决方案
您的字段不标准。它们是自定义字段。要获取映射,您应该提出请求:
from pprint import pprint
allfields = jira.fields()
name_map = {field['name']:field['id'] for field in allfields}
pprint(name_map)
有了映射后,您可以使用代码创建问题:
new_issue = jira.create_issue(fields={name_map['Severity']: {'value': 'Minor'}, 'project': 'DET', 'issuetype': 'Defect', 'summary': 'New issue from jira-python'})
希望,我帮助了:)
推荐阅读
- java - 为什么在 IntelliJ 2018.2 中 Guava 的 EventBus 标记为不稳定?
- java - java中.bak文件的用途
- c# - 插入到 Oracle 数据库总是会创建新的索引 ID 而不会采用旧的
- django - 芹菜不作为守护进程工作
- c# - NLog 问题使用 WCF C#.NET 将对象写入数据库
- javascript - 不要工作拆分()。javascript
- jboss - 带有 IllegalAnnotationsException XML 绑定的 JBoss 迁移 5 EAP 到 7 EAP 错误
- reactjs - React Redux - 无法从“node_modules\react-redux\lib\index.js”解析“./components/Provider”
- sql - 让员工采用周末工作模式
- javascript - Cropit 获取图像 src