2016-05-14 72 views
2

沟通是否有可能直接与合流进行通信才能搜索/从自定义插件的Jira页面添加到空间等?JIRA插件与合流

我现在有一个吉拉插件,我正在上显示的问题,观众的小组,但要搜索某个特定页面中汇合显示一个链接到它,如果它的存在。如果它不存在,我想有一个允许用户创建该页面的按钮。

我已经看过了REST API,它看起来像它应该做我想做的,但我可以交互直接使用Java类?

难道它们之间让我从JIRA不把认证到REST调用呼吁汇合REST服务的单点登录?

回答

4

简而言之:

我已经看过了REST API,它看起来像它应该做我想做的,但我可以交互直接使用Java类?

号没有的Java API可用简单:

ConfluenceService.searchPage(String title) 
ConfluenceService.createPage(String parent, String title) 

难道它们之间允许我这样称呼从JIRA汇合REST服务没有把认证到单点登录REST呼叫?

是的。

更详细:

Java API中的,您可以使用是Application Link apiSAL api,特别请求并从com.atlassian.sal.api.net包响应。

什么它归结为是,你首先配置在JIRA应用程序链接到你的Confluence的实例。然后从您的自定义插件中,您使用的应用程序链接API来检索ApplicationLink实例,如:

ApplicationLink confluenceLink = applicationLinkService.getPrimaryApplicationLink(ConfluenceApplicationType.class) 

之后,你可以使用这个confluencelink获得requestFactory:

ApplicationLinkRequestFactory requestFactory = confluenceLink.createAuthenticatedRequestFactory(); 

的requestFactory可以很容易地将REST请求发送到Confluence并处理响应。它还负责认证,使用JIRA中应用程序链接的配置。

对于更详细的例子,其中包括搜索Confluence的网页,检查this tutorial

根据您要完成的工作,可能还需要查看StructureStructure Pages加载项。他们的目标是更紧密地整合JIRA和Confluence,并提供一种用户友好的方式来在JIRA内的结构中显示Confluence页面,并从JIRA内编辑这些页面。

0

吉拉有一种叫做JRJC:https://marketplace.atlassian.com/plugins/com.atlassian.jira.jira-rest-java-client/server/overview

这不是积极支持Atlassian的,但它可能会做你的需要。

但是,而不是限制自己JRJC,我建议你用球衣或什么,只是使用REST API的直接

我已经有吉拉和汇合使用REST API的相互交流的好运气,JQ ,和bash脚本。

这是我写的关于它的博客,其中包含源代码的github位置。 https://javamemento.blogspot.no/2016/05/jira-confluence-3.html

该脚本位于bash中,但它可能会让您了解如何从java中使用它。不过,我还没有在搜索页面的合流中工作。

至于你的最后一个问题,不,你需要为每个REST调用提供认证。