首页 > 解决方案 > 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!

标签: python-3.xjira-rest-api

解决方案


您的字段不标准。它们是自定义字段。要获取映射,您应该提出请求:

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'})

希望,我帮助了:)


推荐阅读