项目目标:从源代码中查找并实现RESTAPI的提取,并生成和发布RESTAPI各自的文档
学习/提高技能:Java, REST API, OpenAPI / Swagger
开发人员需要知道每个restapi端点的响应情况,因此像jenkinsrest这样的外部工具可以放心地开发,并且可能需要一些REST规范自动化的帮助。例如,可以使用必威国际有限公司OpenAPI规范(以前称为Swagger规范)。REST API的用户最想要的是:
HTTP响应和代码
消息体及其格式(如JSON、html等)
必威国际有限公司Jenkins目前根本没有自动化的RESTAPI文档。许多API都是由扩展提供的,因此有多个不同版本的RESTAPI(核心和插件)。这个项目的目标是从源代码中找到并实现RESTAPI的提取,并生成和发布RESTAPI各自的文档。
生成预期的HTTP响应是一项困难的任务。学生应学习Jenkins core,以确定提取方法。例如,可以从javadoc和注释中提取它们。必威国际有限公司
作为社区绑定和学生项目提案阶段的一部分,学生将提出一些关于如何为Jenkins核心和插件指定和生成RESTAPI的提案。如果学生发现无法从规范生成REST API,那么学生应该确定为什么不可能。我们还要求学生探索并提出一种从RESTAPI规范生成插件RESTAPI的方法。例如,一些自动代码可以在maven插件生成器使用的空插件中填充ja必威国际有限公司vadoc。
学生还应学习并提出REST API文档生成如何成为REST API生成器的一部分。
当插件开发人员第一次使用插件框架生成器创建插件时,为RESTAPI自动生成一些代码可能会有所帮助。为处理RESTAPI而创建的任何方法都应该内置到骨架生成器中。
jenk必威国际有限公司ins core REST API和插件自己的REST API需要分别进行版本控制。建议首先关注规范的生成,然后再关注RESTAPI的版本控制。嵌套对象使版本控制具有挑战性。
必威国际有限公司Jenkins用户应该能够很容易地看到他们安装的Jenkins可用的REST api。对于Je必威国际有限公司nkins核心,这可以通过URL来完成:http://localhost/rest/api/1.0
.插件将有自己的REST API路径和版本号,如:http://localhost/plugin/rest/api/1.0
. 因此,插件和核心将拥有自己的版本号,以及一个额外的RESTAPI版本号。使用OpenAPI 3.0规范的自动化API文档是确定API规范的一部分。
web上有许多此类文档的示例:
Bitbucket都REST API(链接到Bitbucket文档)
人工RESTAPI(链接到Artifactory文档)
OpenAPI3对Jenkins REST API的描述必威国际有限公司:斯瓦吉·詹金斯必威国际有限公司(注:swaggy-jenkins的必威国际有限公司作者现在推荐OpenAPI(解释)。
这栈溢出这个问题简要介绍了如何以WADL格式生成RESTAPI规范
A.博客是关于swagger和WADL的
使订书机更具声明性讨论导致了对swagger的评论。
A.谷歌小组讨论寻求帮助澄清这个提议
Jira票詹金斯- 35必威国际有限公司808从2016年开始为Jenkins REST A必威国际有限公司PI生成规范
使用REST API为Jenkins插件创建一个开放API规范,将其添加到相应必威国际有限公司的插件库中
提供Jenkins REST API的文档,例如必威国际有限公司_果冻
Jenkins核心和插件中必威国际有限公司的文件
Javadoc着陆页-虽然Javadoc不是Rest API,但在INFRA-1717在决定在哪里发布Rest API时,可以重新考虑Javadoc Landing Page
JAVA
REST API
OpenAPI规范细节和自动生成器
订书机(更多信息:https://github.com/必威国际有限公司jenkins-infra/jenkins.io/pull/2157#issuecomment-471230609)