codehw.raml 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. #%RAML 1.0
  2. # Project
  3. /projects:
  4. post:
  5. displayName: 获取代码作业的项目列表
  6. body:
  7. application/json:
  8. properties:
  9. homeworkId:
  10. type: integer
  11. description: 代码作业id
  12. is: [response: { typeName: 'CodeWorkProject[]' }]
  13. /project:
  14. /{id}:
  15. uriParameters:
  16. id:
  17. type: integer
  18. description: 项目id
  19. get:
  20. displayName: 获取代码作业的项目
  21. is: [response: { typeName: CodeWorkProject }]
  22. /build/record:
  23. get:
  24. queryParameters:
  25. limit:
  26. type: integer
  27. default: 5
  28. description: 数目限制
  29. displayName: 获取项目的最近limit条构建记录
  30. is: [response: { typeName: 'BuildRecordDTO[]' }]
  31. /build/image:
  32. get:
  33. displayName: 获取项目的构建镜像记录,用于部署镜像选择
  34. is: [response: { typeName: DeployImage }]
  35. /deploy/record:
  36. get:
  37. displayName: 获取项目当前的部署记录
  38. description: 获取项目的部署记录,只包含当前的测试环境和生产环境部署记录
  39. is: [response: { typeName: CodeWorkDeploy }]
  40. /deploy/record/{id}:
  41. uriParameters:
  42. id:
  43. type: integer
  44. description: 代码作业小组resultId
  45. get:
  46. displayName: 获取代码作业小组的部署记录
  47. queryParameters:
  48. limit:
  49. type: integer
  50. default: 5
  51. description: 条数
  52. success:
  53. type: integer
  54. default: 1
  55. description: 是否只返回成功的部署记录,1为是,否则返回所有记录
  56. is: [response: { typeName: 'DeployResponse[]' }]
  57. # Build
  58. /build:
  59. /{id}:
  60. uriParameters:
  61. id:
  62. type: integer
  63. description: 构建记录id
  64. get:
  65. displayName: 获取构建记录
  66. is: [response: { typeName: BuildRecordDTO }]
  67. /record/{recordId}:
  68. uriParameters:
  69. recordId:
  70. type: integer
  71. description: 构建记录id,选择已存在的一个构建记录(根据id找到branch和hash,来主动重新构建该次记录)
  72. post:
  73. displayName: 主动构建镜像
  74. is: [response: { typeName: BuildRecordDTO }]
  75. # Deploy
  76. /deploy:
  77. post:
  78. displayName: 学生主动进行部署
  79. body:
  80. application/json:
  81. type: DeployDTO
  82. is: [response: { typeName: DeployResponse }]
  83. /{deployId}:
  84. uriParameters:
  85. deployId:
  86. type: integer
  87. description: 部署记录id
  88. get:
  89. displayName: 获取部署记录
  90. is: [response: { typeName: DeployResponse }]
  91. /log/{deployId}:
  92. uriParameters:
  93. deployId:
  94. type: integer
  95. description: 部署记录id
  96. get:
  97. displayName: 获取部署应用的日志
  98. is: [response: { typeName: string }]
  99. # UnitTest
  100. /unit/{id}:
  101. uriParameters:
  102. id:
  103. type: integer
  104. description: 单元测试记录id
  105. get:
  106. displayName: 获取单元测试记录
  107. is: [response: { typeName: UnitTestRecord }]
  108. # FunctionTest
  109. /functional:
  110. post:
  111. displayName: 主动触发界面测试
  112. body:
  113. application/json:
  114. type: FunctionalTestDTO
  115. responses:
  116. 200:
  117. body:
  118. type: object
  119. properties:
  120. code: integer
  121. data:
  122. properties:
  123. success:
  124. type: boolean
  125. description: 是否触发成功
  126. /{id}:
  127. uriParameters:
  128. id:
  129. type: integer
  130. description: 界面测试记录id
  131. get:
  132. displayName: 获取单元测试记录
  133. is: [response: { typeName: FunctionTestRecord }]