swaggy_jenkins 0.0.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +3 -1
  3. data/Gemfile.lock +51 -50
  4. data/README.md +25 -33
  5. data/Rakefile +2 -0
  6. data/bin/bundle +114 -0
  7. data/bin/byebug +29 -0
  8. data/bin/coderay +29 -0
  9. data/bin/htmldiff +29 -0
  10. data/bin/ldiff +29 -0
  11. data/bin/pry +29 -0
  12. data/bin/rake +29 -0
  13. data/bin/rspec +29 -0
  14. data/bin/rubocop +29 -0
  15. data/bin/ruby-parse +29 -0
  16. data/bin/ruby-rewrite +29 -0
  17. data/docs/AllView.md +17 -5
  18. data/docs/BaseApi.md +75 -0
  19. data/docs/BlueOceanApi.md +1347 -631
  20. data/docs/BranchImpl.md +37 -15
  21. data/docs/BranchImpllinks.md +21 -7
  22. data/docs/BranchImplpermissions.md +21 -7
  23. data/docs/CauseAction.md +15 -4
  24. data/docs/CauseUserIdCause.md +19 -6
  25. data/docs/ClassesByClass.md +15 -4
  26. data/docs/ClockDifference.md +15 -4
  27. data/docs/ComputerSet.md +21 -7
  28. data/docs/DefaultCrumbIssuer.md +17 -5
  29. data/docs/DiskSpaceMonitorDescriptorDiskSpace.md +19 -6
  30. data/docs/EmptyChangeLogSet.md +15 -4
  31. data/docs/ExtensionClassContainerImpl1.md +17 -5
  32. data/docs/ExtensionClassContainerImpl1links.md +15 -4
  33. data/docs/ExtensionClassContainerImpl1map.md +17 -5
  34. data/docs/ExtensionClassImpl.md +17 -5
  35. data/docs/ExtensionClassImpllinks.md +15 -4
  36. data/docs/FavoriteImpl.md +17 -5
  37. data/docs/FavoriteImpllinks.md +15 -4
  38. data/docs/FreeStyleBuild.md +47 -20
  39. data/docs/FreeStyleProject.md +65 -29
  40. data/docs/FreeStyleProjectactions.md +13 -3
  41. data/docs/FreeStyleProjecthealthReport.md +21 -7
  42. data/docs/GenericResource.md +23 -8
  43. data/docs/GithubContent.md +27 -10
  44. data/docs/GithubFile.md +15 -4
  45. data/docs/GithubOrganization.md +19 -6
  46. data/docs/GithubOrganizationlinks.md +17 -5
  47. data/docs/GithubRepositories.md +23 -8
  48. data/docs/GithubRepositorieslinks.md +15 -4
  49. data/docs/GithubRepository.md +27 -10
  50. data/docs/GithubRepositorylinks.md +15 -4
  51. data/docs/GithubRepositorypermissions.md +19 -6
  52. data/docs/GithubRespositoryContainer.md +17 -5
  53. data/docs/GithubRespositoryContainerlinks.md +15 -4
  54. data/docs/GithubScm.md +21 -7
  55. data/docs/GithubScmlinks.md +15 -4
  56. data/docs/Hudson.md +41 -17
  57. data/docs/HudsonMasterComputer.md +43 -18
  58. data/docs/HudsonMasterComputerexecutors.md +23 -8
  59. data/docs/HudsonMasterComputermonitorData.md +25 -9
  60. data/docs/HudsonassignedLabels.md +13 -3
  61. data/docs/InputStepImpl.md +25 -9
  62. data/docs/InputStepImpllinks.md +15 -4
  63. data/docs/Label1.md +13 -3
  64. data/docs/Link.md +15 -4
  65. data/docs/ListView.md +21 -7
  66. data/docs/MultibranchPipeline.md +39 -16
  67. data/docs/NullSCM.md +13 -3
  68. data/docs/Organisation.md +15 -4
  69. data/docs/Pipeline.md +27 -10
  70. data/docs/PipelineActivity.md +41 -17
  71. data/docs/PipelineActivityartifacts.md +19 -6
  72. data/docs/PipelineBranchesitem.md +29 -11
  73. data/docs/PipelineBranchesitemlatestRun.md +39 -16
  74. data/docs/PipelineBranchesitempullRequest.md +23 -8
  75. data/docs/PipelineBranchesitempullRequestlinks.md +15 -4
  76. data/docs/PipelineFolderImpl.md +25 -9
  77. data/docs/PipelineImpl.md +29 -11
  78. data/docs/PipelineImpllinks.md +21 -7
  79. data/docs/PipelineRun.md +41 -17
  80. data/docs/PipelineRunImpl.md +41 -17
  81. data/docs/PipelineRunImpllinks.md +23 -8
  82. data/docs/PipelineRunNode.md +27 -10
  83. data/docs/PipelineRunNodeedges.md +15 -4
  84. data/docs/PipelineRunartifacts.md +19 -6
  85. data/docs/PipelineStepImpl.md +29 -11
  86. data/docs/PipelineStepImpllinks.md +17 -5
  87. data/docs/PipelinelatestRun.md +41 -17
  88. data/docs/PipelinelatestRunartifacts.md +19 -6
  89. data/docs/Queue.md +15 -4
  90. data/docs/QueueBlockedItem.md +35 -14
  91. data/docs/QueueItemImpl.md +21 -7
  92. data/docs/QueueLeftItem.md +37 -15
  93. data/docs/RemoteAccessApi.md +666 -350
  94. data/docs/ResponseTimeMonitorData.md +17 -5
  95. data/docs/StringParameterDefinition.md +21 -7
  96. data/docs/StringParameterValue.md +17 -5
  97. data/docs/SwapSpaceMonitorMemoryUsage2.md +21 -7
  98. data/docs/UnlabeledLoadStatistics.md +13 -3
  99. data/docs/User.md +21 -7
  100. data/git_push.sh +12 -10
  101. data/lib/swaggy_jenkins/api/base_api.rb +77 -0
  102. data/lib/swaggy_jenkins/api/blue_ocean_api.rb +1048 -643
  103. data/lib/swaggy_jenkins/api/remote_access_api.rb +506 -361
  104. data/lib/swaggy_jenkins/api_client.rb +95 -94
  105. data/lib/swaggy_jenkins/api_error.rb +22 -3
  106. data/lib/swaggy_jenkins/configuration.rb +91 -15
  107. data/lib/swaggy_jenkins/models/all_view.rb +59 -29
  108. data/lib/swaggy_jenkins/models/branch_impl.rb +76 -46
  109. data/lib/swaggy_jenkins/models/branch_impllinks.rb +62 -32
  110. data/lib/swaggy_jenkins/models/branch_implpermissions.rb +65 -35
  111. data/lib/swaggy_jenkins/models/cause_action.rb +58 -28
  112. data/lib/swaggy_jenkins/models/cause_user_id_cause.rb +63 -33
  113. data/lib/swaggy_jenkins/models/classes_by_class.rb +58 -28
  114. data/lib/swaggy_jenkins/models/clock_difference.rb +58 -28
  115. data/lib/swaggy_jenkins/models/computer_set.rb +64 -34
  116. data/lib/swaggy_jenkins/models/default_crumb_issuer.rb +60 -30
  117. data/lib/swaggy_jenkins/models/disk_space_monitor_descriptor_disk_space.rb +60 -30
  118. data/lib/swaggy_jenkins/models/empty_change_log_set.rb +58 -28
  119. data/lib/swaggy_jenkins/models/extension_class_container_impl1.rb +59 -29
  120. data/lib/swaggy_jenkins/models/extension_class_container_impl1links.rb +59 -29
  121. data/lib/swaggy_jenkins/models/extension_class_container_impl1map.rb +61 -31
  122. data/lib/swaggy_jenkins/models/extension_class_impl.rb +59 -29
  123. data/lib/swaggy_jenkins/models/extension_class_impllinks.rb +59 -29
  124. data/lib/swaggy_jenkins/models/favorite_impl.rb +59 -29
  125. data/lib/swaggy_jenkins/models/favorite_impllinks.rb +59 -29
  126. data/lib/swaggy_jenkins/models/free_style_build.rb +83 -53
  127. data/lib/swaggy_jenkins/models/free_style_project.rb +105 -75
  128. data/lib/swaggy_jenkins/models/free_style_projectactions.rb +57 -27
  129. data/lib/swaggy_jenkins/models/free_style_projecthealth_report.rb +63 -33
  130. data/lib/swaggy_jenkins/models/generic_resource.rb +65 -35
  131. data/lib/swaggy_jenkins/models/github_content.rb +65 -35
  132. data/lib/swaggy_jenkins/models/github_file.rb +58 -28
  133. data/lib/swaggy_jenkins/models/github_organization.rb +62 -32
  134. data/lib/swaggy_jenkins/models/github_organizationlinks.rb +60 -30
  135. data/lib/swaggy_jenkins/models/github_repositories.rb +65 -35
  136. data/lib/swaggy_jenkins/models/github_repositorieslinks.rb +59 -29
  137. data/lib/swaggy_jenkins/models/github_repository.rb +67 -37
  138. data/lib/swaggy_jenkins/models/github_repositorylinks.rb +59 -29
  139. data/lib/swaggy_jenkins/models/github_repositorypermissions.rb +63 -33
  140. data/lib/swaggy_jenkins/models/github_respository_container.rb +59 -29
  141. data/lib/swaggy_jenkins/models/github_respository_containerlinks.rb +59 -29
  142. data/lib/swaggy_jenkins/models/github_scm.rb +62 -32
  143. data/lib/swaggy_jenkins/models/github_scmlinks.rb +59 -29
  144. data/lib/swaggy_jenkins/models/hudson.rb +84 -54
  145. data/lib/swaggy_jenkins/models/hudson_master_computer.rb +89 -59
  146. data/lib/swaggy_jenkins/models/hudson_master_computerexecutors.rb +66 -36
  147. data/lib/swaggy_jenkins/models/hudson_master_computermonitor_data.rb +69 -39
  148. data/lib/swaggy_jenkins/models/hudsonassigned_labels.rb +57 -27
  149. data/lib/swaggy_jenkins/models/input_step_impl.rb +63 -33
  150. data/lib/swaggy_jenkins/models/input_step_impllinks.rb +59 -29
  151. data/lib/swaggy_jenkins/models/label1.rb +57 -27
  152. data/lib/swaggy_jenkins/models/link.rb +58 -28
  153. data/lib/swaggy_jenkins/models/list_view.rb +61 -31
  154. data/lib/swaggy_jenkins/models/multibranch_pipeline.rb +81 -51
  155. data/lib/swaggy_jenkins/models/null_scm.rb +57 -27
  156. data/lib/swaggy_jenkins/models/organisation.rb +58 -28
  157. data/lib/swaggy_jenkins/models/pipeline.rb +69 -39
  158. data/lib/swaggy_jenkins/models/pipeline_activity.rb +78 -48
  159. data/lib/swaggy_jenkins/models/pipeline_activityartifacts.rb +60 -30
  160. data/lib/swaggy_jenkins/models/pipeline_branchesitem.rb +71 -41
  161. data/lib/swaggy_jenkins/models/pipeline_branchesitemlatest_run.rb +77 -47
  162. data/lib/swaggy_jenkins/models/pipeline_branchesitempull_request.rb +62 -32
  163. data/lib/swaggy_jenkins/models/pipeline_branchesitempull_requestlinks.rb +59 -29
  164. data/lib/swaggy_jenkins/models/pipeline_folder_impl.rb +67 -37
  165. data/lib/swaggy_jenkins/models/pipeline_impl.rb +70 -40
  166. data/lib/swaggy_jenkins/models/pipeline_impllinks.rb +62 -32
  167. data/lib/swaggy_jenkins/models/pipeline_run.rb +78 -48
  168. data/lib/swaggy_jenkins/models/pipeline_run_impl.rb +78 -48
  169. data/lib/swaggy_jenkins/models/pipeline_run_impllinks.rb +63 -33
  170. data/lib/swaggy_jenkins/models/pipeline_run_node.rb +67 -37
  171. data/lib/swaggy_jenkins/models/pipeline_run_nodeedges.rb +58 -28
  172. data/lib/swaggy_jenkins/models/pipeline_runartifacts.rb +60 -30
  173. data/lib/swaggy_jenkins/models/pipeline_step_impl.rb +68 -38
  174. data/lib/swaggy_jenkins/models/pipeline_step_impllinks.rb +60 -30
  175. data/lib/swaggy_jenkins/models/pipelinelatest_run.rb +78 -48
  176. data/lib/swaggy_jenkins/models/pipelinelatest_runartifacts.rb +60 -30
  177. data/lib/swaggy_jenkins/models/queue.rb +58 -28
  178. data/lib/swaggy_jenkins/models/queue_blocked_item.rb +73 -43
  179. data/lib/swaggy_jenkins/models/queue_item_impl.rb +63 -33
  180. data/lib/swaggy_jenkins/models/queue_left_item.rb +74 -44
  181. data/lib/swaggy_jenkins/models/response_time_monitor_data.rb +59 -29
  182. data/lib/swaggy_jenkins/models/string_parameter_definition.rb +62 -32
  183. data/lib/swaggy_jenkins/models/string_parameter_value.rb +59 -29
  184. data/lib/swaggy_jenkins/models/swap_space_monitor_memory_usage2.rb +65 -35
  185. data/lib/swaggy_jenkins/models/unlabeled_load_statistics.rb +57 -27
  186. data/lib/swaggy_jenkins/models/user.rb +62 -32
  187. data/lib/swaggy_jenkins/version.rb +4 -4
  188. data/lib/swaggy_jenkins.rb +4 -16
  189. data/spec/api/base_api_spec.rb +45 -0
  190. data/spec/api/blue_ocean_api_spec.rb +76 -88
  191. data/spec/api/remote_access_api_spec.rb +28 -59
  192. data/spec/api_client_spec.rb +40 -40
  193. data/spec/configuration_spec.rb +11 -11
  194. data/spec/models/all_view_spec.rb +10 -18
  195. data/spec/models/branch_impl_spec.rb +20 -28
  196. data/spec/models/branch_impllinks_spec.rb +12 -20
  197. data/spec/models/branch_implpermissions_spec.rb +12 -20
  198. data/spec/models/cause_action_spec.rb +9 -17
  199. data/spec/models/cause_user_id_cause_spec.rb +11 -19
  200. data/spec/models/classes_by_class_spec.rb +9 -17
  201. data/spec/models/clock_difference_spec.rb +9 -17
  202. data/spec/models/computer_set_spec.rb +12 -20
  203. data/spec/models/default_crumb_issuer_spec.rb +10 -18
  204. data/spec/models/disk_space_monitor_descriptor_disk_space_spec.rb +11 -19
  205. data/spec/models/empty_change_log_set_spec.rb +9 -17
  206. data/spec/models/extension_class_container_impl1_spec.rb +10 -18
  207. data/spec/models/extension_class_container_impl1links_spec.rb +9 -17
  208. data/spec/models/extension_class_container_impl1map_spec.rb +10 -18
  209. data/spec/models/extension_class_impl_spec.rb +10 -18
  210. data/spec/models/extension_class_impllinks_spec.rb +9 -17
  211. data/spec/models/favorite_impl_spec.rb +10 -18
  212. data/spec/models/favorite_impllinks_spec.rb +9 -17
  213. data/spec/models/free_style_build_spec.rb +25 -33
  214. data/spec/models/free_style_project_spec.rb +34 -42
  215. data/spec/models/free_style_projectactions_spec.rb +8 -16
  216. data/spec/models/free_style_projecthealth_report_spec.rb +12 -20
  217. data/spec/models/generic_resource_spec.rb +13 -21
  218. data/spec/models/github_content_spec.rb +15 -23
  219. data/spec/models/github_file_spec.rb +9 -17
  220. data/spec/models/github_organization_spec.rb +11 -19
  221. data/spec/models/github_organizationlinks_spec.rb +10 -18
  222. data/spec/models/github_repositories_spec.rb +13 -21
  223. data/spec/models/github_repositorieslinks_spec.rb +9 -17
  224. data/spec/models/github_repository_spec.rb +15 -23
  225. data/spec/models/github_repositorylinks_spec.rb +9 -17
  226. data/spec/models/github_repositorypermissions_spec.rb +11 -19
  227. data/spec/models/github_respository_container_spec.rb +10 -18
  228. data/spec/models/github_respository_containerlinks_spec.rb +9 -17
  229. data/spec/models/github_scm_spec.rb +12 -20
  230. data/spec/models/github_scmlinks_spec.rb +9 -17
  231. data/spec/models/hudson_master_computer_spec.rb +23 -31
  232. data/spec/models/hudson_master_computerexecutors_spec.rb +13 -21
  233. data/spec/models/hudson_master_computermonitor_data_spec.rb +14 -22
  234. data/spec/models/hudson_spec.rb +22 -30
  235. data/spec/models/hudsonassigned_labels_spec.rb +8 -16
  236. data/spec/models/input_step_impl_spec.rb +14 -22
  237. data/spec/models/input_step_impllinks_spec.rb +9 -17
  238. data/spec/models/label1_spec.rb +8 -16
  239. data/spec/models/link_spec.rb +9 -17
  240. data/spec/models/list_view_spec.rb +12 -20
  241. data/spec/models/multibranch_pipeline_spec.rb +21 -29
  242. data/spec/models/null_scm_spec.rb +8 -16
  243. data/spec/models/organisation_spec.rb +9 -17
  244. data/spec/models/pipeline_activity_spec.rb +22 -30
  245. data/spec/models/pipeline_activityartifacts_spec.rb +11 -19
  246. data/spec/models/pipeline_branchesitem_spec.rb +16 -24
  247. data/spec/models/pipeline_branchesitemlatest_run_spec.rb +21 -29
  248. data/spec/models/pipeline_branchesitempull_request_spec.rb +13 -21
  249. data/spec/models/pipeline_branchesitempull_requestlinks_spec.rb +9 -17
  250. data/spec/models/pipeline_folder_impl_spec.rb +14 -22
  251. data/spec/models/pipeline_impl_spec.rb +16 -24
  252. data/spec/models/pipeline_impllinks_spec.rb +12 -20
  253. data/spec/models/pipeline_run_impl_spec.rb +22 -30
  254. data/spec/models/pipeline_run_impllinks_spec.rb +13 -21
  255. data/spec/models/pipeline_run_node_spec.rb +15 -23
  256. data/spec/models/pipeline_run_nodeedges_spec.rb +9 -17
  257. data/spec/models/pipeline_run_spec.rb +22 -30
  258. data/spec/models/pipeline_runartifacts_spec.rb +11 -19
  259. data/spec/models/pipeline_spec.rb +15 -23
  260. data/spec/models/pipeline_step_impl_spec.rb +16 -24
  261. data/spec/models/pipeline_step_impllinks_spec.rb +10 -18
  262. data/spec/models/pipelinelatest_run_spec.rb +22 -30
  263. data/spec/models/pipelinelatest_runartifacts_spec.rb +11 -19
  264. data/spec/models/queue_blocked_item_spec.rb +19 -27
  265. data/spec/models/queue_item_impl_spec.rb +12 -20
  266. data/spec/models/queue_left_item_spec.rb +20 -28
  267. data/spec/models/queue_spec.rb +9 -17
  268. data/spec/models/response_time_monitor_data_spec.rb +10 -18
  269. data/spec/models/string_parameter_definition_spec.rb +12 -20
  270. data/spec/models/string_parameter_value_spec.rb +10 -18
  271. data/spec/models/swap_space_monitor_memory_usage2_spec.rb +12 -20
  272. data/spec/models/unlabeled_load_statistics_spec.rb +8 -16
  273. data/spec/models/user_spec.rb +12 -20
  274. data/spec/spec_helper.rb +3 -3
  275. data/swaggy_jenkins.gemspec +6 -13
  276. metadata +97 -275
  277. data/docs/Body.md +0 -8
  278. data/docs/Organisations.md +0 -7
  279. data/docs/PipelineActivities.md +0 -7
  280. data/docs/PipelineBranches.md +0 -7
  281. data/docs/PipelineQueue.md +0 -7
  282. data/docs/PipelineRunNodeSteps.md +0 -7
  283. data/docs/PipelineRunNodes.md +0 -7
  284. data/docs/PipelineRunSteps.md +0 -7
  285. data/docs/PipelineRuns.md +0 -7
  286. data/docs/Pipelines.md +0 -7
  287. data/docs/ScmOrganisations.md +0 -7
  288. data/docs/UserFavorites.md +0 -7
  289. data/docs/Users.md +0 -7
  290. data/lib/swaggy_jenkins/models/body.rb +0 -193
  291. data/lib/swaggy_jenkins/models/organisations.rb +0 -179
  292. data/lib/swaggy_jenkins/models/pipeline_activities.rb +0 -179
  293. data/lib/swaggy_jenkins/models/pipeline_branches.rb +0 -179
  294. data/lib/swaggy_jenkins/models/pipeline_queue.rb +0 -179
  295. data/lib/swaggy_jenkins/models/pipeline_run_node_steps.rb +0 -179
  296. data/lib/swaggy_jenkins/models/pipeline_run_nodes.rb +0 -179
  297. data/lib/swaggy_jenkins/models/pipeline_run_steps.rb +0 -179
  298. data/lib/swaggy_jenkins/models/pipeline_runs.rb +0 -179
  299. data/lib/swaggy_jenkins/models/pipelines.rb +0 -179
  300. data/lib/swaggy_jenkins/models/scm_organisations.rb +0 -179
  301. data/lib/swaggy_jenkins/models/user_favorites.rb +0 -179
  302. data/lib/swaggy_jenkins/models/users.rb +0 -179
  303. data/spec/models/body_spec.rb +0 -42
  304. data/spec/models/organisations_spec.rb +0 -36
  305. data/spec/models/pipeline_activities_spec.rb +0 -36
  306. data/spec/models/pipeline_branches_spec.rb +0 -36
  307. data/spec/models/pipeline_queue_spec.rb +0 -36
  308. data/spec/models/pipeline_run_node_steps_spec.rb +0 -36
  309. data/spec/models/pipeline_run_nodes_spec.rb +0 -36
  310. data/spec/models/pipeline_run_steps_spec.rb +0 -36
  311. data/spec/models/pipeline_runs_spec.rb +0 -36
  312. data/spec/models/pipelines_spec.rb +0 -36
  313. data/spec/models/scm_organisations_spec.rb +0 -36
  314. data/spec/models/user_favorites_spec.rb +0 -36
  315. data/spec/models/users_spec.rb +0 -36
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Jenkins API clients generated from Swagger / Open API specification
5
5
 
6
- OpenAPI spec version: 0.1.0
6
+ The version of the OpenAPI document: 1.3.0
7
7
  Contact: blah@cliffano.com
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.3.0-SNAPSHOT
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
@@ -14,8 +14,8 @@ require 'date'
14
14
  require 'json'
15
15
  require 'logger'
16
16
  require 'tempfile'
17
+ require 'time'
17
18
  require 'typhoeus'
18
- require 'uri'
19
19
 
20
20
  module SwaggyJenkinsClient
21
21
  class ApiClient
@@ -31,9 +31,9 @@ module SwaggyJenkinsClient
31
31
  # @option config [Configuration] Configuration for initializing the object, default to Configuration.default
32
32
  def initialize(config = Configuration.default)
33
33
  @config = config
34
- @user_agent = "Swagger-Codegen/#{VERSION}/ruby"
34
+ @user_agent = "OpenAPI-Generator/#{VERSION}/ruby"
35
35
  @default_headers = {
36
- 'Content-Type' => "application/json",
36
+ 'Content-Type' => 'application/json',
37
37
  'User-Agent' => @user_agent
38
38
  }
39
39
  end
@@ -44,7 +44,7 @@ module SwaggyJenkinsClient
44
44
 
45
45
  # Call an API with given options.
46
46
  #
47
- # @return [Array<(Object, Fixnum, Hash)>] an array of 3 elements:
47
+ # @return [Array<(Object, Integer, Hash)>] an array of 3 elements:
48
48
  # the data deserialized from response body (could be nil), response status code and response headers.
49
49
  def call_api(http_method, path, opts = {})
50
50
  request = build_request(http_method, path, opts)
@@ -87,7 +87,7 @@ module SwaggyJenkinsClient
87
87
  # @option opts [Object] :body HTTP body (JSON/XML)
88
88
  # @return [Typhoeus::Request] A Typhoeus Request
89
89
  def build_request(http_method, path, opts = {})
90
- url = build_request_url(path)
90
+ url = build_request_url(path, opts)
91
91
  http_method = http_method.to_sym.downcase
92
92
 
93
93
  header_params = @default_headers.merge(opts[:header_params] || {})
@@ -128,6 +128,72 @@ module SwaggyJenkinsClient
128
128
  request
129
129
  end
130
130
 
131
+ # Builds the HTTP request body
132
+ #
133
+ # @param [Hash] header_params Header parameters
134
+ # @param [Hash] form_params Query parameters
135
+ # @param [Object] body HTTP body (JSON/XML)
136
+ # @return [String] HTTP body data in the form of string
137
+ def build_request_body(header_params, form_params, body)
138
+ # http form
139
+ if header_params['Content-Type'] == 'application/x-www-form-urlencoded' ||
140
+ header_params['Content-Type'] == 'multipart/form-data'
141
+ data = {}
142
+ form_params.each do |key, value|
143
+ case value
144
+ when ::File, ::Array, nil
145
+ # let typhoeus handle File, Array and nil parameters
146
+ data[key] = value
147
+ else
148
+ data[key] = value.to_s
149
+ end
150
+ end
151
+ elsif body
152
+ data = body.is_a?(String) ? body : body.to_json
153
+ else
154
+ data = nil
155
+ end
156
+ data
157
+ end
158
+
159
+ # Save response body into a file in (the defined) temporary folder, using the filename
160
+ # from the "Content-Disposition" header if provided, otherwise a random filename.
161
+ # The response body is written to the file in chunks in order to handle files which
162
+ # size is larger than maximum Ruby String or even larger than the maximum memory a Ruby
163
+ # process can use.
164
+ #
165
+ # @see Configuration#temp_folder_path
166
+ def download_file(request)
167
+ tempfile = nil
168
+ encoding = nil
169
+ request.on_headers do |response|
170
+ content_disposition = response.headers['Content-Disposition']
171
+ if content_disposition && content_disposition =~ /filename=/i
172
+ filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
173
+ prefix = sanitize_filename(filename)
174
+ else
175
+ prefix = 'download-'
176
+ end
177
+ prefix = prefix + '-' unless prefix.end_with?('-')
178
+ encoding = response.body.encoding
179
+ tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
180
+ @tempfile = tempfile
181
+ end
182
+ request.on_body do |chunk|
183
+ chunk.force_encoding(encoding)
184
+ tempfile.write(chunk)
185
+ end
186
+ request.on_complete do |response|
187
+ if tempfile
188
+ tempfile.close
189
+ @config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
190
+ "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
191
+ "will be deleted automatically with GC. It's also recommended to delete the temp file "\
192
+ "explicitly with `tempfile.delete`"
193
+ end
194
+ end
195
+ end
196
+
131
197
  # Check if the given MIME is a JSON MIME.
132
198
  # JSON MIME examples:
133
199
  # application/json
@@ -137,13 +203,13 @@ module SwaggyJenkinsClient
137
203
  # @param [String] mime MIME
138
204
  # @return [Boolean] True if the MIME is application/json
139
205
  def json_mime?(mime)
140
- (mime == "*/*") || !(mime =~ /Application\/.*json(?!p)(;.*)?/i).nil?
206
+ (mime == '*/*') || !(mime =~ /Application\/.*json(?!p)(;.*)?/i).nil?
141
207
  end
142
208
 
143
209
  # Deserialize the response to the given return type.
144
210
  #
145
211
  # @param [Response] response HTTP response
146
- # @param [String] return_type some examples: "User", "Array[User]", "Hash[String,Integer]"
212
+ # @param [String] return_type some examples: "User", "Array<User>", "Hash<String, Integer>"
147
213
  def deserialize(response, return_type)
148
214
  body = response.body
149
215
 
@@ -164,7 +230,7 @@ module SwaggyJenkinsClient
164
230
  begin
165
231
  data = JSON.parse("[#{body}]", :symbolize_names => true)[0]
166
232
  rescue JSON::ParserError => e
167
- if %w(String Date DateTime).include?(return_type)
233
+ if %w(String Date Time).include?(return_type)
168
234
  data = body
169
235
  else
170
236
  raise e
@@ -187,11 +253,11 @@ module SwaggyJenkinsClient
187
253
  data.to_i
188
254
  when 'Float'
189
255
  data.to_f
190
- when 'BOOLEAN'
256
+ when 'Boolean'
191
257
  data == true
192
- when 'DateTime'
258
+ when 'Time'
193
259
  # parse date time (expecting ISO 8601 format)
194
- DateTime.parse data
260
+ Time.parse data
195
261
  when 'Date'
196
262
  # parse date time (expecting ISO 8601 format)
197
263
  Date.parse data
@@ -201,54 +267,17 @@ module SwaggyJenkinsClient
201
267
  when /\AArray<(.+)>\z/
202
268
  # e.g. Array<Pet>
203
269
  sub_type = $1
204
- data.map {|item| convert_to_type(item, sub_type) }
270
+ data.map { |item| convert_to_type(item, sub_type) }
205
271
  when /\AHash\<String, (.+)\>\z/
206
272
  # e.g. Hash<String, Integer>
207
273
  sub_type = $1
208
274
  {}.tap do |hash|
209
- data.each {|k, v| hash[k] = convert_to_type(v, sub_type) }
275
+ data.each { |k, v| hash[k] = convert_to_type(v, sub_type) }
210
276
  end
211
277
  else
212
- # models, e.g. Pet
213
- SwaggyJenkinsClient.const_get(return_type).new.tap do |model|
214
- model.build_from_hash data
215
- end
216
- end
217
- end
218
-
219
- # Save response body into a file in (the defined) temporary folder, using the filename
220
- # from the "Content-Disposition" header if provided, otherwise a random filename.
221
- # The response body is written to the file in chunks in order to handle files which
222
- # size is larger than maximum Ruby String or even larger than the maximum memory a Ruby
223
- # process can use.
224
- #
225
- # @see Configuration#temp_folder_path
226
- def download_file(request)
227
- tempfile = nil
228
- encoding = nil
229
- request.on_headers do |response|
230
- content_disposition = response.headers['Content-Disposition']
231
- if content_disposition and content_disposition =~ /filename=/i
232
- filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
233
- prefix = sanitize_filename(filename)
234
- else
235
- prefix = 'download-'
236
- end
237
- prefix = prefix + '-' unless prefix.end_with?('-')
238
- encoding = response.body.encoding
239
- tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
240
- @tempfile = tempfile
241
- end
242
- request.on_body do |chunk|
243
- chunk.force_encoding(encoding)
244
- tempfile.write(chunk)
245
- end
246
- request.on_complete do |response|
247
- tempfile.close
248
- @config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
249
- "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
250
- "will be deleted automatically with GC. It's also recommended to delete the temp file "\
251
- "explicitly with `tempfile.delete`"
278
+ # models (e.g. Pet) or oneOf
279
+ klass = SwaggyJenkinsClient.const_get(return_type)
280
+ klass.respond_to?(:openapi_one_of) ? klass.build(data) : klass.build_from_hash(data)
252
281
  end
253
282
  end
254
283
 
@@ -261,41 +290,13 @@ module SwaggyJenkinsClient
261
290
  filename.gsub(/.*[\/\\]/, '')
262
291
  end
263
292
 
264
- def build_request_url(path)
293
+ def build_request_url(path, opts = {})
265
294
  # Add leading and trailing slashes to path
266
295
  path = "/#{path}".gsub(/\/+/, '/')
267
- URI.encode(@config.base_url + path)
268
- end
269
-
270
- # Builds the HTTP request body
271
- #
272
- # @param [Hash] header_params Header parameters
273
- # @param [Hash] form_params Query parameters
274
- # @param [Object] body HTTP body (JSON/XML)
275
- # @return [String] HTTP body data in the form of string
276
- def build_request_body(header_params, form_params, body)
277
- # http form
278
- if header_params['Content-Type'] == 'application/x-www-form-urlencoded' ||
279
- header_params['Content-Type'] == 'multipart/form-data'
280
- data = {}
281
- form_params.each do |key, value|
282
- case value
283
- when File, Array, nil
284
- # let typhoeus handle File, Array and nil parameters
285
- data[key] = value
286
- else
287
- data[key] = value.to_s
288
- end
289
- end
290
- elsif body
291
- data = body.is_a?(String) ? body : body.to_json
292
- else
293
- data = nil
294
- end
295
- data
296
+ @config.base_url(opts[:operation]) + path
296
297
  end
297
298
 
298
- # Update hearder and query params based on authentication settings.
299
+ # Update header and query params based on authentication settings.
299
300
  #
300
301
  # @param [Hash] header_params Header parameters
301
302
  # @param [Hash] query_params Query parameters
@@ -307,14 +308,14 @@ module SwaggyJenkinsClient
307
308
  case auth_setting[:in]
308
309
  when 'header' then header_params[auth_setting[:key]] = auth_setting[:value]
309
310
  when 'query' then query_params[auth_setting[:key]] = auth_setting[:value]
310
- else fail ArgumentError, 'Authentication token must be in `query` of `header`'
311
+ else fail ArgumentError, 'Authentication token must be in `query` or `header`'
311
312
  end
312
313
  end
313
314
  end
314
315
 
315
316
  # Sets user agent in HTTP header
316
317
  #
317
- # @param [String] user_agent User agent (e.g. swagger-codegen/ruby/1.0.0)
318
+ # @param [String] user_agent User agent (e.g. openapi-generator/ruby/1.0.0)
318
319
  def user_agent=(user_agent)
319
320
  @user_agent = user_agent
320
321
  @default_headers['User-Agent'] = @user_agent
@@ -327,18 +328,18 @@ module SwaggyJenkinsClient
327
328
  return nil if accepts.nil? || accepts.empty?
328
329
  # use JSON when present, otherwise use all of the provided
329
330
  json_accept = accepts.find { |s| json_mime?(s) }
330
- return json_accept || accepts.join(',')
331
+ json_accept || accepts.join(',')
331
332
  end
332
333
 
333
334
  # Return Content-Type header based on an array of content types provided.
334
335
  # @param [Array] content_types array for Content-Type
335
336
  # @return [String] the Content-Type header (e.g. application/json)
336
337
  def select_header_content_type(content_types)
337
- # use application/json by default
338
- return 'application/json' if content_types.nil? || content_types.empty?
338
+ # return nil by default
339
+ return if content_types.nil? || content_types.empty?
339
340
  # use JSON when present, otherwise use the first one
340
341
  json_content_type = content_types.find { |s| json_mime?(s) }
341
- return json_content_type || content_types.first
342
+ json_content_type || content_types.first
342
343
  end
343
344
 
344
345
  # Convert object (array, hash, object, etc) to JSON string.
@@ -348,7 +349,7 @@ module SwaggyJenkinsClient
348
349
  return model if model.nil? || model.is_a?(String)
349
350
  local_body = nil
350
351
  if model.is_a?(Array)
351
- local_body = model.map{|m| object_to_hash(m) }
352
+ local_body = model.map { |m| object_to_hash(m) }
352
353
  else
353
354
  local_body = object_to_hash(model)
354
355
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Jenkins API clients generated from Swagger / Open API specification
5
5
 
6
- OpenAPI spec version: 0.1.0
6
+ The version of the OpenAPI document: 1.3.0
7
7
  Contact: blah@cliffano.com
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.3.0-SNAPSHOT
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
@@ -34,5 +34,24 @@ module SwaggyJenkinsClient
34
34
  super arg
35
35
  end
36
36
  end
37
+
38
+ # Override to_s to display a friendly error message
39
+ def to_s
40
+ message
41
+ end
42
+
43
+ def message
44
+ if @message.nil?
45
+ msg = "Error message: the server returns an error"
46
+ else
47
+ msg = @message
48
+ end
49
+
50
+ msg += "\nHTTP status code: #{code}" if code
51
+ msg += "\nResponse headers: #{response_headers}" if response_headers
52
+ msg += "\nResponse body: #{response_body}" if response_body
53
+
54
+ msg
55
+ end
37
56
  end
38
57
  end
@@ -3,15 +3,13 @@
3
3
 
4
4
  #Jenkins API clients generated from Swagger / Open API specification
5
5
 
6
- OpenAPI spec version: 0.1.0
6
+ The version of the OpenAPI document: 1.3.0
7
7
  Contact: blah@cliffano.com
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.3.0-SNAPSHOT
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
13
- require 'uri'
14
-
15
13
  module SwaggyJenkinsClient
16
14
  class Configuration
17
15
  # Defines url scheme
@@ -23,6 +21,18 @@ module SwaggyJenkinsClient
23
21
  # Defines url base path
24
22
  attr_accessor :base_path
25
23
 
24
+ # Define server configuration index
25
+ attr_accessor :server_index
26
+
27
+ # Define server operation configuration index
28
+ attr_accessor :server_operation_index
29
+
30
+ # Default server variables
31
+ attr_accessor :server_variables
32
+
33
+ # Default server operation variables
34
+ attr_accessor :server_operation_variables
35
+
26
36
  # Defines API keys used with API Key authentications.
27
37
  #
28
38
  # @return [Hash] key: parameter name, value: parameter value (API key)
@@ -129,17 +139,21 @@ module SwaggyJenkinsClient
129
139
 
130
140
  def initialize
131
141
  @scheme = 'http'
132
- @host = ''
133
- @base_path = '/'
142
+ @host = 'localhost'
143
+ @base_path = ''
144
+ @server_index = 0
145
+ @server_operation_index = {}
146
+ @server_variables = {}
147
+ @server_operation_variables = {}
134
148
  @api_key = {}
135
149
  @api_key_prefix = {}
136
- @timeout = 0
137
150
  @client_side_validation = true
138
151
  @verify_ssl = true
139
152
  @verify_ssl_host = true
140
153
  @params_encoding = nil
141
154
  @cert_file = nil
142
155
  @key_file = nil
156
+ @timeout = 0
143
157
  @debugging = false
144
158
  @inject_format = false
145
159
  @force_ending_format = false
@@ -170,21 +184,26 @@ module SwaggyJenkinsClient
170
184
  def base_path=(base_path)
171
185
  # Add leading and trailing slashes to base_path
172
186
  @base_path = "/#{base_path}".gsub(/\/+/, '/')
173
- @base_path = "" if @base_path == "/"
187
+ @base_path = '' if @base_path == '/'
174
188
  end
175
189
 
176
- def base_url
177
- url = "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '')
178
- URI.encode(url)
190
+ # Returns base URL for specified operation based on server settings
191
+ def base_url(operation = nil)
192
+ index = server_operation_index.fetch(operation, server_index)
193
+ return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if index == nil
194
+
195
+ server_url(index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
179
196
  end
180
197
 
181
198
  # Gets API key (with prefix if set).
182
199
  # @param [String] param_name the parameter name of API key auth
183
- def api_key_with_prefix(param_name)
200
+ def api_key_with_prefix(param_name, param_alias = nil)
201
+ key = @api_key[param_name]
202
+ key = @api_key.fetch(param_alias, key) unless param_alias.nil?
184
203
  if @api_key_prefix[param_name]
185
- "#{@api_key_prefix[param_name]} #{@api_key[param_name]}"
204
+ "#{@api_key_prefix[param_name]} #{key}"
186
205
  else
187
- @api_key[param_name]
206
+ key
188
207
  end
189
208
  end
190
209
 
@@ -203,7 +222,64 @@ module SwaggyJenkinsClient
203
222
  key: 'Authorization',
204
223
  value: basic_auth_token
205
224
  },
225
+ 'jwt_auth' =>
226
+ {
227
+ type: 'api_key',
228
+ in: 'header',
229
+ key: 'Authorization',
230
+ value: api_key_with_prefix('jwt_auth')
231
+ },
232
+ }
233
+ end
234
+
235
+ # Returns an array of Server setting
236
+ def server_settings
237
+ [
238
+ {
239
+ url: "",
240
+ description: "No description provided",
241
+ }
242
+ ]
243
+ end
244
+
245
+ def operation_server_settings
246
+ {
206
247
  }
207
248
  end
249
+
250
+ # Returns URL based on server settings
251
+ #
252
+ # @param index array index of the server settings
253
+ # @param variables hash of variable and the corresponding value
254
+ def server_url(index, variables = {}, servers = nil)
255
+ servers = server_settings if servers == nil
256
+
257
+ # check array index out of bound
258
+ if (index < 0 || index >= servers.size)
259
+ fail ArgumentError, "Invalid index #{index} when selecting the server. Must be less than #{servers.size}"
260
+ end
261
+
262
+ server = servers[index]
263
+ url = server[:url]
264
+
265
+ return url unless server.key? :variables
266
+
267
+ # go through variable and assign a value
268
+ server[:variables].each do |name, variable|
269
+ if variables.key?(name)
270
+ if (!server[:variables][name].key?(:enum_values) || server[:variables][name][:enum_values].include?(variables[name]))
271
+ url.gsub! "{" + name.to_s + "}", variables[name]
272
+ else
273
+ fail ArgumentError, "The variable `#{name}` in the server URL has invalid value #{variables[name]}. Must be #{server[:variables][name][:enum_values]}."
274
+ end
275
+ else
276
+ # use default value
277
+ url.gsub! "{" + name.to_s + "}", server[:variables][name][:default_value]
278
+ end
279
+ end
280
+
281
+ url
282
+ end
283
+
208
284
  end
209
285
  end