我正在为Jira编写插件,我需要从插件代码管理webhooks(读取,添加,编辑和删除操作)。我发现只有一种方法来管理webhooks - REST API ......所以,问题很简单:我可以通过我的插件中的Java API管理webhooks吗?如果我能,怎么样?
我发现了这个工件:https://maven-repository.com/artifact/com.atlassian.webhooks,但是当我尝试组件导入一些接口,如com.atlassian.webhooks.spi.provider.WebHookRegistry时,我的插件无法启动...
答案 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();
但可能您无法在插件中执行此代码。无论如何,我建议你去看看消息来源。
请告诉我你的结果。