首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jira -如何通过REST获得问题变更量-但不是单一的问题

Jira -如何通过REST获得问题变更量-但不是单一的问题
EN

Stack Overflow用户
提问于 2017-07-18 15:26:45
回答 2查看 2.9K关注 0票数 0

我见过这个问题很多次了,但没有足够的答案。

我们试图将所有JIRA数据转储到数据仓库/ BI系统中。或者至少是有趣的部分。

您可以做的一件事是跟踪状态时间,循环时间,准备时间直接与场地的持续时间。通过JIRA的直接SQL数据库,这非常容易。表changeItem和changeGroup。

当然,REST JSON对数据库的性能影响较小。

但是..。rest中似乎没有获取所有问题更改历史记录的等效程序。是的,您可以通过API调用直接获取一个问题的变更量。如果您有100 k问题,是否需要进行100 k API调用,迭代问题ID?听起来很疯狂。

是否有可能通过search来扩展changelogs,该API收集了所有的发布数据?我还没见过呢。我在这里所寻求的可能吗?还是我们必须坚持SQL路由?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-19 08:22:38

我认为您所问的问题与前面的问题大致相同:我如何获取(通过GET)所有JIRA问题?我要去搜索节点吗?,但在获取变更量数据方面更有趣。

是的,您必须批量执行,多次请求JIRA。下面是一个小小的bash脚本,它可以帮助您做到这一点:

代码语言:javascript
复制
#!/usr/bin/env bash

LDAP_USERNAME='<username>'
LDAP_PASSWORD='<password>'

JIRA_URL='https://jira.example.com/rest/api/2/search?'
JQL_QUERY='project=FOOBAR'

START_AT=0
MAX_RESULTS=50

TOTAL=$(curl --silent -u "${LDAP_USERNAME}:${LDAP_PASSWORD}" -X GET -H "Content-Type: application/json" "${JIRA_URL}maxResults=0&jql=${JQL_QUERY}" | jq '.total')
echo "Query would export ${TOTAL} issues."


while [ ${START_AT} -lt ${TOTAL} ]; do
    echo "Exporting from ${START_AT} to $((START_AT + MAX_RESULTS))"
    curl --silent -u "${LDAP_USERNAME}:${LDAP_PASSWORD}" -X GET -H "Content-Type: application/json" "${JIRA_URL}maxResults=${MAX_RESULTS}&startAt=${START_AT}&jql=${JQL_QUERY}& expand=changelog" | jq  -c '.issues[]' >> issues.json

    START_AT=$((START_AT + MAX_RESULTS))
done

请注意展开参数,它还将所有更改日志都放入json转储。或者,您可以使用发行翻车 python解决方案:实现回调来将数据存储到db,这样就完成了。

票数 4
EN

Stack Overflow用户

发布于 2021-05-19 11:13:07

另一个值得考虑的服务,特别是当您需要一个类似于提要的更改列表时:

代码语言:javascript
复制
/plugins/servlet/streams?maxResults=99&issues=activity+IS+issue%3Aupdate&providers=issues

这将返回XML格式的问题的最新更改的提要,例如用户等。实际上,您可以在仪表板上使用"Activity“小工具来查看它是否有效。

该服务一次有99次更改的限制,但有分页(请参阅显示更多内容)。按钮)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45171112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档