metersphere api接口如何使用

请问哪里有调用metersphere 平台的接口定义说明。
从最佳实践中看到几个,但是用起来并没有获取到预期的结果。如下面接口
http://host:8081/project/listAll,返回
{“code”:100500,“message”:“No static resource project/listAll.”,“messageDetail”:“org.springframework.web.servlet.resource.NoResourceFoundException: No static resource project/listAll.\n\tat org.springframework.web.servlet.resource.Re
sourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585)\n\tat org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52)\n\tat org.springframework.web.servlet.Dispatch
erServlet.doDispatch(DispatcherServlet.java:1088)\n\tat org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978)\n\tat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.j
ava:1014)\n\tat org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)\n\tat jakarta.servlet.http.HttpServlet.service(HttpServlet.java:527)\n\tat org.springframework.web.servlet.FrameworkServlet.service(Fr
ameworkServlet.java:885)\n\tat jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)\n\tat org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:736)\n\tat org.eclipse.jetty.ee10.servlet.ServletHandler$Chai
nEnd.doFilter(ServletHandler.java:1619)\n\tat org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:195)\n\tat org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205
)\n\tat org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1591)\n\tat org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\n\tat org.eclipse.je
tty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)\n\tat org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1591)\n\tat org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterC
hain.java:65)\n\tat org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\n\tat org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\n\tat org.apache.shiro.web.servlet.OncePerRequ
estFilter.doFilter(OncePerRequestFilter.java:156)\n\tat org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\n\tat org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\n\tat o
rg.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\n\tat org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\n\tat org.apache.shiro.web.servlet.ProxiedFilterChain.d
oFilter(ProxiedFilterChain.java:70)\n\tat org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\n\tat org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\n\tat org.apache.shiro.w
eb.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\n\tat org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\n\tat org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFi
lter.java:109)\n\tat org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\n\tat org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\n\tat org.apache.shiro.web.servle
t.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\n\tat org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\n\tat org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterIntern
al$0(AbstractShiroFilter.java:378)\n\tat org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\n\tat org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\n\tat org.apache.shiro.su
bject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\n\tat org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\n\tat org.apache.shiro.web.servlet.OncePerRequestFilter.doFilt
er(OncePerRequestFilter.java:156)\n\tat org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)\n\tat org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1591)\n\tat org.springframewo
rk.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.eclipse.jetty.ee10.servlet.FilterHolder.d
oFilter(FilterHolder.java:205)\n\tat org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1591)\n\tat org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\n\tat org
.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)\n\tat org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doF
ilter(ServletHandler.java:1591)\n\tat org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:142)\n\tat org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRe
questFilter.java:82)\n\tat org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362)\n\tat org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278)\n\tat
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)\n\tat org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1591)\n\tat org.springframework.web.filter.CharacterEncodingFilter.d
oFilterInternal(CharacterEncodingFilter.java:201)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)\n
tat org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1591)\n\tat org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1552)\n\tat org.eclipse.jetty.ee10.servlet.Servl
etChannel.dispatch(ServletChannel.java:819)\n\tat org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:436)\n\tat org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:469)\n\tat org.eclipse.je
tty.security.SecurityHandler.handle(SecurityHandler.java:575)\n\tat org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717)\n\tat org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
\n\tat org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:611)\n\tat org.eclipse.jetty.server.Handler$Wrapper.handle(Handler.java:740)\n\tat org.eclipse.jetty.server.handler.EventsHandler.handle(EventsHandler.
java:81)\n\tat org.eclipse.jetty.server.Server.handle(Server.java:182)\n\tat org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)\n\tat org.eclipse.jetty.server.internal.HttpConnection.onF
illable(HttpConnection.java:418)\n\tat org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)\n\tat org.eclipse.jetty.io.Sel
ectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)\n\tat java.base/java.util.concurrent.ThreadPerTaskExecutor$TaskRunner.run(Unknown Source)\n\tat java.base/java.lang.VirtualThread.run(Unknown Source)\n”,“data”:null}

具体的路径和请求参数可以抓包看看,V2版本也可以查看右上角的swagger api文档。

v3也可以使用吗? openapi的参数和前端请求使用的一样吗?

一样的,具体以前端参数为准。

V3没有开放API文档。

@玉树 请教一下,api文档的接口,好像有很多都没有注释,不知道接口的功能;想咨询一下,有没有可以根据构建测试计划的planid,查询测试报告shareid的接口呀?

shareid是生成的吧。有个gen的接口test-plan/report/share/gen,返回的 data就是 shareurl,再拼接下 “{host}/#/share/shareReportTestPlan{shareUrl}&type=TEST_PLAN” 就是完整的分享报告路径啦

是这样的 :face_with_peeking_eye: