R语言jirAgileR获取JIRA数据时duedate返回双精度值如何修复
问题根因
jirAgileR 内置的字段类型转换逻辑仅适配了JIRA中datetime类型字段的解析:会将接口返回的毫秒级时间戳转换为R语言的标准日期时间格式。但duedate是JIRA的纯date类型字段,接口返回的是天级Unix序列值(即你看到的18466.00、18473.00这类浮点数),包内部没有针对该类型做转换逻辑,因此直接以原始数值形式返回。
修复方法
不需要修改包源码,在拉取数据后增加一行类型转换代码即可,在你原有代码的fields1赋值语句后追加:
# 将天级时间序列转换为标准Date格式 fields1$duedate <- as.Date(fields1$duedate, origin = "1970-01-01", tz = "UTC")
注意事项
- 必须指定时区为
UTC,避免本地时区偏差导致转换后的日期和JIRA页面显示差1天 - 如果你使用的是极旧版本的JIRA Server部署,转换后日期和实际值差几十年的话,把origin参数替换为
"1900-01-01"再试即可,标准JIRA Cloud、新版Server/DataCenter版本均使用1970-01-01作为日期序列起点 - 该转换逻辑不会影响
updateddate等其他正常解析的datetime字段,也不会破坏components等非日期字段的内容
内容的提问来源于stack exchange,提问作者Prateek
相关产品推荐
相关产品推荐

