在我的客户端代码中获取通知

Get notification in my client code

我想收到有关我的 jira 服务器中任何问题的任何更改的通知。

我有使用他们提供的 jira-rest-java-client 库从 java 代码连接 jira 的基本代码。

我搜索了他们的 java 文档,还在那个 API 库中浏览了一些 类,但我找不到任何对我有帮助的 methods/classes。

有谁知道是否可以从 jira 中的更改获取通知事件到我的 java 代码(可能通过轮询或类似方式)。

你想达到什么目的?

  1. 您想收到推送通知吗?没有任何,恕我直言。 更新:但是,有这个 WebHook 东西:https://confluence.atlassian.com/display/JIRA/Managing+Webhooks。 我没有这方面的专业知识,但它很有前途,请同时阅读这篇简短的介绍:http://blogs.atlassian.com/2012/10/jira-5-2-remote-integration-webhooks/.
  2. 您正在寻找可以返回过去 N 分钟内更改内容的内容,例如 Activity 流?您可以获得项目和用户的 Activity 流的 RSS 提要。

如何

基数 URL 是 https://jira.contoso.com/activity。然后你可以附加查询字符串参数,比如 maxResults 用于分页。

通过您在 streams 参数中提供的过滤器选择数据源。看起来是JQL,其实不是。

示例:

  • 列出项目的活动:?streams=key+IS+SOMEPROJ
  • 列出用户的活动:?streams=user+IS+foobar
  • 列出两个日期之间的事件:?streams=update-date+BETWEEN+1425300236000+1425300264999。 (注:epoch为毫秒精度epoch。)
  • 列出一个项目中的用户活动:?streams=user+IS+JohnDoe&streams=key+IS+PROJECTKEY
  • 更复杂的:?streams=user+IS+JohnDoe&streams=key+IS+PROJECTKEY&streams=activity+IS+issue:close

注意,它区分大小写,在我的 JIRA 6.1.9 上,如果我写 Is 而不是 IS,我会得到一个错误页面(但如果 AFTER 则不会不全是大写 o.O).

另请注意,空格应编码为加号 (+),而非 URL 编码(空格为 %20).

如果您转到您的 JIRA,并获取以下 URL:https://jira.yourserver.com/rest/activity-stream/1.0/config,它将列出它接受的所有组合。

什么

调用returns一个标准Atom feed. You can then process it with XML query tools, or with other Java-based RSS/ATOM reader libraries.

关于此主题的值得注意的文档:https://developer.atlassian.com/docs/atlassian-platform-common-components/activity-streams/consuming-an-activity-streams-feed