我见过这个问题很多次了,但没有足够的答案。
我们试图将所有JIRA数据转储到数据仓库/ BI系统中。或者至少是有趣的部分。
您可以做的一件事是跟踪状态时间,循环时间,准备时间直接与场地的持续时间。通过JIRA的直接SQL数据库,这非常容易。表changeItem和changeGroup。
当然,REST JSON对数据库的性能影响较小。
但是..。rest中似乎没有获取所有问题更改历史记录的等效程序。是的,您可以通过API调用直接获取一个问题的变更量。如果您有100 k问题,是否需要进行100 k API调用,迭代问题ID?听起来很疯狂。
是否有可能通过search来扩展changelogs,该API收集了所有的发布数据?我还没见过呢。我在这里所寻求的可能吗?还是我们必须坚持SQL路由?
发布于 2017-07-19 08:22:38
我认为您所问的问题与前面的问题大致相同:我如何获取(通过GET)所有JIRA问题?我要去搜索节点吗?,但在获取变更量数据方面更有趣。
是的,您必须批量执行,多次请求JIRA。下面是一个小小的bash脚本,它可以帮助您做到这一点:
#!/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,这样就完成了。
发布于 2021-05-19 11:13:07
另一个值得考虑的服务,特别是当您需要一个类似于提要的更改列表时:
/plugins/servlet/streams?maxResults=99&issues=activity+IS+issue%3Aupdate&providers=issues这将返回XML格式的问题的最新更改的提要,例如用户等。实际上,您可以在仪表板上使用"Activity“小工具来查看它是否有效。

该服务一次有99次更改的限制,但有分页(请参阅显示更多内容)。按钮)
https://stackoverflow.com/questions/45171112
复制相似问题