athenian 2.1.81

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 (682) hide show
  1. checksums.yaml +7 -0
  2. data/CODE_OF_CONDUCT.md +84 -0
  3. data/Gemfile +7 -0
  4. data/Gemfile.lock +60 -0
  5. data/LICENSE.txt +21 -0
  6. data/README.md +76 -0
  7. data/Rakefile +10 -0
  8. data/athenian.gemspec +35 -0
  9. data/bin/console +15 -0
  10. data/bin/setup +8 -0
  11. data/docs/AcceptedInvitation.md +22 -0
  12. data/docs/Account.md +26 -0
  13. data/docs/AccountStatus.md +26 -0
  14. data/docs/AccountUserChangeRequest.md +22 -0
  15. data/docs/AlignApi.md +367 -0
  16. data/docs/CalculatedCodeCheckHistogram.md +28 -0
  17. data/docs/CalculatedCodeCheckMetrics.md +32 -0
  18. data/docs/CalculatedCodeCheckMetricsItem.md +26 -0
  19. data/docs/CalculatedDeploymentMetric.md +24 -0
  20. data/docs/CalculatedDeveloperMetrics.md +28 -0
  21. data/docs/CalculatedDeveloperMetricsItem.md +22 -0
  22. data/docs/CalculatedJIRAHistogram.md +28 -0
  23. data/docs/CalculatedJIRAMetricValues.md +26 -0
  24. data/docs/CalculatedLinearMetricValues.md +26 -0
  25. data/docs/CalculatedLinearMetricValuesConfidenceMinsInner.md +49 -0
  26. data/docs/CalculatedLinearMetricValuesValuesInner.md +51 -0
  27. data/docs/CalculatedPullRequestHistogram.md +28 -0
  28. data/docs/CalculatedPullRequestHistogramFrequenciesInner.md +49 -0
  29. data/docs/CalculatedPullRequestMetrics.md +32 -0
  30. data/docs/CalculatedPullRequestMetricsItem.md +22 -0
  31. data/docs/CalculatedReleaseMetric.md +30 -0
  32. data/docs/CodeBypassingPRsMeasurement.md +26 -0
  33. data/docs/CodeCheckHistogramDefinition.md +24 -0
  34. data/docs/CodeCheckHistogramsRequest.md +32 -0
  35. data/docs/CodeCheckMetricID.md +15 -0
  36. data/docs/CodeCheckMetricsRequest.md +34 -0
  37. data/docs/CodeCheckRunStatistics.md +40 -0
  38. data/docs/CodeCheckRunStatisticsMeanExecutionTime.md +15 -0
  39. data/docs/CodeCheckRunStatisticsMedianExecutionTime.md +15 -0
  40. data/docs/CodeCheckRunStatisticsStddevExecutionTime.md +15 -0
  41. data/docs/CodeFilter.md +34 -0
  42. data/docs/Commit.md +36 -0
  43. data/docs/CommitSignature.md +26 -0
  44. data/docs/CommitsList.md +20 -0
  45. data/docs/CommitsListInclude.md +20 -0
  46. data/docs/Contributor.md +26 -0
  47. data/docs/ContributorIdentity.md +20 -0
  48. data/docs/CreateTokenRequest.md +20 -0
  49. data/docs/CreatedIdentifier.md +18 -0
  50. data/docs/CreatedToken.md +20 -0
  51. data/docs/Datasource.md +15 -0
  52. data/docs/DeleteEventsCacheRequest.md +22 -0
  53. data/docs/DeployedComponent.md +20 -0
  54. data/docs/DeployedPullRequest.md +32 -0
  55. data/docs/DeployedPullRequestAllOf.md +18 -0
  56. data/docs/DeployedRelease.md +40 -0
  57. data/docs/DeploymentAnalysis.md +22 -0
  58. data/docs/DeploymentAnalysisCode.md +28 -0
  59. data/docs/DeploymentConclusion.md +15 -0
  60. data/docs/DeploymentMetricID.md +15 -0
  61. data/docs/DeploymentMetricsRequest.md +32 -0
  62. data/docs/DeploymentModifyLabelsRequest.md +20 -0
  63. data/docs/DeploymentNotification.md +32 -0
  64. data/docs/DeploymentWith.md +22 -0
  65. data/docs/DeveloperMetricID.md +15 -0
  66. data/docs/DeveloperMetricsRequest.md +30 -0
  67. data/docs/DeveloperSummary.md +26 -0
  68. data/docs/DeveloperUpdates.md +28 -0
  69. data/docs/DiffReleasesRequest.md +20 -0
  70. data/docs/DiffedReleases.md +20 -0
  71. data/docs/DiffedReleasesInclude.md +20 -0
  72. data/docs/EventsApi.md +370 -0
  73. data/docs/FilterApi.md +832 -0
  74. data/docs/FilterCodeChecksRequest.md +36 -0
  75. data/docs/FilterCommitsRequest.md +34 -0
  76. data/docs/FilterContributorsRequest.md +28 -0
  77. data/docs/FilterDeploymentsRequest.md +42 -0
  78. data/docs/FilterEnvironmentsRequest.md +26 -0
  79. data/docs/FilterJIRACommon.md +30 -0
  80. data/docs/FilterJIRAStuff.md +40 -0
  81. data/docs/FilterJIRAStuffWith.md +22 -0
  82. data/docs/FilterLabelsRequest.md +20 -0
  83. data/docs/FilterPullRequestsRequest.md +48 -0
  84. data/docs/FilterReleasesRequest.md +34 -0
  85. data/docs/FilterRepositoriesRequest.md +28 -0
  86. data/docs/FilteredCodeCheckRun.md +30 -0
  87. data/docs/FilteredCodeCheckRunPrsStats.md +40 -0
  88. data/docs/FilteredCodeCheckRunTotalStats.md +40 -0
  89. data/docs/FilteredCodeCheckRuns.md +20 -0
  90. data/docs/FilteredDeployment.md +38 -0
  91. data/docs/FilteredDeployments.md +20 -0
  92. data/docs/FilteredDeploymentsInclude.md +20 -0
  93. data/docs/FilteredEnvironment.md +24 -0
  94. data/docs/FilteredJIRAStuff.md +32 -0
  95. data/docs/FilteredLabel.md +24 -0
  96. data/docs/FilteredRelease.md +42 -0
  97. data/docs/ForSetCodeChecks.md +32 -0
  98. data/docs/ForSetCodeChecksJira.md +32 -0
  99. data/docs/ForSetDeployments.md +38 -0
  100. data/docs/ForSetDevelopers.md +30 -0
  101. data/docs/ForSetPullRequests.md +36 -0
  102. data/docs/GenericError.md +26 -0
  103. data/docs/GetApi.md +305 -0
  104. data/docs/GetDeploymentLabels200Response.md +18 -0
  105. data/docs/GetJIRAIssuesInclude.md +15 -0
  106. data/docs/GetJIRAIssuesRequest.md +22 -0
  107. data/docs/GetJIRAIssuesResponse.md +20 -0
  108. data/docs/GetJIRAIssuesResponseInclude.md +20 -0
  109. data/docs/GetPullRequestsRequest.md +22 -0
  110. data/docs/GetReleasesRequest.md +20 -0
  111. data/docs/GoalMetricParams.md +18 -0
  112. data/docs/GoalMetricParamsThreshold.md +49 -0
  113. data/docs/GoalTemplate.md +28 -0
  114. data/docs/GoalTemplateCreateRequest.md +26 -0
  115. data/docs/GoalTemplateMetric.md +51 -0
  116. data/docs/GoalTemplateUpdateRequest.md +24 -0
  117. data/docs/HistogramScale.md +15 -0
  118. data/docs/HistogramsApi.md +226 -0
  119. data/docs/IncludedDeployments.md +18 -0
  120. data/docs/IncludedJIRAIssues.md +18 -0
  121. data/docs/IncludedNativeUser.md +18 -0
  122. data/docs/IncludedNativeUsers.md +18 -0
  123. data/docs/InstallationProgress.md +26 -0
  124. data/docs/IntegrationsApi.md +157 -0
  125. data/docs/Interquartile.md +20 -0
  126. data/docs/InvalidRequestError.md +28 -0
  127. data/docs/InvalidRequestErrorAllOf.md +18 -0
  128. data/docs/InvitationCheckResult.md +22 -0
  129. data/docs/InvitationLink.md +18 -0
  130. data/docs/InvitedUser.md +20 -0
  131. data/docs/JIRAComment.md +22 -0
  132. data/docs/JIRAEpic.md +58 -0
  133. data/docs/JIRAEpicAllOf.md +22 -0
  134. data/docs/JIRAEpicChild.md +56 -0
  135. data/docs/JIRAEpicChildAllOf.md +20 -0
  136. data/docs/JIRAEpicIssueCommon.md +52 -0
  137. data/docs/JIRAFilter.md +32 -0
  138. data/docs/JIRAFilterReturn.md +15 -0
  139. data/docs/JIRAFilterWith.md +22 -0
  140. data/docs/JIRAHistogramDefinition.md +24 -0
  141. data/docs/JIRAHistogramsRequest.md +44 -0
  142. data/docs/JIRAInstallation.md +20 -0
  143. data/docs/JIRAIssue.md +56 -0
  144. data/docs/JIRAIssueAllOf.md +20 -0
  145. data/docs/JIRAIssueType.md +30 -0
  146. data/docs/JIRALabel.md +24 -0
  147. data/docs/JIRAMetricID.md +15 -0
  148. data/docs/JIRAMetricsRequest.md +50 -0
  149. data/docs/JIRAPriority.md +24 -0
  150. data/docs/JIRAProject.md +30 -0
  151. data/docs/JIRAProjectsRequest.md +20 -0
  152. data/docs/JIRAStatus.md +22 -0
  153. data/docs/JIRAStatusCategory.md +15 -0
  154. data/docs/JIRAUser.md +24 -0
  155. data/docs/LinkedJIRAIssue.md +26 -0
  156. data/docs/ListedToken.md +22 -0
  157. data/docs/LogicalDeploymentRules.md +20 -0
  158. data/docs/LogicalPRRules.md +20 -0
  159. data/docs/LogicalRepository.md +26 -0
  160. data/docs/LogicalRepositoryGetRequest.md +20 -0
  161. data/docs/LogicalRepositoryRequest.md +28 -0
  162. data/docs/MappedJIRAIdentity.md +24 -0
  163. data/docs/MappedJIRAIdentityChange.md +20 -0
  164. data/docs/MatchIdentitiesRequest.md +20 -0
  165. data/docs/MatchedIdentity.md +22 -0
  166. data/docs/MatchedIdentityTo.md +15 -0
  167. data/docs/MetricsApi.md +518 -0
  168. data/docs/NotifiedDeploymentsInner.md +20 -0
  169. data/docs/NotifyDeployments200Response.md +18 -0
  170. data/docs/Organization.md +22 -0
  171. data/docs/PaginatePullRequestsRequest.md +20 -0
  172. data/docs/PaginationApi.md +82 -0
  173. data/docs/PatchTokenRequest.md +18 -0
  174. data/docs/ProductFeature.md +20 -0
  175. data/docs/ProductFeatureParameters.md +51 -0
  176. data/docs/PullRequest.md +74 -0
  177. data/docs/PullRequestEvent.md +15 -0
  178. data/docs/PullRequestHistogramDefinition.md +24 -0
  179. data/docs/PullRequestHistogramsRequest.md +34 -0
  180. data/docs/PullRequestLabel.md +22 -0
  181. data/docs/PullRequestMetricID.md +15 -0
  182. data/docs/PullRequestMetricsRequest.md +36 -0
  183. data/docs/PullRequestNumbers.md +20 -0
  184. data/docs/PullRequestPaginationPlan.md +18 -0
  185. data/docs/PullRequestParticipant.md +20 -0
  186. data/docs/PullRequestSet.md +20 -0
  187. data/docs/PullRequestSetInclude.md +20 -0
  188. data/docs/PullRequestStage.md +15 -0
  189. data/docs/PullRequestWith.md +30 -0
  190. data/docs/RegistrationApi.md +420 -0
  191. data/docs/ReleaseDiff.md +22 -0
  192. data/docs/ReleaseMatchRequest.md +28 -0
  193. data/docs/ReleaseMatchSetting.md +26 -0
  194. data/docs/ReleaseMatchStrategy.md +15 -0
  195. data/docs/ReleaseMetricID.md +15 -0
  196. data/docs/ReleaseMetricsRequest.md +42 -0
  197. data/docs/ReleaseMetricsRequestForInner.md +49 -0
  198. data/docs/ReleaseNames.md +20 -0
  199. data/docs/ReleaseNotification.md +28 -0
  200. data/docs/ReleaseNotificationStatus.md +15 -0
  201. data/docs/ReleasePair.md +20 -0
  202. data/docs/ReleaseSet.md +20 -0
  203. data/docs/ReleaseSetInclude.md +22 -0
  204. data/docs/ReleaseWith.md +22 -0
  205. data/docs/ReleasedPullRequest.md +30 -0
  206. data/docs/ReleasedPullRequestAuthor.md +15 -0
  207. data/docs/ReposetApi.md +363 -0
  208. data/docs/RepositorySetCreateRequest.md +22 -0
  209. data/docs/RepositorySetListItem.md +26 -0
  210. data/docs/RepositorySetWithName.md +22 -0
  211. data/docs/SecurityApi.md +290 -0
  212. data/docs/SetMappedJIRAIdentitiesRequest.md +20 -0
  213. data/docs/SettingsApi.md +942 -0
  214. data/docs/Share.md +22 -0
  215. data/docs/StageTimings.md +26 -0
  216. data/docs/TableFetchingProgress.md +22 -0
  217. data/docs/Team.md +24 -0
  218. data/docs/TeamApi.md +440 -0
  219. data/docs/TeamCreateRequest.md +24 -0
  220. data/docs/TeamUpdateRequest.md +22 -0
  221. data/docs/User.md +34 -0
  222. data/docs/UserApi.md +431 -0
  223. data/docs/VersionApi.md +67 -0
  224. data/docs/Versions.md +20 -0
  225. data/docs/WithBothJiraAndJiragroups.md +20 -0
  226. data/docs/WorkType.md +22 -0
  227. data/docs/WorkTypeGetRequest.md +20 -0
  228. data/docs/WorkTypePutRequest.md +20 -0
  229. data/docs/WorkTypeRule.md +20 -0
  230. data/generator/generate_api.sh +37 -0
  231. data/generator/generator_config.yml +10 -0
  232. data/generator/openapi.yaml +11297 -0
  233. data/generator/openapi_generated.yaml +11139 -0
  234. data/generator/template/api_info.mustache +6 -0
  235. data/generator/template_data.json +3 -0
  236. data/lib/athenian/api/align_api.rb +335 -0
  237. data/lib/athenian/api/events_api.rb +334 -0
  238. data/lib/athenian/api/filter_api.rb +701 -0
  239. data/lib/athenian/api/get_api.rb +266 -0
  240. data/lib/athenian/api/histograms_api.rb +217 -0
  241. data/lib/athenian/api/integrations_api.rb +150 -0
  242. data/lib/athenian/api/metrics_api.rb +481 -0
  243. data/lib/athenian/api/pagination_api.rb +81 -0
  244. data/lib/athenian/api/registration_api.rb +395 -0
  245. data/lib/athenian/api/reposet_api.rb +332 -0
  246. data/lib/athenian/api/security_api.rb +271 -0
  247. data/lib/athenian/api/settings_api.rb +820 -0
  248. data/lib/athenian/api/team_api.rb +396 -0
  249. data/lib/athenian/api/user_api.rb +381 -0
  250. data/lib/athenian/api/version_api.rb +74 -0
  251. data/lib/athenian/api_client.rb +389 -0
  252. data/lib/athenian/api_error.rb +55 -0
  253. data/lib/athenian/configuration.rb +294 -0
  254. data/lib/athenian/models/accepted_invitation.rb +241 -0
  255. data/lib/athenian/models/account.rb +283 -0
  256. data/lib/athenian/models/account_status.rb +281 -0
  257. data/lib/athenian/models/account_user_change_request.rb +285 -0
  258. data/lib/athenian/models/calculated_code_check_histogram.rb +318 -0
  259. data/lib/athenian/models/calculated_code_check_metrics.rb +386 -0
  260. data/lib/athenian/models/calculated_code_check_metrics_item.rb +291 -0
  261. data/lib/athenian/models/calculated_deployment_metric.rb +268 -0
  262. data/lib/athenian/models/calculated_developer_metrics.rb +340 -0
  263. data/lib/athenian/models/calculated_developer_metrics_item.rb +252 -0
  264. data/lib/athenian/models/calculated_jira_histogram.rb +313 -0
  265. data/lib/athenian/models/calculated_jira_metric_values.rb +266 -0
  266. data/lib/athenian/models/calculated_linear_metric_values.rb +273 -0
  267. data/lib/athenian/models/calculated_linear_metric_values_confidence_mins_inner.rb +101 -0
  268. data/lib/athenian/models/calculated_linear_metric_values_values_inner.rb +102 -0
  269. data/lib/athenian/models/calculated_pull_request_histogram.rb +318 -0
  270. data/lib/athenian/models/calculated_pull_request_histogram_frequencies_inner.rb +101 -0
  271. data/lib/athenian/models/calculated_pull_request_metrics.rb +391 -0
  272. data/lib/athenian/models/calculated_pull_request_metrics_item.rb +247 -0
  273. data/lib/athenian/models/calculated_release_metric.rb +301 -0
  274. data/lib/athenian/models/code_bypassing_prs_measurement.rb +357 -0
  275. data/lib/athenian/models/code_check_histogram_definition.rb +303 -0
  276. data/lib/athenian/models/code_check_histograms_request.rb +365 -0
  277. data/lib/athenian/models/code_check_metric_id.rb +55 -0
  278. data/lib/athenian/models/code_check_metrics_request.rb +401 -0
  279. data/lib/athenian/models/code_check_run_statistics.rb +448 -0
  280. data/lib/athenian/models/code_check_run_statistics_mean_execution_time.rb +224 -0
  281. data/lib/athenian/models/code_check_run_statistics_median_execution_time.rb +224 -0
  282. data/lib/athenian/models/code_check_run_statistics_stddev_execution_time.rb +224 -0
  283. data/lib/athenian/models/code_filter.rb +351 -0
  284. data/lib/athenian/models/commit.rb +405 -0
  285. data/lib/athenian/models/commit_signature.rb +266 -0
  286. data/lib/athenian/models/commits_list.rb +236 -0
  287. data/lib/athenian/models/commits_list_include.rb +242 -0
  288. data/lib/athenian/models/contributor.rb +261 -0
  289. data/lib/athenian/models/contributor_identity.rb +230 -0
  290. data/lib/athenian/models/create_token_request.rb +235 -0
  291. data/lib/athenian/models/created_identifier.rb +220 -0
  292. data/lib/athenian/models/created_token.rb +236 -0
  293. data/lib/athenian/models/datasource.rb +37 -0
  294. data/lib/athenian/models/delete_events_cache_request.rb +277 -0
  295. data/lib/athenian/models/deployed_component.rb +255 -0
  296. data/lib/athenian/models/deployed_pull_request.rb +326 -0
  297. data/lib/athenian/models/deployed_pull_request_all_of.rb +220 -0
  298. data/lib/athenian/models/deployed_release.rb +488 -0
  299. data/lib/athenian/models/deployment_analysis.rb +244 -0
  300. data/lib/athenian/models/deployment_analysis_code.rb +303 -0
  301. data/lib/athenian/models/deployment_conclusion.rb +38 -0
  302. data/lib/athenian/models/deployment_metric_id.rb +52 -0
  303. data/lib/athenian/models/deployment_metrics_request.rb +391 -0
  304. data/lib/athenian/models/deployment_modify_labels_request.rb +227 -0
  305. data/lib/athenian/models/deployment_notification.rb +390 -0
  306. data/lib/athenian/models/deployment_with.rb +233 -0
  307. data/lib/athenian/models/developer_metric_id.rb +51 -0
  308. data/lib/athenian/models/developer_metrics_request.rb +355 -0
  309. data/lib/athenian/models/developer_summary.rb +271 -0
  310. data/lib/athenian/models/developer_updates.rb +356 -0
  311. data/lib/athenian/models/diff_releases_request.rb +237 -0
  312. data/lib/athenian/models/diffed_releases.rb +237 -0
  313. data/lib/athenian/models/diffed_releases_include.rb +242 -0
  314. data/lib/athenian/models/filter_code_checks_request.rb +356 -0
  315. data/lib/athenian/models/filter_commits_request.rb +385 -0
  316. data/lib/athenian/models/filter_contributors_request.rb +331 -0
  317. data/lib/athenian/models/filter_deployments_request.rb +383 -0
  318. data/lib/athenian/models/filter_environments_request.rb +294 -0
  319. data/lib/athenian/models/filter_jira_common.rb +318 -0
  320. data/lib/athenian/models/filter_jira_stuff.rb +373 -0
  321. data/lib/athenian/models/filter_jira_stuff_with.rb +248 -0
  322. data/lib/athenian/models/filter_labels_request.rb +233 -0
  323. data/lib/athenian/models/filter_pull_requests_request.rb +456 -0
  324. data/lib/athenian/models/filter_releases_request.rb +339 -0
  325. data/lib/athenian/models/filter_repositories_request.rb +307 -0
  326. data/lib/athenian/models/filtered_code_check_run.rb +306 -0
  327. data/lib/athenian/models/filtered_code_check_run_prs_stats.rb +454 -0
  328. data/lib/athenian/models/filtered_code_check_run_total_stats.rb +454 -0
  329. data/lib/athenian/models/filtered_code_check_runs.rb +240 -0
  330. data/lib/athenian/models/filtered_deployment.rb +436 -0
  331. data/lib/athenian/models/filtered_deployments.rb +237 -0
  332. data/lib/athenian/models/filtered_deployments_include.rb +243 -0
  333. data/lib/athenian/models/filtered_environment.rb +283 -0
  334. data/lib/athenian/models/filtered_jira_stuff.rb +334 -0
  335. data/lib/athenian/models/filtered_label.rb +298 -0
  336. data/lib/athenian/models/filtered_release.rb +483 -0
  337. data/lib/athenian/models/for_set_code_checks.rb +334 -0
  338. data/lib/athenian/models/for_set_code_checks_jira.rb +306 -0
  339. data/lib/athenian/models/for_set_deployments.rb +343 -0
  340. data/lib/athenian/models/for_set_developers.rb +288 -0
  341. data/lib/athenian/models/for_set_pull_requests.rb +371 -0
  342. data/lib/athenian/models/generic_error.rb +270 -0
  343. data/lib/athenian/models/get_deployment_labels200_response.rb +220 -0
  344. data/lib/athenian/models/get_jira_issues_include.rb +39 -0
  345. data/lib/athenian/models/get_jira_issues_request.rb +269 -0
  346. data/lib/athenian/models/get_jira_issues_response.rb +231 -0
  347. data/lib/athenian/models/get_jira_issues_response_include.rb +229 -0
  348. data/lib/athenian/models/get_pull_requests_request.rb +284 -0
  349. data/lib/athenian/models/get_releases_request.rb +238 -0
  350. data/lib/athenian/models/goal_metric_params.rb +215 -0
  351. data/lib/athenian/models/goal_metric_params_threshold.rb +101 -0
  352. data/lib/athenian/models/goal_template.rb +305 -0
  353. data/lib/athenian/models/goal_template_create_request.rb +290 -0
  354. data/lib/athenian/models/goal_template_metric.rb +102 -0
  355. data/lib/athenian/models/goal_template_update_request.rb +275 -0
  356. data/lib/athenian/models/histogram_scale.rb +37 -0
  357. data/lib/athenian/models/included_deployments.rb +218 -0
  358. data/lib/athenian/models/included_jira_issues.rb +218 -0
  359. data/lib/athenian/models/included_native_user.rb +220 -0
  360. data/lib/athenian/models/included_native_users.rb +223 -0
  361. data/lib/athenian/models/installation_progress.rb +283 -0
  362. data/lib/athenian/models/interquartile.rb +234 -0
  363. data/lib/athenian/models/invalid_request_error.rb +288 -0
  364. data/lib/athenian/models/invalid_request_error_all_of.rb +215 -0
  365. data/lib/athenian/models/invitation_check_result.rb +274 -0
  366. data/lib/athenian/models/invitation_link.rb +221 -0
  367. data/lib/athenian/models/invited_user.rb +235 -0
  368. data/lib/athenian/models/jira_comment.rb +250 -0
  369. data/lib/athenian/models/jira_epic.rb +487 -0
  370. data/lib/athenian/models/jira_epic_all_of.rb +247 -0
  371. data/lib/athenian/models/jira_epic_child.rb +475 -0
  372. data/lib/athenian/models/jira_epic_child_all_of.rb +235 -0
  373. data/lib/athenian/models/jira_epic_issue_common.rb +437 -0
  374. data/lib/athenian/models/jira_filter.rb +300 -0
  375. data/lib/athenian/models/jira_filter_return.rb +44 -0
  376. data/lib/athenian/models/jira_filter_with.rb +242 -0
  377. data/lib/athenian/models/jira_histogram_definition.rb +303 -0
  378. data/lib/athenian/models/jira_histograms_request.rb +436 -0
  379. data/lib/athenian/models/jira_installation.rb +238 -0
  380. data/lib/athenian/models/jira_issue.rb +471 -0
  381. data/lib/athenian/models/jira_issue_all_of.rb +232 -0
  382. data/lib/athenian/models/jira_issue_type.rb +330 -0
  383. data/lib/athenian/models/jira_label.rb +260 -0
  384. data/lib/athenian/models/jira_metric_id.rb +48 -0
  385. data/lib/athenian/models/jira_metrics_request.rb +495 -0
  386. data/lib/athenian/models/jira_priority.rb +306 -0
  387. data/lib/athenian/models/jira_project.rb +307 -0
  388. data/lib/athenian/models/jira_projects_request.rb +238 -0
  389. data/lib/athenian/models/jira_status.rb +272 -0
  390. data/lib/athenian/models/jira_status_category.rb +39 -0
  391. data/lib/athenian/models/jira_user.rb +294 -0
  392. data/lib/athenian/models/linked_jira_issue.rb +273 -0
  393. data/lib/athenian/models/listed_token.rb +251 -0
  394. data/lib/athenian/models/logical_deployment_rules.rb +228 -0
  395. data/lib/athenian/models/logical_pr_rules.rb +228 -0
  396. data/lib/athenian/models/logical_repository.rb +303 -0
  397. data/lib/athenian/models/logical_repository_get_request.rb +236 -0
  398. data/lib/athenian/models/logical_repository_request.rb +318 -0
  399. data/lib/athenian/models/mapped_jira_identity.rb +289 -0
  400. data/lib/athenian/models/mapped_jira_identity_change.rb +232 -0
  401. data/lib/athenian/models/match_identities_request.rb +237 -0
  402. data/lib/athenian/models/matched_identity.rb +277 -0
  403. data/lib/athenian/models/matched_identity_to.rb +224 -0
  404. data/lib/athenian/models/notified_deployments_inner.rb +235 -0
  405. data/lib/athenian/models/notify_deployments200_response.rb +222 -0
  406. data/lib/athenian/models/organization.rb +248 -0
  407. data/lib/athenian/models/paginate_pull_requests_request.rb +254 -0
  408. data/lib/athenian/models/patch_token_request.rb +216 -0
  409. data/lib/athenian/models/product_feature.rb +234 -0
  410. data/lib/athenian/models/product_feature_parameters.rb +102 -0
  411. data/lib/athenian/models/pull_request.rb +727 -0
  412. data/lib/athenian/models/pull_request_event.rb +45 -0
  413. data/lib/athenian/models/pull_request_histogram_definition.rb +303 -0
  414. data/lib/athenian/models/pull_request_histograms_request.rb +380 -0
  415. data/lib/athenian/models/pull_request_label.rb +265 -0
  416. data/lib/athenian/models/pull_request_metric_id.rb +105 -0
  417. data/lib/athenian/models/pull_request_metrics_request.rb +416 -0
  418. data/lib/athenian/models/pull_request_numbers.rb +237 -0
  419. data/lib/athenian/models/pull_request_pagination_plan.rb +218 -0
  420. data/lib/athenian/models/pull_request_participant.rb +259 -0
  421. data/lib/athenian/models/pull_request_set.rb +237 -0
  422. data/lib/athenian/models/pull_request_set_include.rb +242 -0
  423. data/lib/athenian/models/pull_request_stage.rb +43 -0
  424. data/lib/athenian/models/pull_request_with.rb +290 -0
  425. data/lib/athenian/models/release_diff.rb +251 -0
  426. data/lib/athenian/models/release_match_request.rb +304 -0
  427. data/lib/athenian/models/release_match_setting.rb +292 -0
  428. data/lib/athenian/models/release_match_strategy.rb +39 -0
  429. data/lib/athenian/models/release_metric_id.rb +60 -0
  430. data/lib/athenian/models/release_metrics_request.rb +448 -0
  431. data/lib/athenian/models/release_metrics_request_for_inner.rb +101 -0
  432. data/lib/athenian/models/release_names.rb +238 -0
  433. data/lib/athenian/models/release_notification.rb +322 -0
  434. data/lib/athenian/models/release_notification_status.rb +38 -0
  435. data/lib/athenian/models/release_pair.rb +236 -0
  436. data/lib/athenian/models/release_set.rb +227 -0
  437. data/lib/athenian/models/release_set_include.rb +255 -0
  438. data/lib/athenian/models/release_with.rb +233 -0
  439. data/lib/athenian/models/released_pull_request.rb +303 -0
  440. data/lib/athenian/models/released_pull_request_author.rb +224 -0
  441. data/lib/athenian/models/repository_set_create_request.rb +252 -0
  442. data/lib/athenian/models/repository_set_list_item.rb +271 -0
  443. data/lib/athenian/models/repository_set_with_name.rb +235 -0
  444. data/lib/athenian/models/set_mapped_jira_identities_request.rb +238 -0
  445. data/lib/athenian/models/share.rb +251 -0
  446. data/lib/athenian/models/stage_timings.rb +335 -0
  447. data/lib/athenian/models/table_fetching_progress.rb +289 -0
  448. data/lib/athenian/models/team.rb +264 -0
  449. data/lib/athenian/models/team_create_request.rb +264 -0
  450. data/lib/athenian/models/team_update_request.rb +249 -0
  451. data/lib/athenian/models/user.rb +313 -0
  452. data/lib/athenian/models/versions.rb +233 -0
  453. data/lib/athenian/models/with_both_jira_and_jiragroups.rb +226 -0
  454. data/lib/athenian/models/work_type.rb +292 -0
  455. data/lib/athenian/models/work_type_get_request.rb +255 -0
  456. data/lib/athenian/models/work_type_put_request.rb +235 -0
  457. data/lib/athenian/models/work_type_rule.rb +255 -0
  458. data/lib/athenian/version.rb +12 -0
  459. data/lib/athenian.rb +255 -0
  460. data/spec/api/align_api_spec.rb +89 -0
  461. data/spec/api/events_api_spec.rb +88 -0
  462. data/spec/api/filter_api_spec.rb +153 -0
  463. data/spec/api/get_api_spec.rb +76 -0
  464. data/spec/api/histograms_api_spec.rb +65 -0
  465. data/spec/api/integrations_api_spec.rb +55 -0
  466. data/spec/api/metrics_api_spec.rb +109 -0
  467. data/spec/api/pagination_api_spec.rb +43 -0
  468. data/spec/api/registration_api_spec.rb +98 -0
  469. data/spec/api/reposet_api_spec.rb +88 -0
  470. data/spec/api/security_api_spec.rb +77 -0
  471. data/spec/api/settings_api_spec.rb +175 -0
  472. data/spec/api/team_api_spec.rb +100 -0
  473. data/spec/api/user_api_spec.rb +97 -0
  474. data/spec/api/version_api_spec.rb +42 -0
  475. data/spec/api_client_spec.rb +225 -0
  476. data/spec/configuration_spec.rb +39 -0
  477. data/spec/models/accepted_invitation_spec.rb +43 -0
  478. data/spec/models/account_spec.rb +55 -0
  479. data/spec/models/account_status_spec.rb +55 -0
  480. data/spec/models/account_user_change_request_spec.rb +47 -0
  481. data/spec/models/calculated_code_check_histogram_spec.rb +61 -0
  482. data/spec/models/calculated_code_check_metrics_item_spec.rb +55 -0
  483. data/spec/models/calculated_code_check_metrics_spec.rb +73 -0
  484. data/spec/models/calculated_deployment_metric_spec.rb +49 -0
  485. data/spec/models/calculated_developer_metrics_item_spec.rb +43 -0
  486. data/spec/models/calculated_developer_metrics_spec.rb +61 -0
  487. data/spec/models/calculated_jira_histogram_spec.rb +61 -0
  488. data/spec/models/calculated_jira_metric_values_spec.rb +55 -0
  489. data/spec/models/calculated_linear_metric_values_confidence_mins_inner_spec.rb +28 -0
  490. data/spec/models/calculated_linear_metric_values_spec.rb +55 -0
  491. data/spec/models/calculated_linear_metric_values_values_inner_spec.rb +28 -0
  492. data/spec/models/calculated_pull_request_histogram_frequencies_inner_spec.rb +28 -0
  493. data/spec/models/calculated_pull_request_histogram_spec.rb +61 -0
  494. data/spec/models/calculated_pull_request_metrics_item_spec.rb +43 -0
  495. data/spec/models/calculated_pull_request_metrics_spec.rb +73 -0
  496. data/spec/models/calculated_release_metric_spec.rb +67 -0
  497. data/spec/models/code_bypassing_prs_measurement_spec.rb +55 -0
  498. data/spec/models/code_check_histogram_definition_spec.rb +49 -0
  499. data/spec/models/code_check_histograms_request_spec.rb +73 -0
  500. data/spec/models/code_check_metric_id_spec.rb +25 -0
  501. data/spec/models/code_check_metrics_request_spec.rb +79 -0
  502. data/spec/models/code_check_run_statistics_mean_execution_time_spec.rb +25 -0
  503. data/spec/models/code_check_run_statistics_median_execution_time_spec.rb +25 -0
  504. data/spec/models/code_check_run_statistics_spec.rb +97 -0
  505. data/spec/models/code_check_run_statistics_stddev_execution_time_spec.rb +25 -0
  506. data/spec/models/code_filter_spec.rb +79 -0
  507. data/spec/models/commit_signature_spec.rb +55 -0
  508. data/spec/models/commit_spec.rb +85 -0
  509. data/spec/models/commits_list_include_spec.rb +37 -0
  510. data/spec/models/commits_list_spec.rb +37 -0
  511. data/spec/models/contributor_identity_spec.rb +37 -0
  512. data/spec/models/contributor_spec.rb +55 -0
  513. data/spec/models/create_token_request_spec.rb +37 -0
  514. data/spec/models/created_identifier_spec.rb +31 -0
  515. data/spec/models/created_token_spec.rb +37 -0
  516. data/spec/models/datasource_spec.rb +25 -0
  517. data/spec/models/delete_events_cache_request_spec.rb +47 -0
  518. data/spec/models/deployed_component_spec.rb +37 -0
  519. data/spec/models/deployed_pull_request_all_of_spec.rb +31 -0
  520. data/spec/models/deployed_pull_request_spec.rb +73 -0
  521. data/spec/models/deployed_release_spec.rb +97 -0
  522. data/spec/models/deployment_analysis_code_spec.rb +61 -0
  523. data/spec/models/deployment_analysis_spec.rb +43 -0
  524. data/spec/models/deployment_conclusion_spec.rb +25 -0
  525. data/spec/models/deployment_metric_id_spec.rb +25 -0
  526. data/spec/models/deployment_metrics_request_spec.rb +73 -0
  527. data/spec/models/deployment_modify_labels_request_spec.rb +37 -0
  528. data/spec/models/deployment_notification_spec.rb +73 -0
  529. data/spec/models/deployment_with_spec.rb +43 -0
  530. data/spec/models/developer_metric_id_spec.rb +25 -0
  531. data/spec/models/developer_metrics_request_spec.rb +67 -0
  532. data/spec/models/developer_summary_spec.rb +55 -0
  533. data/spec/models/developer_updates_spec.rb +61 -0
  534. data/spec/models/diff_releases_request_spec.rb +37 -0
  535. data/spec/models/diffed_releases_include_spec.rb +37 -0
  536. data/spec/models/diffed_releases_spec.rb +37 -0
  537. data/spec/models/filter_code_checks_request_spec.rb +85 -0
  538. data/spec/models/filter_commits_request_spec.rb +83 -0
  539. data/spec/models/filter_contributors_request_spec.rb +65 -0
  540. data/spec/models/filter_deployments_request_spec.rb +103 -0
  541. data/spec/models/filter_environments_request_spec.rb +55 -0
  542. data/spec/models/filter_jira_common_spec.rb +67 -0
  543. data/spec/models/filter_jira_stuff_spec.rb +97 -0
  544. data/spec/models/filter_jira_stuff_with_spec.rb +43 -0
  545. data/spec/models/filter_labels_request_spec.rb +37 -0
  546. data/spec/models/filter_pull_requests_request_spec.rb +121 -0
  547. data/spec/models/filter_releases_request_spec.rb +79 -0
  548. data/spec/models/filter_repositories_request_spec.rb +61 -0
  549. data/spec/models/filtered_code_check_run_prs_stats_spec.rb +97 -0
  550. data/spec/models/filtered_code_check_run_spec.rb +67 -0
  551. data/spec/models/filtered_code_check_run_total_stats_spec.rb +97 -0
  552. data/spec/models/filtered_code_check_runs_spec.rb +37 -0
  553. data/spec/models/filtered_deployment_spec.rb +91 -0
  554. data/spec/models/filtered_deployments_include_spec.rb +37 -0
  555. data/spec/models/filtered_deployments_spec.rb +37 -0
  556. data/spec/models/filtered_environment_spec.rb +49 -0
  557. data/spec/models/filtered_jira_stuff_spec.rb +73 -0
  558. data/spec/models/filtered_label_spec.rb +49 -0
  559. data/spec/models/filtered_release_spec.rb +103 -0
  560. data/spec/models/for_set_code_checks_jira_spec.rb +73 -0
  561. data/spec/models/for_set_code_checks_spec.rb +73 -0
  562. data/spec/models/for_set_deployments_spec.rb +91 -0
  563. data/spec/models/for_set_developers_spec.rb +67 -0
  564. data/spec/models/for_set_pull_requests_spec.rb +85 -0
  565. data/spec/models/generic_error_spec.rb +55 -0
  566. data/spec/models/get_deployment_labels200_response_spec.rb +31 -0
  567. data/spec/models/get_jira_issues_include_spec.rb +25 -0
  568. data/spec/models/get_jira_issues_request_spec.rb +43 -0
  569. data/spec/models/get_jira_issues_response_include_spec.rb +37 -0
  570. data/spec/models/get_jira_issues_response_spec.rb +37 -0
  571. data/spec/models/get_pull_requests_request_spec.rb +43 -0
  572. data/spec/models/get_releases_request_spec.rb +37 -0
  573. data/spec/models/goal_metric_params_spec.rb +31 -0
  574. data/spec/models/goal_metric_params_threshold_spec.rb +28 -0
  575. data/spec/models/goal_template_create_request_spec.rb +55 -0
  576. data/spec/models/goal_template_metric_spec.rb +28 -0
  577. data/spec/models/goal_template_spec.rb +61 -0
  578. data/spec/models/goal_template_update_request_spec.rb +49 -0
  579. data/spec/models/histogram_scale_spec.rb +25 -0
  580. data/spec/models/included_deployments_spec.rb +31 -0
  581. data/spec/models/included_jira_issues_spec.rb +31 -0
  582. data/spec/models/included_native_user_spec.rb +31 -0
  583. data/spec/models/included_native_users_spec.rb +31 -0
  584. data/spec/models/installation_progress_spec.rb +55 -0
  585. data/spec/models/interquartile_spec.rb +37 -0
  586. data/spec/models/invalid_request_error_all_of_spec.rb +31 -0
  587. data/spec/models/invalid_request_error_spec.rb +61 -0
  588. data/spec/models/invitation_check_result_spec.rb +47 -0
  589. data/spec/models/invitation_link_spec.rb +31 -0
  590. data/spec/models/invited_user_spec.rb +37 -0
  591. data/spec/models/jira_comment_spec.rb +43 -0
  592. data/spec/models/jira_epic_all_of_spec.rb +43 -0
  593. data/spec/models/jira_epic_child_all_of_spec.rb +37 -0
  594. data/spec/models/jira_epic_child_spec.rb +145 -0
  595. data/spec/models/jira_epic_issue_common_spec.rb +133 -0
  596. data/spec/models/jira_epic_spec.rb +151 -0
  597. data/spec/models/jira_filter_return_spec.rb +25 -0
  598. data/spec/models/jira_filter_spec.rb +73 -0
  599. data/spec/models/jira_filter_with_spec.rb +43 -0
  600. data/spec/models/jira_histogram_definition_spec.rb +49 -0
  601. data/spec/models/jira_histograms_request_spec.rb +109 -0
  602. data/spec/models/jira_installation_spec.rb +37 -0
  603. data/spec/models/jira_issue_all_of_spec.rb +37 -0
  604. data/spec/models/jira_issue_spec.rb +145 -0
  605. data/spec/models/jira_issue_type_spec.rb +67 -0
  606. data/spec/models/jira_label_spec.rb +49 -0
  607. data/spec/models/jira_metric_id_spec.rb +25 -0
  608. data/spec/models/jira_metrics_request_spec.rb +127 -0
  609. data/spec/models/jira_priority_spec.rb +49 -0
  610. data/spec/models/jira_project_spec.rb +67 -0
  611. data/spec/models/jira_projects_request_spec.rb +37 -0
  612. data/spec/models/jira_status_category_spec.rb +25 -0
  613. data/spec/models/jira_status_spec.rb +43 -0
  614. data/spec/models/jira_user_spec.rb +53 -0
  615. data/spec/models/linked_jira_issue_spec.rb +55 -0
  616. data/spec/models/listed_token_spec.rb +43 -0
  617. data/spec/models/logical_deployment_rules_spec.rb +37 -0
  618. data/spec/models/logical_pr_rules_spec.rb +37 -0
  619. data/spec/models/logical_repository_get_request_spec.rb +37 -0
  620. data/spec/models/logical_repository_request_spec.rb +61 -0
  621. data/spec/models/logical_repository_spec.rb +55 -0
  622. data/spec/models/mapped_jira_identity_change_spec.rb +37 -0
  623. data/spec/models/mapped_jira_identity_spec.rb +49 -0
  624. data/spec/models/match_identities_request_spec.rb +37 -0
  625. data/spec/models/matched_identity_spec.rb +43 -0
  626. data/spec/models/matched_identity_to_spec.rb +25 -0
  627. data/spec/models/notified_deployments_inner_spec.rb +37 -0
  628. data/spec/models/notify_deployments200_response_spec.rb +31 -0
  629. data/spec/models/organization_spec.rb +43 -0
  630. data/spec/models/paginate_pull_requests_request_spec.rb +37 -0
  631. data/spec/models/patch_token_request_spec.rb +31 -0
  632. data/spec/models/product_feature_parameters_spec.rb +28 -0
  633. data/spec/models/product_feature_spec.rb +37 -0
  634. data/spec/models/pull_request_event_spec.rb +25 -0
  635. data/spec/models/pull_request_histogram_definition_spec.rb +49 -0
  636. data/spec/models/pull_request_histograms_request_spec.rb +79 -0
  637. data/spec/models/pull_request_label_spec.rb +43 -0
  638. data/spec/models/pull_request_metric_id_spec.rb +25 -0
  639. data/spec/models/pull_request_metrics_request_spec.rb +85 -0
  640. data/spec/models/pull_request_numbers_spec.rb +37 -0
  641. data/spec/models/pull_request_pagination_plan_spec.rb +31 -0
  642. data/spec/models/pull_request_participant_spec.rb +41 -0
  643. data/spec/models/pull_request_set_include_spec.rb +37 -0
  644. data/spec/models/pull_request_set_spec.rb +37 -0
  645. data/spec/models/pull_request_spec.rb +199 -0
  646. data/spec/models/pull_request_stage_spec.rb +25 -0
  647. data/spec/models/pull_request_with_spec.rb +67 -0
  648. data/spec/models/release_diff_spec.rb +43 -0
  649. data/spec/models/release_match_request_spec.rb +61 -0
  650. data/spec/models/release_match_setting_spec.rb +55 -0
  651. data/spec/models/release_match_strategy_spec.rb +25 -0
  652. data/spec/models/release_metric_id_spec.rb +25 -0
  653. data/spec/models/release_metrics_request_for_inner_spec.rb +28 -0
  654. data/spec/models/release_metrics_request_spec.rb +103 -0
  655. data/spec/models/release_names_spec.rb +37 -0
  656. data/spec/models/release_notification_spec.rb +61 -0
  657. data/spec/models/release_notification_status_spec.rb +25 -0
  658. data/spec/models/release_pair_spec.rb +37 -0
  659. data/spec/models/release_set_include_spec.rb +43 -0
  660. data/spec/models/release_set_spec.rb +37 -0
  661. data/spec/models/release_with_spec.rb +43 -0
  662. data/spec/models/released_pull_request_author_spec.rb +25 -0
  663. data/spec/models/released_pull_request_spec.rb +67 -0
  664. data/spec/models/repository_set_create_request_spec.rb +43 -0
  665. data/spec/models/repository_set_list_item_spec.rb +55 -0
  666. data/spec/models/repository_set_with_name_spec.rb +43 -0
  667. data/spec/models/set_mapped_jira_identities_request_spec.rb +37 -0
  668. data/spec/models/share_spec.rb +43 -0
  669. data/spec/models/stage_timings_spec.rb +55 -0
  670. data/spec/models/table_fetching_progress_spec.rb +43 -0
  671. data/spec/models/team_create_request_spec.rb +49 -0
  672. data/spec/models/team_spec.rb +49 -0
  673. data/spec/models/team_update_request_spec.rb +43 -0
  674. data/spec/models/user_spec.rb +79 -0
  675. data/spec/models/versions_spec.rb +37 -0
  676. data/spec/models/with_both_jira_and_jiragroups_spec.rb +37 -0
  677. data/spec/models/work_type_get_request_spec.rb +37 -0
  678. data/spec/models/work_type_put_request_spec.rb +37 -0
  679. data/spec/models/work_type_rule_spec.rb +37 -0
  680. data/spec/models/work_type_spec.rb +43 -0
  681. data/spec/spec_helper.rb +108 -0
  682. metadata +1000 -0
@@ -0,0 +1,727 @@
1
+ =begin
2
+ This is an automatically generated file. DO NOT EDIT.
3
+
4
+ Generated from version 2.1.81 of the OpenAPI specification at
5
+ https://github.com/athenianco/api-spec/releases/tag/2.1.81.
6
+ Generated by: https://openapi-generator.tech
7
+ OpenAPI Generator version: 6.4.0
8
+ =end
9
+
10
+ require 'date'
11
+ require 'time'
12
+
13
+ module Athenian
14
+ # Details of a pull request. All the attributes, stats and events correspond to \"today\", not `date_to`, *except for the PR stages `wip`, `reviewing`, `merging`, `releasing`*, which correspond to `date_to`.
15
+ class PullRequest
16
+ # PR is/was open in this repository.
17
+ attr_accessor :repository
18
+
19
+ # PR number.
20
+ attr_accessor :number
21
+
22
+ # Title of the PR.
23
+ attr_accessor :title
24
+
25
+ # Overall number of lines added.
26
+ attr_accessor :size_added
27
+
28
+ # Overall number of lines removed.
29
+ attr_accessor :size_removed
30
+
31
+ # Number of files changed in this PR.
32
+ attr_accessor :files_changed
33
+
34
+ # When this PR was created.
35
+ attr_accessor :created
36
+
37
+ # When this PR was last updated.
38
+ attr_accessor :updated
39
+
40
+ # When this PR was last closed.
41
+ attr_accessor :closed
42
+
43
+ # Number of *regular* (not review) comments in this PR.
44
+ attr_accessor :comments
45
+
46
+ # Number of commits in this PR.
47
+ attr_accessor :commits
48
+
49
+ # When was the first time the author of this PR requested a review.
50
+ attr_accessor :review_requested
51
+
52
+ # When the first review of this PR happened.
53
+ attr_accessor :first_review
54
+
55
+ # When this PR was approved.
56
+ attr_accessor :approved
57
+
58
+ # Number of review comments this PR received. A review comment is left at a specific line in a specific file. In other words: review summaries are *not* considered review comments; refer to `reviews`. Comments by the PR author are considered as `comments`, not as `review_comments`.
59
+ attr_accessor :review_comments
60
+
61
+ # Number of times this PR was reviewed. Reviews by the PR author are not taken into account.
62
+ attr_accessor :reviews
63
+
64
+ # When this PR was merged.
65
+ attr_accessor :merged
66
+
67
+ # PR was merged with these failed check runs.
68
+ attr_accessor :merged_with_failed_check_runs
69
+
70
+ # When this PR was released.
71
+ attr_accessor :released
72
+
73
+ # URL of the earliest release that includes this merged PR.
74
+ attr_accessor :release_url
75
+
76
+ # List of deployments that contain this PR.
77
+ attr_accessor :deployments
78
+
79
+ attr_accessor :stage_timings
80
+
81
+ # List of PR events which happened until `date_to`. `date_from` does not matter.
82
+ attr_accessor :events_time_machine
83
+
84
+ # List of PR stages as of `date_to` (normally, of length 1).
85
+ attr_accessor :stages_time_machine
86
+
87
+ # List of PR events that ever happened.
88
+ attr_accessor :events_now
89
+
90
+ # List of current PR stages (normally, of length 1).
91
+ attr_accessor :stages_now
92
+
93
+ # List of developers related to this PR.
94
+ attr_accessor :participants
95
+
96
+ # List of PR labels.
97
+ attr_accessor :labels
98
+
99
+ # List of linked JIRA issues.
100
+ attr_accessor :jira
101
+
102
+ # Attribute mapping from ruby-style variable name to JSON key.
103
+ def self.attribute_map
104
+ {
105
+ :'repository' => :'repository',
106
+ :'number' => :'number',
107
+ :'title' => :'title',
108
+ :'size_added' => :'size_added',
109
+ :'size_removed' => :'size_removed',
110
+ :'files_changed' => :'files_changed',
111
+ :'created' => :'created',
112
+ :'updated' => :'updated',
113
+ :'closed' => :'closed',
114
+ :'comments' => :'comments',
115
+ :'commits' => :'commits',
116
+ :'review_requested' => :'review_requested',
117
+ :'first_review' => :'first_review',
118
+ :'approved' => :'approved',
119
+ :'review_comments' => :'review_comments',
120
+ :'reviews' => :'reviews',
121
+ :'merged' => :'merged',
122
+ :'merged_with_failed_check_runs' => :'merged_with_failed_check_runs',
123
+ :'released' => :'released',
124
+ :'release_url' => :'release_url',
125
+ :'deployments' => :'deployments',
126
+ :'stage_timings' => :'stage_timings',
127
+ :'events_time_machine' => :'events_time_machine',
128
+ :'stages_time_machine' => :'stages_time_machine',
129
+ :'events_now' => :'events_now',
130
+ :'stages_now' => :'stages_now',
131
+ :'participants' => :'participants',
132
+ :'labels' => :'labels',
133
+ :'jira' => :'jira'
134
+ }
135
+ end
136
+
137
+ # Returns all the JSON keys this model knows about
138
+ def self.acceptable_attributes
139
+ attribute_map.values
140
+ end
141
+
142
+ # Attribute type mapping.
143
+ def self.openapi_types
144
+ {
145
+ :'repository' => :'String',
146
+ :'number' => :'Integer',
147
+ :'title' => :'String',
148
+ :'size_added' => :'Integer',
149
+ :'size_removed' => :'Integer',
150
+ :'files_changed' => :'Integer',
151
+ :'created' => :'Time',
152
+ :'updated' => :'Time',
153
+ :'closed' => :'Time',
154
+ :'comments' => :'Integer',
155
+ :'commits' => :'Integer',
156
+ :'review_requested' => :'Time',
157
+ :'first_review' => :'Time',
158
+ :'approved' => :'Time',
159
+ :'review_comments' => :'Integer',
160
+ :'reviews' => :'Integer',
161
+ :'merged' => :'Time',
162
+ :'merged_with_failed_check_runs' => :'Array<String>',
163
+ :'released' => :'Time',
164
+ :'release_url' => :'String',
165
+ :'deployments' => :'Array<String>',
166
+ :'stage_timings' => :'StageTimings',
167
+ :'events_time_machine' => :'Array<PullRequestEvent>',
168
+ :'stages_time_machine' => :'Array<PullRequestStage>',
169
+ :'events_now' => :'Array<PullRequestEvent>',
170
+ :'stages_now' => :'Array<PullRequestStage>',
171
+ :'participants' => :'Array<PullRequestParticipant>',
172
+ :'labels' => :'Array<PullRequestLabel>',
173
+ :'jira' => :'Array<LinkedJIRAIssue>'
174
+ }
175
+ end
176
+
177
+ # List of attributes with nullable: true
178
+ def self.openapi_nullable
179
+ Set.new([
180
+ ])
181
+ end
182
+
183
+ # Initializes the object
184
+ # @param [Hash] attributes Model attributes in the form of hash
185
+ def initialize(attributes = {})
186
+ if (!attributes.is_a?(Hash))
187
+ fail ArgumentError, 'The input argument (attributes) must be a hash in `Athenian::PullRequest` initialize method'
188
+ end
189
+
190
+ # check to see if the attribute exists and convert string to symbol for hash key
191
+ attributes = attributes.each_with_object({}) { |(k, v), h|
192
+ if (!self.class.attribute_map.key?(k.to_sym))
193
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Athenian::PullRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
194
+ end
195
+ h[k.to_sym] = v
196
+ }
197
+
198
+ if attributes.key?(:'repository')
199
+ self.repository = attributes[:'repository']
200
+ end
201
+
202
+ if attributes.key?(:'number')
203
+ self.number = attributes[:'number']
204
+ end
205
+
206
+ if attributes.key?(:'title')
207
+ self.title = attributes[:'title']
208
+ end
209
+
210
+ if attributes.key?(:'size_added')
211
+ self.size_added = attributes[:'size_added']
212
+ end
213
+
214
+ if attributes.key?(:'size_removed')
215
+ self.size_removed = attributes[:'size_removed']
216
+ end
217
+
218
+ if attributes.key?(:'files_changed')
219
+ self.files_changed = attributes[:'files_changed']
220
+ end
221
+
222
+ if attributes.key?(:'created')
223
+ self.created = attributes[:'created']
224
+ end
225
+
226
+ if attributes.key?(:'updated')
227
+ self.updated = attributes[:'updated']
228
+ end
229
+
230
+ if attributes.key?(:'closed')
231
+ self.closed = attributes[:'closed']
232
+ end
233
+
234
+ if attributes.key?(:'comments')
235
+ self.comments = attributes[:'comments']
236
+ end
237
+
238
+ if attributes.key?(:'commits')
239
+ self.commits = attributes[:'commits']
240
+ end
241
+
242
+ if attributes.key?(:'review_requested')
243
+ self.review_requested = attributes[:'review_requested']
244
+ end
245
+
246
+ if attributes.key?(:'first_review')
247
+ self.first_review = attributes[:'first_review']
248
+ end
249
+
250
+ if attributes.key?(:'approved')
251
+ self.approved = attributes[:'approved']
252
+ end
253
+
254
+ if attributes.key?(:'review_comments')
255
+ self.review_comments = attributes[:'review_comments']
256
+ end
257
+
258
+ if attributes.key?(:'reviews')
259
+ self.reviews = attributes[:'reviews']
260
+ end
261
+
262
+ if attributes.key?(:'merged')
263
+ self.merged = attributes[:'merged']
264
+ end
265
+
266
+ if attributes.key?(:'merged_with_failed_check_runs')
267
+ if (value = attributes[:'merged_with_failed_check_runs']).is_a?(Array)
268
+ self.merged_with_failed_check_runs = value
269
+ end
270
+ end
271
+
272
+ if attributes.key?(:'released')
273
+ self.released = attributes[:'released']
274
+ end
275
+
276
+ if attributes.key?(:'release_url')
277
+ self.release_url = attributes[:'release_url']
278
+ end
279
+
280
+ if attributes.key?(:'deployments')
281
+ if (value = attributes[:'deployments']).is_a?(Array)
282
+ self.deployments = value
283
+ end
284
+ end
285
+
286
+ if attributes.key?(:'stage_timings')
287
+ self.stage_timings = attributes[:'stage_timings']
288
+ end
289
+
290
+ if attributes.key?(:'events_time_machine')
291
+ if (value = attributes[:'events_time_machine']).is_a?(Array)
292
+ self.events_time_machine = value
293
+ end
294
+ end
295
+
296
+ if attributes.key?(:'stages_time_machine')
297
+ if (value = attributes[:'stages_time_machine']).is_a?(Array)
298
+ self.stages_time_machine = value
299
+ end
300
+ end
301
+
302
+ if attributes.key?(:'events_now')
303
+ if (value = attributes[:'events_now']).is_a?(Array)
304
+ self.events_now = value
305
+ end
306
+ end
307
+
308
+ if attributes.key?(:'stages_now')
309
+ if (value = attributes[:'stages_now']).is_a?(Array)
310
+ self.stages_now = value
311
+ end
312
+ end
313
+
314
+ if attributes.key?(:'participants')
315
+ if (value = attributes[:'participants']).is_a?(Array)
316
+ self.participants = value
317
+ end
318
+ end
319
+
320
+ if attributes.key?(:'labels')
321
+ if (value = attributes[:'labels']).is_a?(Array)
322
+ self.labels = value
323
+ end
324
+ end
325
+
326
+ if attributes.key?(:'jira')
327
+ if (value = attributes[:'jira']).is_a?(Array)
328
+ self.jira = value
329
+ end
330
+ end
331
+ end
332
+
333
+ # Show invalid properties with the reasons. Usually used together with valid?
334
+ # @return Array for valid properties with the reasons
335
+ def list_invalid_properties
336
+ invalid_properties = Array.new
337
+ if @repository.nil?
338
+ invalid_properties.push('invalid value for "repository", repository cannot be nil.')
339
+ end
340
+
341
+ if @number.nil?
342
+ invalid_properties.push('invalid value for "number", number cannot be nil.')
343
+ end
344
+
345
+ if @number < 1
346
+ invalid_properties.push('invalid value for "number", must be greater than or equal to 1.')
347
+ end
348
+
349
+ if @title.nil?
350
+ invalid_properties.push('invalid value for "title", title cannot be nil.')
351
+ end
352
+
353
+ if @size_added.nil?
354
+ invalid_properties.push('invalid value for "size_added", size_added cannot be nil.')
355
+ end
356
+
357
+ if @size_added < 0
358
+ invalid_properties.push('invalid value for "size_added", must be greater than or equal to 0.')
359
+ end
360
+
361
+ if @size_removed.nil?
362
+ invalid_properties.push('invalid value for "size_removed", size_removed cannot be nil.')
363
+ end
364
+
365
+ if @size_removed < 0
366
+ invalid_properties.push('invalid value for "size_removed", must be greater than or equal to 0.')
367
+ end
368
+
369
+ if @files_changed.nil?
370
+ invalid_properties.push('invalid value for "files_changed", files_changed cannot be nil.')
371
+ end
372
+
373
+ if @files_changed < 0
374
+ invalid_properties.push('invalid value for "files_changed", must be greater than or equal to 0.')
375
+ end
376
+
377
+ if @created.nil?
378
+ invalid_properties.push('invalid value for "created", created cannot be nil.')
379
+ end
380
+
381
+ if @updated.nil?
382
+ invalid_properties.push('invalid value for "updated", updated cannot be nil.')
383
+ end
384
+
385
+ if @comments.nil?
386
+ invalid_properties.push('invalid value for "comments", comments cannot be nil.')
387
+ end
388
+
389
+ if @comments < 0
390
+ invalid_properties.push('invalid value for "comments", must be greater than or equal to 0.')
391
+ end
392
+
393
+ if @commits.nil?
394
+ invalid_properties.push('invalid value for "commits", commits cannot be nil.')
395
+ end
396
+
397
+ if @commits < 0
398
+ invalid_properties.push('invalid value for "commits", must be greater than or equal to 0.')
399
+ end
400
+
401
+ if !@review_comments.nil? && @review_comments < 0
402
+ invalid_properties.push('invalid value for "review_comments", must be greater than or equal to 0.')
403
+ end
404
+
405
+ if !@reviews.nil? && @reviews < 0
406
+ invalid_properties.push('invalid value for "reviews", must be greater than or equal to 0.')
407
+ end
408
+
409
+ if @stage_timings.nil?
410
+ invalid_properties.push('invalid value for "stage_timings", stage_timings cannot be nil.')
411
+ end
412
+
413
+ if @events_now.nil?
414
+ invalid_properties.push('invalid value for "events_now", events_now cannot be nil.')
415
+ end
416
+
417
+ if @stages_now.nil?
418
+ invalid_properties.push('invalid value for "stages_now", stages_now cannot be nil.')
419
+ end
420
+
421
+ if @participants.nil?
422
+ invalid_properties.push('invalid value for "participants", participants cannot be nil.')
423
+ end
424
+
425
+ invalid_properties
426
+ end
427
+
428
+ # Check to see if the all the properties in the model are valid
429
+ # @return true if the model is valid
430
+ def valid?
431
+ return false if @repository.nil?
432
+ return false if @number.nil?
433
+ return false if @number < 1
434
+ return false if @title.nil?
435
+ return false if @size_added.nil?
436
+ return false if @size_added < 0
437
+ return false if @size_removed.nil?
438
+ return false if @size_removed < 0
439
+ return false if @files_changed.nil?
440
+ return false if @files_changed < 0
441
+ return false if @created.nil?
442
+ return false if @updated.nil?
443
+ return false if @comments.nil?
444
+ return false if @comments < 0
445
+ return false if @commits.nil?
446
+ return false if @commits < 0
447
+ return false if !@review_comments.nil? && @review_comments < 0
448
+ return false if !@reviews.nil? && @reviews < 0
449
+ return false if @stage_timings.nil?
450
+ return false if @events_now.nil?
451
+ return false if @stages_now.nil?
452
+ return false if @participants.nil?
453
+ true
454
+ end
455
+
456
+ # Custom attribute writer method with validation
457
+ # @param [Object] number Value to be assigned
458
+ def number=(number)
459
+ if number.nil?
460
+ fail ArgumentError, 'number cannot be nil'
461
+ end
462
+
463
+ if number < 1
464
+ fail ArgumentError, 'invalid value for "number", must be greater than or equal to 1.'
465
+ end
466
+
467
+ @number = number
468
+ end
469
+
470
+ # Custom attribute writer method with validation
471
+ # @param [Object] size_added Value to be assigned
472
+ def size_added=(size_added)
473
+ if size_added.nil?
474
+ fail ArgumentError, 'size_added cannot be nil'
475
+ end
476
+
477
+ if size_added < 0
478
+ fail ArgumentError, 'invalid value for "size_added", must be greater than or equal to 0.'
479
+ end
480
+
481
+ @size_added = size_added
482
+ end
483
+
484
+ # Custom attribute writer method with validation
485
+ # @param [Object] size_removed Value to be assigned
486
+ def size_removed=(size_removed)
487
+ if size_removed.nil?
488
+ fail ArgumentError, 'size_removed cannot be nil'
489
+ end
490
+
491
+ if size_removed < 0
492
+ fail ArgumentError, 'invalid value for "size_removed", must be greater than or equal to 0.'
493
+ end
494
+
495
+ @size_removed = size_removed
496
+ end
497
+
498
+ # Custom attribute writer method with validation
499
+ # @param [Object] files_changed Value to be assigned
500
+ def files_changed=(files_changed)
501
+ if files_changed.nil?
502
+ fail ArgumentError, 'files_changed cannot be nil'
503
+ end
504
+
505
+ if files_changed < 0
506
+ fail ArgumentError, 'invalid value for "files_changed", must be greater than or equal to 0.'
507
+ end
508
+
509
+ @files_changed = files_changed
510
+ end
511
+
512
+ # Custom attribute writer method with validation
513
+ # @param [Object] comments Value to be assigned
514
+ def comments=(comments)
515
+ if comments.nil?
516
+ fail ArgumentError, 'comments cannot be nil'
517
+ end
518
+
519
+ if comments < 0
520
+ fail ArgumentError, 'invalid value for "comments", must be greater than or equal to 0.'
521
+ end
522
+
523
+ @comments = comments
524
+ end
525
+
526
+ # Custom attribute writer method with validation
527
+ # @param [Object] commits Value to be assigned
528
+ def commits=(commits)
529
+ if commits.nil?
530
+ fail ArgumentError, 'commits cannot be nil'
531
+ end
532
+
533
+ if commits < 0
534
+ fail ArgumentError, 'invalid value for "commits", must be greater than or equal to 0.'
535
+ end
536
+
537
+ @commits = commits
538
+ end
539
+
540
+ # Custom attribute writer method with validation
541
+ # @param [Object] review_comments Value to be assigned
542
+ def review_comments=(review_comments)
543
+ if !review_comments.nil? && review_comments < 0
544
+ fail ArgumentError, 'invalid value for "review_comments", must be greater than or equal to 0.'
545
+ end
546
+
547
+ @review_comments = review_comments
548
+ end
549
+
550
+ # Custom attribute writer method with validation
551
+ # @param [Object] reviews Value to be assigned
552
+ def reviews=(reviews)
553
+ if !reviews.nil? && reviews < 0
554
+ fail ArgumentError, 'invalid value for "reviews", must be greater than or equal to 0.'
555
+ end
556
+
557
+ @reviews = reviews
558
+ end
559
+
560
+ # Checks equality by comparing each attribute.
561
+ # @param [Object] Object to be compared
562
+ def ==(o)
563
+ return true if self.equal?(o)
564
+ self.class == o.class &&
565
+ repository == o.repository &&
566
+ number == o.number &&
567
+ title == o.title &&
568
+ size_added == o.size_added &&
569
+ size_removed == o.size_removed &&
570
+ files_changed == o.files_changed &&
571
+ created == o.created &&
572
+ updated == o.updated &&
573
+ closed == o.closed &&
574
+ comments == o.comments &&
575
+ commits == o.commits &&
576
+ review_requested == o.review_requested &&
577
+ first_review == o.first_review &&
578
+ approved == o.approved &&
579
+ review_comments == o.review_comments &&
580
+ reviews == o.reviews &&
581
+ merged == o.merged &&
582
+ merged_with_failed_check_runs == o.merged_with_failed_check_runs &&
583
+ released == o.released &&
584
+ release_url == o.release_url &&
585
+ deployments == o.deployments &&
586
+ stage_timings == o.stage_timings &&
587
+ events_time_machine == o.events_time_machine &&
588
+ stages_time_machine == o.stages_time_machine &&
589
+ events_now == o.events_now &&
590
+ stages_now == o.stages_now &&
591
+ participants == o.participants &&
592
+ labels == o.labels &&
593
+ jira == o.jira
594
+ end
595
+
596
+ # @see the `==` method
597
+ # @param [Object] Object to be compared
598
+ def eql?(o)
599
+ self == o
600
+ end
601
+
602
+ # Calculates hash code according to all attributes.
603
+ # @return [Integer] Hash code
604
+ def hash
605
+ [repository, number, title, size_added, size_removed, files_changed, created, updated, closed, comments, commits, review_requested, first_review, approved, review_comments, reviews, merged, merged_with_failed_check_runs, released, release_url, deployments, stage_timings, events_time_machine, stages_time_machine, events_now, stages_now, participants, labels, jira].hash
606
+ end
607
+
608
+ # Builds the object from hash
609
+ # @param [Hash] attributes Model attributes in the form of hash
610
+ # @return [Object] Returns the model itself
611
+ def self.build_from_hash(attributes)
612
+ new.build_from_hash(attributes)
613
+ end
614
+
615
+ # Builds the object from hash
616
+ # @param [Hash] attributes Model attributes in the form of hash
617
+ # @return [Object] Returns the model itself
618
+ def build_from_hash(attributes)
619
+ return nil unless attributes.is_a?(Hash)
620
+ attributes = attributes.transform_keys(&:to_sym)
621
+ self.class.openapi_types.each_pair do |key, type|
622
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
623
+ self.send("#{key}=", nil)
624
+ elsif type =~ /\AArray<(.*)>/i
625
+ # check to ensure the input is an array given that the attribute
626
+ # is documented as an array but the input is not
627
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
628
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
629
+ end
630
+ elsif !attributes[self.class.attribute_map[key]].nil?
631
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
632
+ end
633
+ end
634
+
635
+ self
636
+ end
637
+
638
+ # Deserializes the data based on type
639
+ # @param string type Data type
640
+ # @param string value Value to be deserialized
641
+ # @return [Object] Deserialized data
642
+ def _deserialize(type, value)
643
+ case type.to_sym
644
+ when :Time
645
+ Time.parse(value)
646
+ when :Date
647
+ Date.parse(value)
648
+ when :String
649
+ value.to_s
650
+ when :Integer
651
+ value.to_i
652
+ when :Float
653
+ value.to_f
654
+ when :Boolean
655
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
656
+ true
657
+ else
658
+ false
659
+ end
660
+ when :Object
661
+ # generic object (usually a Hash), return directly
662
+ value
663
+ when /\AArray<(?<inner_type>.+)>\z/
664
+ inner_type = Regexp.last_match[:inner_type]
665
+ value.map { |v| _deserialize(inner_type, v) }
666
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
667
+ k_type = Regexp.last_match[:k_type]
668
+ v_type = Regexp.last_match[:v_type]
669
+ {}.tap do |hash|
670
+ value.each do |k, v|
671
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
672
+ end
673
+ end
674
+ else # model
675
+ # models (e.g. Pet) or oneOf
676
+ klass = Athenian.const_get(type)
677
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
678
+ end
679
+ end
680
+
681
+ # Returns the string representation of the object
682
+ # @return [String] String presentation of the object
683
+ def to_s
684
+ to_hash.to_s
685
+ end
686
+
687
+ # to_body is an alias to to_hash (backward compatibility)
688
+ # @return [Hash] Returns the object in the form of hash
689
+ def to_body
690
+ to_hash
691
+ end
692
+
693
+ # Returns the object in the form of hash
694
+ # @return [Hash] Returns the object in the form of hash
695
+ def to_hash
696
+ hash = {}
697
+ self.class.attribute_map.each_pair do |attr, param|
698
+ value = self.send(attr)
699
+ if value.nil?
700
+ is_nullable = self.class.openapi_nullable.include?(attr)
701
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
702
+ end
703
+
704
+ hash[param] = _to_hash(value)
705
+ end
706
+ hash
707
+ end
708
+
709
+ # Outputs non-array value in the form of hash
710
+ # For object, use to_hash. Otherwise, just return the value
711
+ # @param [Object] value Any valid value
712
+ # @return [Hash] Returns the value in the form of hash
713
+ def _to_hash(value)
714
+ if value.is_a?(Array)
715
+ value.compact.map { |v| _to_hash(v) }
716
+ elsif value.is_a?(Hash)
717
+ {}.tap do |hash|
718
+ value.each { |k, v| hash[k] = _to_hash(v) }
719
+ end
720
+ elsif value.respond_to? :to_hash
721
+ value.to_hash
722
+ else
723
+ value
724
+ end
725
+ end
726
+ end
727
+ end