是否可以通过Java API从插件管理jira webhooks?

时间:2015-01-26 07:52:27

标签: java jira-plugin

我正在为Jira编写插件,我需要从插件代码管理webhooks(读取,添加,编辑和删除操作)。我发现只有一种方法来管理webhooks - REST API ......所以,问题很简单:我可以通过我的插件中的Java API管理webhooks吗?如果我能,怎么样?

我发现了这个工件:https://maven-repository.com/artifact/com.atlassian.webhooks,但是当我尝试组件导入一些接口,如com.atlassian.webhooks.spi.provider.WebHookRegistry时,我的插件无法启动...

1 个答案:

答案 0 :(得分:0)

据我了解,您需要在问题创建/更新/删除时触发代码。然后,您需要为适当的问题事件编写JIRA事件监听器。 这是教程: https://developer.atlassian.com/display/JIRADEV/Writing+JIRA+Event+Listeners+with+the+atlassian-event+Library

==================

抱歉,错过了这一点。 我正在查看jira-webhooks-plugin的源代码,它是JIRA源代码的一部分(当你购买任何JIRA许可证时,你可以访问它们)并且既没有看到com.atlassian.webhooks.spi.provider.WebHookRegistry接口也没有实施

我看到webhooks是这样创建的:

                final WebhookDao webHookDao = ao.create(WebhookDao.class,
                    new DBParam("LAST_UPDATED_USER", userManager.getRemoteUsername()),
                    new DBParam("URL", targetUrl),
                    new DBParam("LAST_UPDATED", new Date()),
                    new DBParam("NAME", name),
                    new DBParam("FILTER", filter.isPresent() ? filter.get() : ""),
                    new DBParam("REGISTRATION_METHOD", registrationMethod),
                    new DBParam("ENABLED", true),
                    new DBParam("EXCLUDE_ISSUE_DETAILS", JiraWebHookListenerParameters.ParametersParser.getExcludeIssueDetails(params)),
                    new DBParam("PARAMETERS", JiraWebHookListenerParameters.ParametersParser.getRemainingParameters(params))
            );
            webHookDao.setEvents(Iterables.toArray(events, String.class));
            webHookDao.save();

但可能您无法在插件中执行此代码。无论如何,我建议你去看看消息来源。

请告诉我你的结果。