как создать свой собственный бамбуковый плагин - PullRequest
0 голосов
/ 24 февраля 2020

Мне нужно создать свой собственный API для отдыха в бамбуковом плагине. в Atlassian-плагин. xml

 <rest name="Clix Rest Api" i18n-name-key="clix-rest-api.name" key="clix-rest-api" path="/clixrest" version="1.0">
    <description key="clix-rest-api.description">The Clix Rest API Plugin</description>
  </rest>

в пом. xml

<groupId>com.clix.bamboo</groupId>
<artifactId>testbedavail</artifactId>

код java

@Path("/testbed")
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public class ClixRestApiImpl implements ClixRestApi {

@Override
@GET
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@Path("/releaseTestbed")
public Response releaseTestbed(@QueryParam("testbedId") Integer testbedId) {

, когда я пытаюсь получить доступ к остальным,

http://sandbamboo.clix.local/rest/clixrest/1.0/testbed/releaseTestbed?testbedId=3

http://sandbamboo.clix.local/bamboo/rest/clixrest/1.0/testbed/releaseTestbed?testbedId=3

возвращается страница не найдена. и когда я использую первый URL, в журнале появляется сообщение об ошибке:

2020-02-24 22:51:32,070 INFO [http-nio-8085-exec-23] [AccessLogFilter] 192.168.33.121 GET http://sandbamboo.clix.local/rest/clixrest/1.0/feed/releaseTestbed?testbedId=3 173449kb
2020-02-24 22:51:32,339 ERROR [http-nio-8085-exec-23] [DefaultServletModuleManager] Unable to create new reference LazyLoadedFilterReference{descriptor=com.clix.bamboo.testbedavail:clix-rest-api-filter (The Clix Rest API Plugin), filterConfig=com.atlassian.plugin.servlet.filter.PluginFilterConfig@5c72f1b8}
com.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.NoClassDefFoundError: com/clix/bamboo/api/ClixRestApi
        at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:149)
        at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:112)
        at com.atlassian.plugin.servlet.DefaultServletModuleManager.getInstance(DefaultServletModuleManager.java:374)
        at com.atlassian.plugin.servlet.DefaultServletModuleManager.getFilter(DefaultServletModuleManager.java:367)
        at com.atlassian.plugin.servlet.DefaultServletModuleManager.getFilters(DefaultServletModuleManager.java:227)

, а ClixRestApi - это интерфейс, а не класс

package com.clix.bamboo.api;
import javax.ws.rs.core.Response;

public interface ClixRestApi {
    Response reserveTestbed(String testbedName, String estimationTime, String reason);
    Response releaseTestbed(Integer testbedId);
}

Я не могу найти где проблема. или как отладить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...