虚拟机内Power BI Service连接Jira同步工单变更可视化:可行性及实现步骤
需求可实现性说明及操作方案
该需求完全可以实现,Power BI官方支持与Jira平台的连接,且能够通过Jira API捕获工单的全量变更历史数据,最终在Power BI中完成可视化分析。以下是具体操作步骤:
一、前置准备
- 拥有Jira平台的访问权限:至少能查看目标项目的工单及变更历史记录;
- Jira认证凭据:
- 云版Jira:生成个人API令牌(代替密码),并准备绑定的邮箱账号;
- 服务器/数据中心版Jira:准备具有对应权限的账号密码;
- Power BI Service权限:拥有目标工作区的编辑权限,确保虚拟机环境中的Power BI Service可访问Jira站点(云Jira需外网权限,内部Jira需网络打通)。
二、连接Jira与Power BI Service
- 登录虚拟机中的Power BI Service,进入目标工作区,点击「获取数据」;
- 在「获取数据」界面选择「从应用」,搜索并选择「Jira」连接器;
- 输入Jira站点URL(云版格式如
https://your-domain.atlassian.net,内部服务器版为对应内网地址); - 选择认证方式完成授权:
- 云版Jira:可选择「OAuth2」或「基本认证」(输入邮箱+API令牌);
- 服务器版Jira:选择「基本认证」,输入账号密码。
三、提取工单变更历史数据
默认Jira连接器仅返回工单当前状态,需通过Power Query自定义查询提取变更日志:
- 连接成功后,进入Power Query编辑器,加载Jira的工单列表数据;
- 添加自定义列,调用Jira的变更日志API获取每个工单的历史变更:
以下是示例Power Query M代码(需替换占位符为你的实际信息):let 源 = Jira.Contents("https://your-domain.atlassian.net"), 工单表 = 源{[Name="issues"]}[Data], // 添加变更日志列,调用Jira API 添加变更日志 = Table.AddColumn(工单表, "变更历史", each Json.Document(Web.Contents( "https://your-domain.atlassian.net/rest/api/3/issue/" & [key] & "/changelog", [Headers=[Authorization="Basic " & Binary.ToText(Base64.Encode(Text.ToBinary("your-email@domain.com:your-api-token")), BinaryEncoding.Base64)]] )) ), // 逐层展开嵌套数据 展开变更记录 = Table.ExpandRecordColumn(添加变更日志, "变更历史", {"histories"}, {"histories"}), 展开历史列表 = Table.ExpandListColumn(展开变更记录, "histories"), 展开历史字段 = Table.ExpandRecordColumn(展开历史列表, "histories", {"created", "author", "items"}, {"变更时间", "变更人", "变更项"}), 展开变更项列表 = Table.ExpandListColumn(展开历史字段, "变更项"), 展开变更项字段 = Table.ExpandRecordColumn(展开变更项列表, "变更项", {"field", "fromString", "toString"}, {"变更字段", "旧值", "新值"}) in 展开变更项字段 - 数据清洗:将「变更时间」转换为日期时间格式,处理空值(如部分变更无旧值/新值),对「变更字段」进行分类整理(如状态、优先级、经办人等)。
四、数据建模与可视化
- 数据建模:在Power BI中建立工单主表与变更历史表的关联关系(通过工单
key字段关联),方便跨表分析; - 创建可视化报表:根据需求设计报表,示例图表包括:
- 工单变更趋势折线图:按日期统计每日变更工单数量;
- 变更类型分布饼图:统计状态变更、优先级变更、经办人变更等类型的占比;
- 变更人工作量柱状图:展示不同用户的工单变更操作次数;
- 单个工单变更时间线:通过切片器选择工单,展示其全生命周期的变更记录。
五、数据刷新配置
- 若为云版Jira:直接在Power BI Service中设置刷新计划,选择合适的频率(如每日、每小时);
- 若为内部服务器版Jira:需配置本地数据网关(安装在可访问Jira的虚拟机或内网机器上),关联数据源后设置刷新计划,确保数据定期同步。
内容的提问来源于stack exchange,提问作者user19929902
相关产品推荐
相关产品推荐

