所以我的问题是JIRA API的Python库。我们正在使用JIRA作为资产管理数据库(是的,我知道开发人员通常会使用它,并且我们也使用它,但是在这种情况下,它工作得很好)来跟踪服务器配置(内存,CPU,位置机架..等)
使用此功能,我可以在项目下创建一个Issue并从另一个API提取字段信息。
(请注意,我无法提供有关我为谁工作的线索,因此可以对代码进行编辑-但是,当我添加一行时,所有这些工作都可以期待)
def create_compute_node_in_jira(自己,compute_node_name,用户名,密码,info_dic):
help_obj = helper()
吉拉= JIRA(“ https://”,basic_auth =(用户名,密码))
#Uses a dic to create the fields / info for the Issue
issue_dict = {
'project': {'key': <project>},
'summary': compute_node_name,
'issuetype': {'name': 'Server Hardware'},
'customfield_10500': str(info_dic["Hostname"]),
'customfield_11007': {'value': str("2U")},
'customfield_11006': str(info_dic["Aggr0-IP"]),
'customfield_10510': {'value': str(7)},
'customfield_10501': str(info_dic["Serial-Number"])
'customfield_10502': {'value': str(<server>)},
'customfield_10503': str(help_obj.data_parser_sm(info_dic["Hostname"])),
'customfield_10509': {'value': str("<OS>")},
'customfield_10504': {'value': str("<mem>")},
'customfield_10505': str(help_obj.data_parser_cpu(info_dic["CpuType"])),
'customfield_10507': {'value': str(info_dic["Cpu-Core"])},
'customfield_10508': {'value': str(<OS Version>)},
'customfield_11008': {'value': str("CMH")}
}
jira.create_issue(fields=issue_dict)
return "[*]Created ticket" # Should exit script after this is returned
这行-'customfield_11008':{'value':str(“ CMH”)}-使函数返回以下期望值:
jira.utils.JIRAError:JiraError HTTP 400
文字:选项ID“空”无效
网址:https:/// rest / api / 2 / issue
但是,当我忽略该行时,它就不会出现问题。我尝试使用CMH小写字母-大写..etc ..,但它仍然破坏了脚本。我什至通过网络gui并将“ CMH”条目复制到另一张票证中,它仍然引起问题。有人之前曾见过此事吗/对它为何破裂有任何猜测吗?
最佳答案
因此,在与JIRA玩了一段时间之后,我发现这是我自己的错误。当您使用API向字段发布不了解的“值”时,似乎导致了该错误。一个示例是我使用了错误的自定义字段,而我要发布到的JIRA字段未设置为采用我正在使用的值。
关于python - JIRA API-Python库-Create_Issue-选项ID'null'无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28998853/