You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过JRJC调用REST API为Jira Server设置自定义字段值?

解决JRJC创建Jira问题时设置自定义字段的问题

核心解决方案:正确设置「Application」自定义字段

要设置名为“Application”的下拉框类型自定义字段,关键是使用自定义字段的ID而非显示名称,并传入对应选项的ID。具体步骤如下:

  1. 获取自定义字段ID
    登录Jira后,进入该字段的配置页面,URL中会包含类似customfield_xxxx的字段ID(比如customfield_12345),这是最可靠的字段标识,能避免名称歧义或拼写问题。

  2. 编写设置字段的代码
    结合你提供的选项ID(14314),修改IssueInputBuilder的代码:

Long testIssueTypeId = getTestIssueTypeId(projectKey);
// 替换为你的Application字段实际ID
String applicationFieldId = "customfield_12345";
// 对应选项的ID,即你提供的JSON中的"id"值
String optionId = "14314";

IssueInputBuilder builder = new IssueInputBuilder()
    .setProjectKey(projectKey)
    .setIssueTypeId(testIssueTypeId)
    .setSummary(summary)
    .setDescription(description)
    // 直接传入选项ID即可,JRJC会自动处理格式
    .setFieldValue(applicationFieldId, optionId);

IssueInput input = builder.build();
return jira.getIssueClient().createIssue(input).claim();

如果你偏好使用CustomFieldOption对象,也可以这样写:

.setFieldValue(applicationFieldId, new CustomFieldOption(14314L, null, null, null, null));

关于「Test Type」字段报错的原因

你遇到的Field 'Test Type' cannot be set错误,主要有两种可能:

  • 字段标识错误:使用显示名称“Test Type”可能存在拼写、大小写或空格问题,换成该字段的customfield_xxxx ID即可避免。
  • 屏幕配置问题:该字段未被添加到当前项目+问题类型的「创建问题」屏幕中,需要联系Jira管理员调整屏幕配置。

推荐实现方式

  • 优先使用字段ID:自定义字段的显示名称可能被修改,而ID是永久不变的,用ID能避免后续维护问题。
  • 简化下拉框值传递:对于下拉框类型的字段,直接传入选项的ID字符串(或Long类型)比构建CustomFieldOption对象更简洁高效。
  • 提前验证字段配置:创建问题前,确认目标字段已添加到对应问题类型的创建屏幕,避免因配置缺失导致的请求失败。

内容的提问来源于stack exchange,提问作者beer geek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 03:21:31