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

使用jira-client获取Jira问题全部自定义字段的方法咨询

解决Jira-Client获取问题全部自定义字段的方案

方法1:通过getIssue()指定扩展字段参数

默认getIssue()返回的字段可能不全,你可以通过指定fields参数为*all来获取所有字段,包括自定义字段:

const JiraClient = require('jira-client');

const jira = new JiraClient({
  protocol: 'https',
  host: 'your-jira-domain.com',
  username: 'your-username',
  password: 'your-api-token',
  apiVersion: '2',
  strictSSL: true
});

async function fetchFullIssue() {
  try {
    // 指定fields为*all获取所有字段
    const issue = await jira.getIssue('SAS-13654', { fields: '*all' });
    // 筛选出所有自定义字段(通常以customfield_开头)
    const customFields = Object.fromEntries(
      Object.entries(issue.fields).filter(([key]) => key.startsWith('customfield_'))
    );
    console.log('所有自定义字段:', customFields);
  } catch (err) {
    console.error('获取问题失败:', err);
  }
}

fetchFullIssue();

方法2:用searchJira()返回完整字段

在搜索时指定fields参数为*all,精准查询目标问题:

async function searchFullIssue() {
  try {
    const searchResult = await jira.searchJira('key = SAS-13654', { fields: '*all' });
    if (searchResult.issues.length > 0) {
      const issue = searchResult.issues[0];
      const customFields = Object.entries(issue.fields)
        .filter(([key]) => key.startsWith('customfield_'))
        .reduce((acc, [key, value]) => {
          acc[key] = value;
          return acc;
        }, {});
      console.log('自定义字段:', customFields);
    }
  } catch (err) {
    console.error('搜索问题失败:', err);
  }
}

searchFullIssue();

方法3:预先获取自定义字段元数据(可选)

如果需要对应自定义字段的ID与名称,可以直接调用Jira API的字段端点(用jira-client的makeRequest方法):

async function getCustomFieldMetadata() {
  try {
    // 获取所有字段元数据
    const fields = await jira.makeRequest('GET', '/rest/api/2/field');
    // 过滤出自定义字段
    const customFieldsMeta = fields.filter(field => field.custom);
    console.log('自定义字段元数据:', customFieldsMeta);
    // 建立ID到名称的映射,方便后续解析字段
    const fieldIdToName = customFieldsMeta.reduce((acc, field) => {
      acc[field.id] = field.name;
      return acc;
    }, {});
  } catch (err) {
    console.error('获取字段元数据失败:', err);
  }
}

getCustomFieldMetadata();

注意事项

  • Jira中自定义字段的键通常以customfield_开头,比如customfield_12345
  • 若Jira配置了自定义字段别名,返回结果可能会用别名作为键,但优先以ID为准
  • 确保你的API账号拥有访问目标问题所有字段的权限

内容的提问来源于stack exchange,提问作者arjun singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 18:32:33