如何通过Python获取Jira自定义字段的下拉选项?
解决Jira自定义下拉字段选项获取问题
嘿,我来帮你搞定这个用Python获取Jira下拉列表字段选项的事儿!
首先,你提到的custom_field_option()方法确实是jira库用来获取自定义字段可选值的正确途径,但调用的时候得注意参数和用法,我给你一步步拆解:
1. 先确保JIRA客户端初始化正确
先把你截断的初始化代码补全,正确的写法应该是这样:
from jira import JIRA # 你的登录信息 login = {'username': 'your_username', 'password': 'your_password'} # 初始化JIRA实例 self.jira = JIRA('https://jira.companyname.com', basic_auth=(login['username'], login['password']))
2. 直接调用custom_field_option()获取所有选项
针对你说的customfield_14651字段,直接传入字段ID就能拿到整个下拉列表的所有选项:
# 获取customfield_14651的全部下拉选项 dropdown_options = self.jira.custom_field_option(customfield_id='customfield_14651') # 遍历输出每个选项的ID和显示值 for option in dropdown_options: print(f"选项ID: {option.id}, 显示值: {option.value}")
3. 处理上下文相关的字段(如果需要)
有些自定义下拉字段是项目上下文相关的——也就是不同项目下的选项不一样。这时候你需要先获取字段的上下文ID,再传入参数:
# 先获取所有字段详情,找到目标字段的上下文信息 all_fields = self.jira.fields() target_field = next(field for field in all_fields if field['id'] == 'customfield_14651') # 这里取第一个上下文,你可以根据项目需求筛选对应的上下文 context_id = target_field['contexts'][0]['id'] # 带上上下文ID获取对应项目的选项 project_specific_options = self.jira.custom_field_option( customfield_id='customfield_14651', context_id=context_id )
补充说明
你在工单里看到的customfield_14651是一个包含value和id的对象,那只是当前工单选中的那一个选项;而custom_field_option()方法是获取这个字段所有可选择的选项,也就是整个下拉列表的数据源,这两者是不一样的哦。
另外要注意,确保你的Jira账号有访问这个自定义字段的权限,不然可能会返回空列表或者权限错误~
内容的提问来源于stack exchange,提问作者John Snow
相关产品推荐
相关产品推荐

