我正在尝试使用以下命令将我的 Swagger JSON 架构 (myapi.json) 上传到 Atlassian Confluence 中:swagger https://cloud.slkdev.net/swagger-confluence/-合流 https://github.com/starlightknight/swagger-confluence独立的tool https://cloud.slkdev.net/artifactory/ext-release-local/net/slkdev/swagger/confluence/swagger-confluence-cli-all/2.2-RELEASE/swagger-confluence-cli-all-2.2-RELEASE.jar.
独立 CLI .jarshould https://cloud.slkdev.net/swagger-confluence/cli/(根据我的理解)这样操作(使用this http://www.freeformatter.com/base64-encoder.html凭证 Base64 编码页面):
java -jar <system path root>/swagger-confluence-cli-all-2.2-RELEASE.jar -u "http(s)://<server>:<port>/confluence/rest/api/" -b "<base64 encoded userid:password string" -a "<parent page id>" -k "<space key>" -g "true" -i "true" -s "<myschema.json>" -t "<Title for generated page>" -m "single"
输出(404 未找到):
2016-08-23 15:08:12.177 INFO - [main] n.s.s.c.s.i.SwaggerToAsciiDocServiceImpl : AsciiDoc Conversion Complete!
2016-08-23 15:08:12.178 INFO - [main] n.s.s.c.s.i.AsciiDocToXHtmlServiceImpl : Converting AsciiDoc to XHTML5...
io/console not supported; tty will not be manipulated
2016-08-23 15:08:16.888 INFO - [main] n.s.s.c.s.i.AsciiDocToXHtmlServiceImpl : XHTML5 Conversion Complete!
2016-08-23 15:08:17.728 INFO - [main] n.s.s.c.s.i.XHtmlToConfluenceServiceImpl : Posting XHTML to Confluence...
Exception in thread "main" org.springframework.web.client.HttpClientErrorException: 404 Not Found
在搜索 Confluence REST API 示例时,它引起了一些混乱,例如在 Stackoverflow 中,API 似乎已经发生了一些变化。但是,Confluence REST APIpage https://developer.atlassian.com/confdev/confluence-server-rest-api建议当前的 API 自 Confluence Server 5.5 以来应该是相同的。这也被描述为 swagger-confluence 概述中的一个要求page https://cloud.slkdev.net/swagger-confluence/.
相同的要求提到“有权访问 REST API 的 Confluence 用户”。这是如何确定的?我正在使用管理员用户。我在常规配置 -> 进一步配置下找到了常规的“启用远程 API”配置(似乎默认启用),如此处所述article https://confluence.atlassian.com/doc/enabling-the-remote-api-150460.html。同一篇文章称,此设置启用的 XML-RPC 和 SOAP API 在 Confluence 5.5+ 上已弃用。 REST API 是否默认启用?是否有办法控制使用情况?
尝试调用 REST API 时也会得到一些奇怪的结果(尽管我do得到回复,这样我就认为 URL 是正确的)。
curl -v -u userid:pass http://<server>:<port>/confluence/rest/api/
...
HTTP/1.1 302 Found
...
但是调用URLhttp://<server>:<port>/confluence/rest/api/
使用 REST Easy(Firefox 插件)和 GET 并提供 userid 和 pass 作为基本身份验证返回 200 OK HTTP 状态,并且似乎返回我的 Confluence 仪表板(空间的父级;顶级页面)。仅使用浏览器访问 URL 时也会发生同样的情况。
还有许多其他调用 Confluence REST 的尝试API https://docs.atlassian.com/atlassian-confluence/REST/5.8.14/使用记录的方式导致 404。开始认为这是一个授权问题..我做错了什么?或者是否有另一种方法可以产生类似于 Swagger Confluence 的结果demo https://confluence.slkdev.net/display/DEMO/%5BS%5D+Swagger+Pet+Store?