swaggy_jenkins 0.0.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
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