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

如何从JIRA获取表单数据并导入Snowflake(Matillion场景)

JIRA表单数据在Snowflake同步中的定位与获取方法

核心数据存储逻辑

JIRA的「表单数据」(无论是自定义字段组成的工单表单,还是Jira Service Management的请求表单)不会单独存放在一张名为「form」的表中,而是分散在关联的核心表和扩展表里:

  • 通用自定义表单字段:数据存在customfieldvalue表,通过issueid关联jiraissue(工单核心表);字段的定义信息在customfield表,用customfield.id和customfieldvalue.customfield关联就能匹配字段名与对应值。
  • Jira Service Management(JSM)请求表单:额外的表单上下文数据在request表,表单字段值存在requestfieldvalue表,通过request.issueid关联jiraissue;表单的字段定义在requesttypefield表,关联requesttype(对应不同的请求表单类型)。

同步与查询注意事项

  1. 权限与数据源配置
    • 确认你的JIRA Token拥有对应权限:如果是JSM表单,需要包含Service Management相关的访问权限,否则Matillion无法拉取request系列表。
    • 在Matillion的JIRA数据源配置里,检查是否勾选了customfield、customfieldvalue、request、requestfieldvalue这些容易被遗漏的表,默认同步可能只拉取核心工单表。
  2. API拉取补充(如果表同步不全)
    • 如果通过表同步无法获取完整表单数据,可以在Matillion中调用JIRA REST API的/rest/servicedeskapi/request/{issueIdOrKey}接口,解析返回的JSON字段后写入Snowflake。

Snowflake中查询表单数据示例

通用自定义表单字段查询

SELECT 
    j.id AS issue_id,
    j.summary AS issue_summary,
    cf.cfname AS form_field_name,
    cv.stringvalue AS form_field_value
FROM jiraissue j
LEFT JOIN customfieldvalue cv ON j.id = cv.issueid
LEFT JOIN customfield cf ON cv.customfield = cf.id
WHERE j.id = 'YOUR_ISSUE_ID';

JSM请求表单数据查询

SELECT 
    r.id AS request_id,
    j.summary AS request_summary,
    rt.name AS form_type,
    rtf.name AS form_field_name,
    rfv.value AS form_field_value
FROM request r
LEFT JOIN jiraissue j ON r.issueid = j.id
LEFT JOIN requesttype rt ON r.requesttypeid = rt.id
LEFT JOIN requestfieldvalue rfv ON r.id = rfv.requestid
LEFT JOIN requesttypefield rtf ON rfv.requesttypefieldid = rtf.id
WHERE r.id = 'YOUR_REQUEST_ID';

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 18:34:53