shortcut_client_ruby 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (453) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +21 -0
  4. data/README.md +2303 -0
  5. data/Rakefile +8 -0
  6. data/bin/console +15 -0
  7. data/bin/setup +8 -0
  8. data/bin/update.rb +34 -0
  9. data/config.json +7 -0
  10. data/docs/BasicWorkspaceInfo.md +8 -0
  11. data/docs/Branch.md +17 -0
  12. data/docs/Category.md +15 -0
  13. data/docs/Commit.md +19 -0
  14. data/docs/CreateCategory.md +10 -0
  15. data/docs/CreateCategoryParams.md +9 -0
  16. data/docs/CreateCommentComment.md +11 -0
  17. data/docs/CreateEntityTemplate.md +9 -0
  18. data/docs/CreateEpic.md +23 -0
  19. data/docs/CreateEpicComment.md +11 -0
  20. data/docs/CreateGroup.md +14 -0
  21. data/docs/CreateIteration.md +13 -0
  22. data/docs/CreateLabelParams.md +10 -0
  23. data/docs/CreateLinkedFile.md +15 -0
  24. data/docs/CreateMilestone.md +12 -0
  25. data/docs/CreateOrDeleteStoryReaction.md +7 -0
  26. data/docs/CreateProject.md +17 -0
  27. data/docs/CreateStories.md +7 -0
  28. data/docs/CreateStoryComment.md +11 -0
  29. data/docs/CreateStoryCommentParams.md +11 -0
  30. data/docs/CreateStoryContents.md +27 -0
  31. data/docs/CreateStoryLink.md +9 -0
  32. data/docs/CreateStoryLinkParams.md +9 -0
  33. data/docs/CreateStoryParams.md +33 -0
  34. data/docs/CreateTask.md +12 -0
  35. data/docs/CreateTaskParams.md +12 -0
  36. data/docs/DefaultApi.md +5632 -0
  37. data/docs/DeleteStories.md +7 -0
  38. data/docs/EntityTemplate.md +14 -0
  39. data/docs/EntityTemplateTask.md +10 -0
  40. data/docs/Epic.md +44 -0
  41. data/docs/EpicSearchResults.md +10 -0
  42. data/docs/EpicSlim.md +43 -0
  43. data/docs/EpicState.md +15 -0
  44. data/docs/EpicStats.md +19 -0
  45. data/docs/EpicWorkflow.md +12 -0
  46. data/docs/GetEpicStories.md +7 -0
  47. data/docs/GetExternalLinkStoriesParams.md +7 -0
  48. data/docs/GetIterationStories.md +7 -0
  49. data/docs/GetLabelStories.md +7 -0
  50. data/docs/GetMember.md +7 -0
  51. data/docs/GetProjectStories.md +7 -0
  52. data/docs/Group.md +22 -0
  53. data/docs/History.md +15 -0
  54. data/docs/HistoryActionBranchCreate.md +11 -0
  55. data/docs/HistoryActionBranchMerge.md +11 -0
  56. data/docs/HistoryActionBranchPush.md +11 -0
  57. data/docs/HistoryActionLabelCreate.md +11 -0
  58. data/docs/HistoryActionLabelDelete.md +10 -0
  59. data/docs/HistoryActionLabelUpdate.md +9 -0
  60. data/docs/HistoryActionProjectUpdate.md +11 -0
  61. data/docs/HistoryActionPullRequest.md +12 -0
  62. data/docs/HistoryActionStoryCommentCreate.md +12 -0
  63. data/docs/HistoryActionStoryCreate.md +30 -0
  64. data/docs/HistoryActionStoryDelete.md +11 -0
  65. data/docs/HistoryActionStoryLinkCreate.md +12 -0
  66. data/docs/HistoryActionStoryLinkDelete.md +12 -0
  67. data/docs/HistoryActionStoryLinkUpdate.md +13 -0
  68. data/docs/HistoryActionStoryUpdate.md +13 -0
  69. data/docs/HistoryActionTaskCreate.md +15 -0
  70. data/docs/HistoryActionTaskDelete.md +10 -0
  71. data/docs/HistoryActionTaskUpdate.md +13 -0
  72. data/docs/HistoryChangesStory.md +30 -0
  73. data/docs/HistoryChangesStoryLink.md +9 -0
  74. data/docs/HistoryChangesTask.md +10 -0
  75. data/docs/HistoryReferenceBranch.md +10 -0
  76. data/docs/HistoryReferenceCommit.md +10 -0
  77. data/docs/HistoryReferenceEpic.md +10 -0
  78. data/docs/HistoryReferenceGeneral.md +9 -0
  79. data/docs/HistoryReferenceGroup.md +9 -0
  80. data/docs/HistoryReferenceIteration.md +10 -0
  81. data/docs/HistoryReferenceLabel.md +10 -0
  82. data/docs/HistoryReferenceProject.md +10 -0
  83. data/docs/HistoryReferenceStory.md +11 -0
  84. data/docs/HistoryReferenceStoryTask.md +9 -0
  85. data/docs/HistoryReferenceWorkflowState.md +10 -0
  86. data/docs/Icon.md +11 -0
  87. data/docs/Identity.md +9 -0
  88. data/docs/Iteration.md +24 -0
  89. data/docs/IterationSlim.md +23 -0
  90. data/docs/IterationStats.md +17 -0
  91. data/docs/Label.md +17 -0
  92. data/docs/LabelSlim.md +16 -0
  93. data/docs/LabelStats.md +21 -0
  94. data/docs/LinkedFile.md +22 -0
  95. data/docs/ListEpics.md +7 -0
  96. data/docs/ListGroupStories.md +8 -0
  97. data/docs/ListLabels.md +7 -0
  98. data/docs/ListMembers.md +7 -0
  99. data/docs/MaxSearchResultsExceededError.md +9 -0
  100. data/docs/Member.md +17 -0
  101. data/docs/MemberInfo.md +10 -0
  102. data/docs/Milestone.md +23 -0
  103. data/docs/MilestoneStats.md +9 -0
  104. data/docs/Profile.md +15 -0
  105. data/docs/Project.md +25 -0
  106. data/docs/ProjectStats.md +9 -0
  107. data/docs/PullRequest.md +28 -0
  108. data/docs/PullRequestLabel.md +11 -0
  109. data/docs/Repository.md +15 -0
  110. data/docs/Search.md +10 -0
  111. data/docs/SearchResults.md +8 -0
  112. data/docs/SearchStories.md +34 -0
  113. data/docs/Story.md +56 -0
  114. data/docs/StoryComment.md +20 -0
  115. data/docs/StoryContents.md +25 -0
  116. data/docs/StoryContentsTask.md +11 -0
  117. data/docs/StoryHistoryChangeAddsRemovesInt.md +8 -0
  118. data/docs/StoryHistoryChangeAddsRemovesUuid.md +8 -0
  119. data/docs/StoryHistoryChangeOldNewBool.md +8 -0
  120. data/docs/StoryHistoryChangeOldNewInt.md +8 -0
  121. data/docs/StoryHistoryChangeOldNewStr.md +8 -0
  122. data/docs/StoryHistoryChangeOldNewUuid.md +8 -0
  123. data/docs/StoryLink.md +14 -0
  124. data/docs/StoryReaction.md +8 -0
  125. data/docs/StorySearchResults.md +10 -0
  126. data/docs/StorySlim.md +54 -0
  127. data/docs/StoryStats.md +7 -0
  128. data/docs/Task.md +20 -0
  129. data/docs/ThreadedComment.md +19 -0
  130. data/docs/TypedStoryLink.md +15 -0
  131. data/docs/UnusableEntitlementError.md +9 -0
  132. data/docs/UpdateCategory.md +9 -0
  133. data/docs/UpdateComment.md +7 -0
  134. data/docs/UpdateEntityTemplate.md +8 -0
  135. data/docs/UpdateEpic.md +23 -0
  136. data/docs/UpdateFile.md +12 -0
  137. data/docs/UpdateGroup.md +15 -0
  138. data/docs/UpdateIteration.md +13 -0
  139. data/docs/UpdateLabel.md +10 -0
  140. data/docs/UpdateLinkedFile.md +14 -0
  141. data/docs/UpdateMilestone.md +14 -0
  142. data/docs/UpdateProject.md +15 -0
  143. data/docs/UpdateStories.md +27 -0
  144. data/docs/UpdateStory.md +32 -0
  145. data/docs/UpdateStoryComment.md +7 -0
  146. data/docs/UpdateStoryContents.md +27 -0
  147. data/docs/UpdateStoryLink.md +9 -0
  148. data/docs/UpdateTask.md +11 -0
  149. data/docs/UploadedFile.md +23 -0
  150. data/docs/V3FilesBody.md +11 -0
  151. data/docs/Workflow.md +17 -0
  152. data/docs/WorkflowState.md +18 -0
  153. data/git_push.sh +55 -0
  154. data/lib/shortcut/client/ruby/version.rb +9 -0
  155. data/lib/shortcut/client/ruby.rb +12 -0
  156. data/lib/shortcut_client_ruby/api/default_api.rb +6091 -0
  157. data/lib/shortcut_client_ruby/api_client.rb +388 -0
  158. data/lib/shortcut_client_ruby/api_error.rb +57 -0
  159. data/lib/shortcut_client_ruby/configuration.rb +205 -0
  160. data/lib/shortcut_client_ruby/models/basic_workspace_info.rb +227 -0
  161. data/lib/shortcut_client_ruby/models/branch.rb +371 -0
  162. data/lib/shortcut_client_ruby/models/category.rb +335 -0
  163. data/lib/shortcut_client_ruby/models/commit.rb +398 -0
  164. data/lib/shortcut_client_ruby/models/create_category.rb +281 -0
  165. data/lib/shortcut_client_ruby/models/create_category_params.rb +233 -0
  166. data/lib/shortcut_client_ruby/models/create_comment_comment.rb +252 -0
  167. data/lib/shortcut_client_ruby/models/create_entity_template.rb +237 -0
  168. data/lib/shortcut_client_ruby/models/create_epic.rb +416 -0
  169. data/lib/shortcut_client_ruby/models/create_epic_comment.rb +252 -0
  170. data/lib/shortcut_client_ruby/models/create_group.rb +325 -0
  171. data/lib/shortcut_client_ruby/models/create_iteration.rb +288 -0
  172. data/lib/shortcut_client_ruby/models/create_label_params.rb +243 -0
  173. data/lib/shortcut_client_ruby/models/create_linked_file.rb +336 -0
  174. data/lib/shortcut_client_ruby/models/create_milestone.rb +298 -0
  175. data/lib/shortcut_client_ruby/models/create_or_delete_story_reaction.rb +212 -0
  176. data/lib/shortcut_client_ruby/models/create_project.rb +319 -0
  177. data/lib/shortcut_client_ruby/models/create_stories.rb +214 -0
  178. data/lib/shortcut_client_ruby/models/create_story_comment.rb +252 -0
  179. data/lib/shortcut_client_ruby/models/create_story_comment_params.rb +253 -0
  180. data/lib/shortcut_client_ruby/models/create_story_contents.rb +433 -0
  181. data/lib/shortcut_client_ruby/models/create_story_link.rb +276 -0
  182. data/lib/shortcut_client_ruby/models/create_story_link_params.rb +267 -0
  183. data/lib/shortcut_client_ruby/models/create_story_params.rb +532 -0
  184. data/lib/shortcut_client_ruby/models/create_task.rb +264 -0
  185. data/lib/shortcut_client_ruby/models/create_task_params.rb +265 -0
  186. data/lib/shortcut_client_ruby/models/delete_stories.rb +214 -0
  187. data/lib/shortcut_client_ruby/models/entity_template.rb +317 -0
  188. data/lib/shortcut_client_ruby/models/entity_template_task.rb +245 -0
  189. data/lib/shortcut_client_ruby/models/epic.rb +799 -0
  190. data/lib/shortcut_client_ruby/models/epic_search_results.rb +257 -0
  191. data/lib/shortcut_client_ruby/models/epic_slim.rb +777 -0
  192. data/lib/shortcut_client_ruby/models/epic_state.rb +328 -0
  193. data/lib/shortcut_client_ruby/models/epic_stats.rb +384 -0
  194. data/lib/shortcut_client_ruby/models/epic_workflow.rb +290 -0
  195. data/lib/shortcut_client_ruby/models/get_epic_stories.rb +207 -0
  196. data/lib/shortcut_client_ruby/models/get_external_link_stories_params.rb +212 -0
  197. data/lib/shortcut_client_ruby/models/get_iteration_stories.rb +207 -0
  198. data/lib/shortcut_client_ruby/models/get_label_stories.rb +207 -0
  199. data/lib/shortcut_client_ruby/models/get_member.rb +207 -0
  200. data/lib/shortcut_client_ruby/models/get_project_stories.rb +207 -0
  201. data/lib/shortcut_client_ruby/models/group.rb +479 -0
  202. data/lib/shortcut_client_ruby/models/history.rb +347 -0
  203. data/lib/shortcut_client_ruby/models/history_action_branch_create.rb +307 -0
  204. data/lib/shortcut_client_ruby/models/history_action_branch_merge.rb +307 -0
  205. data/lib/shortcut_client_ruby/models/history_action_branch_push.rb +307 -0
  206. data/lib/shortcut_client_ruby/models/history_action_label_create.rb +307 -0
  207. data/lib/shortcut_client_ruby/models/history_action_label_delete.rb +292 -0
  208. data/lib/shortcut_client_ruby/models/history_action_label_update.rb +277 -0
  209. data/lib/shortcut_client_ruby/models/history_action_project_update.rb +307 -0
  210. data/lib/shortcut_client_ruby/models/history_action_pull_request.rb +322 -0
  211. data/lib/shortcut_client_ruby/models/history_action_story_comment_create.rb +322 -0
  212. data/lib/shortcut_client_ruby/models/history_action_story_create.rb +527 -0
  213. data/lib/shortcut_client_ruby/models/history_action_story_delete.rb +319 -0
  214. data/lib/shortcut_client_ruby/models/history_action_story_link_create.rb +334 -0
  215. data/lib/shortcut_client_ruby/models/history_action_story_link_delete.rb +336 -0
  216. data/lib/shortcut_client_ruby/models/history_action_story_link_update.rb +348 -0
  217. data/lib/shortcut_client_ruby/models/history_action_story_update.rb +343 -0
  218. data/lib/shortcut_client_ruby/models/history_action_task_create.rb +353 -0
  219. data/lib/shortcut_client_ruby/models/history_action_task_delete.rb +292 -0
  220. data/lib/shortcut_client_ruby/models/history_action_task_update.rb +331 -0
  221. data/lib/shortcut_client_ruby/models/history_changes_story.rb +414 -0
  222. data/lib/shortcut_client_ruby/models/history_changes_story_link.rb +225 -0
  223. data/lib/shortcut_client_ruby/models/history_changes_task.rb +234 -0
  224. data/lib/shortcut_client_ruby/models/history_reference_branch.rb +258 -0
  225. data/lib/shortcut_client_ruby/models/history_reference_commit.rb +258 -0
  226. data/lib/shortcut_client_ruby/models/history_reference_epic.rb +258 -0
  227. data/lib/shortcut_client_ruby/models/history_reference_general.rb +243 -0
  228. data/lib/shortcut_client_ruby/models/history_reference_group.rb +243 -0
  229. data/lib/shortcut_client_ruby/models/history_reference_iteration.rb +258 -0
  230. data/lib/shortcut_client_ruby/models/history_reference_label.rb +258 -0
  231. data/lib/shortcut_client_ruby/models/history_reference_project.rb +258 -0
  232. data/lib/shortcut_client_ruby/models/history_reference_story.rb +307 -0
  233. data/lib/shortcut_client_ruby/models/history_reference_story_task.rb +243 -0
  234. data/lib/shortcut_client_ruby/models/history_reference_workflow_state.rb +292 -0
  235. data/lib/shortcut_client_ruby/models/icon.rb +273 -0
  236. data/lib/shortcut_client_ruby/models/identity.rb +245 -0
  237. data/lib/shortcut_client_ruby/models/iteration.rb +481 -0
  238. data/lib/shortcut_client_ruby/models/iteration_slim.rb +466 -0
  239. data/lib/shortcut_client_ruby/models/iteration_stats.rb +353 -0
  240. data/lib/shortcut_client_ruby/models/label.rb +362 -0
  241. data/lib/shortcut_client_ruby/models/label_slim.rb +353 -0
  242. data/lib/shortcut_client_ruby/models/label_stats.rb +423 -0
  243. data/lib/shortcut_client_ruby/models/linked_file.rb +450 -0
  244. data/lib/shortcut_client_ruby/models/list_epics.rb +207 -0
  245. data/lib/shortcut_client_ruby/models/list_group_stories.rb +217 -0
  246. data/lib/shortcut_client_ruby/models/list_labels.rb +207 -0
  247. data/lib/shortcut_client_ruby/models/list_members.rb +207 -0
  248. data/lib/shortcut_client_ruby/models/max_search_results_exceeded_error.rb +289 -0
  249. data/lib/shortcut_client_ruby/models/member.rb +395 -0
  250. data/lib/shortcut_client_ruby/models/member_info.rb +253 -0
  251. data/lib/shortcut_client_ruby/models/milestone.rb +453 -0
  252. data/lib/shortcut_client_ruby/models/milestone_stats.rb +233 -0
  253. data/lib/shortcut_client_ruby/models/profile.rb +330 -0
  254. data/lib/shortcut_client_ruby/models/project.rb +490 -0
  255. data/lib/shortcut_client_ruby/models/project_stats.rb +243 -0
  256. data/lib/shortcut_client_ruby/models/pull_request.rb +518 -0
  257. data/lib/shortcut_client_ruby/models/pull_request_label.rb +269 -0
  258. data/lib/shortcut_client_ruby/models/repository.rb +340 -0
  259. data/lib/shortcut_client_ruby/models/search.rb +275 -0
  260. data/lib/shortcut_client_ruby/models/search_results.rb +226 -0
  261. data/lib/shortcut_client_ruby/models/search_stories.rb +529 -0
  262. data/lib/shortcut_client_ruby/models/story.rb +985 -0
  263. data/lib/shortcut_client_ruby/models/story_comment.rb +419 -0
  264. data/lib/shortcut_client_ruby/models/story_contents.rb +404 -0
  265. data/lib/shortcut_client_ruby/models/story_contents_task.rb +255 -0
  266. data/lib/shortcut_client_ruby/models/story_history_change_adds_removes_int.rb +222 -0
  267. data/lib/shortcut_client_ruby/models/story_history_change_adds_removes_uuid.rb +222 -0
  268. data/lib/shortcut_client_ruby/models/story_history_change_old_new_bool.rb +218 -0
  269. data/lib/shortcut_client_ruby/models/story_history_change_old_new_int.rb +218 -0
  270. data/lib/shortcut_client_ruby/models/story_history_change_old_new_str.rb +218 -0
  271. data/lib/shortcut_client_ruby/models/story_history_change_old_new_uuid.rb +218 -0
  272. data/lib/shortcut_client_ruby/models/story_link.rb +318 -0
  273. data/lib/shortcut_client_ruby/models/story_reaction.rb +230 -0
  274. data/lib/shortcut_client_ruby/models/story_search_results.rb +257 -0
  275. data/lib/shortcut_client_ruby/models/story_slim.rb +944 -0
  276. data/lib/shortcut_client_ruby/models/story_stats.rb +213 -0
  277. data/lib/shortcut_client_ruby/models/task.rb +418 -0
  278. data/lib/shortcut_client_ruby/models/threaded_comment.rb +402 -0
  279. data/lib/shortcut_client_ruby/models/typed_story_link.rb +333 -0
  280. data/lib/shortcut_client_ruby/models/unusable_entitlement_error.rb +276 -0
  281. data/lib/shortcut_client_ruby/models/update_category.rb +228 -0
  282. data/lib/shortcut_client_ruby/models/update_comment.rb +212 -0
  283. data/lib/shortcut_client_ruby/models/update_entity_template.rb +217 -0
  284. data/lib/shortcut_client_ruby/models/update_epic.rb +413 -0
  285. data/lib/shortcut_client_ruby/models/update_file.rb +257 -0
  286. data/lib/shortcut_client_ruby/models/update_group.rb +328 -0
  287. data/lib/shortcut_client_ruby/models/update_iteration.rb +273 -0
  288. data/lib/shortcut_client_ruby/models/update_label.rb +238 -0
  289. data/lib/shortcut_client_ruby/models/update_linked_file.rb +311 -0
  290. data/lib/shortcut_client_ruby/models/update_milestone.rb +315 -0
  291. data/lib/shortcut_client_ruby/models/update_project.rb +289 -0
  292. data/lib/shortcut_client_ruby/models/update_stories.rb +480 -0
  293. data/lib/shortcut_client_ruby/models/update_story.rb +529 -0
  294. data/lib/shortcut_client_ruby/models/update_story_comment.rb +212 -0
  295. data/lib/shortcut_client_ruby/models/update_story_contents.rb +434 -0
  296. data/lib/shortcut_client_ruby/models/update_story_link.rb +261 -0
  297. data/lib/shortcut_client_ruby/models/update_task.rb +249 -0
  298. data/lib/shortcut_client_ruby/models/uploaded_file.rb +466 -0
  299. data/lib/shortcut_client_ruby/models/v3_files_body.rb +252 -0
  300. data/lib/shortcut_client_ruby/models/workflow.rb +367 -0
  301. data/lib/shortcut_client_ruby/models/workflow_state.rb +374 -0
  302. data/lib/shortcut_client_ruby/version.rb +14 -0
  303. data/lib/shortcut_client_ruby.rb +181 -0
  304. data/shortcut-client-ruby.gemspec +36 -0
  305. data/shortcut_client_ruby.gemspec +38 -0
  306. data/spec/api/default_api_spec.rb +1310 -0
  307. data/spec/api_client_spec.rb +225 -0
  308. data/spec/base_object_spec.rb +109 -0
  309. data/spec/configuration_spec.rb +41 -0
  310. data/spec/models/basic_workspace_info_spec.rb +46 -0
  311. data/spec/models/branch_spec.rb +100 -0
  312. data/spec/models/category_spec.rb +88 -0
  313. data/spec/models/commit_spec.rb +112 -0
  314. data/spec/models/create_category_params_spec.rb +52 -0
  315. data/spec/models/create_category_spec.rb +62 -0
  316. data/spec/models/create_comment_comment_spec.rb +64 -0
  317. data/spec/models/create_entity_template_spec.rb +52 -0
  318. data/spec/models/create_epic_comment_spec.rb +64 -0
  319. data/spec/models/create_epic_spec.rb +140 -0
  320. data/spec/models/create_group_spec.rb +86 -0
  321. data/spec/models/create_iteration_spec.rb +76 -0
  322. data/spec/models/create_label_params_spec.rb +58 -0
  323. data/spec/models/create_linked_file_spec.rb +92 -0
  324. data/spec/models/create_milestone_spec.rb +74 -0
  325. data/spec/models/create_or_delete_story_reaction_spec.rb +40 -0
  326. data/spec/models/create_project_spec.rb +100 -0
  327. data/spec/models/create_stories_spec.rb +40 -0
  328. data/spec/models/create_story_comment_params_spec.rb +64 -0
  329. data/spec/models/create_story_comment_spec.rb +64 -0
  330. data/spec/models/create_story_contents_spec.rb +160 -0
  331. data/spec/models/create_story_link_params_spec.rb +56 -0
  332. data/spec/models/create_story_link_spec.rb +56 -0
  333. data/spec/models/create_story_params_spec.rb +200 -0
  334. data/spec/models/create_task_params_spec.rb +70 -0
  335. data/spec/models/create_task_spec.rb +70 -0
  336. data/spec/models/delete_stories_spec.rb +40 -0
  337. data/spec/models/entity_template_spec.rb +82 -0
  338. data/spec/models/entity_template_task_spec.rb +58 -0
  339. data/spec/models/epic_search_results_spec.rb +58 -0
  340. data/spec/models/epic_slim_spec.rb +256 -0
  341. data/spec/models/epic_spec.rb +262 -0
  342. data/spec/models/epic_state_spec.rb +88 -0
  343. data/spec/models/epic_stats_spec.rb +112 -0
  344. data/spec/models/epic_workflow_spec.rb +70 -0
  345. data/spec/models/get_epic_stories_spec.rb +40 -0
  346. data/spec/models/get_external_link_stories_params_spec.rb +40 -0
  347. data/spec/models/get_iteration_stories_spec.rb +40 -0
  348. data/spec/models/get_label_stories_spec.rb +40 -0
  349. data/spec/models/get_member_spec.rb +40 -0
  350. data/spec/models/get_project_stories_spec.rb +40 -0
  351. data/spec/models/group_spec.rb +134 -0
  352. data/spec/models/history_action_branch_create_spec.rb +68 -0
  353. data/spec/models/history_action_branch_merge_spec.rb +68 -0
  354. data/spec/models/history_action_branch_push_spec.rb +68 -0
  355. data/spec/models/history_action_label_create_spec.rb +68 -0
  356. data/spec/models/history_action_label_delete_spec.rb +62 -0
  357. data/spec/models/history_action_label_update_spec.rb +56 -0
  358. data/spec/models/history_action_project_update_spec.rb +68 -0
  359. data/spec/models/history_action_pull_request_spec.rb +74 -0
  360. data/spec/models/history_action_story_comment_create_spec.rb +74 -0
  361. data/spec/models/history_action_story_create_spec.rb +186 -0
  362. data/spec/models/history_action_story_delete_spec.rb +72 -0
  363. data/spec/models/history_action_story_link_create_spec.rb +78 -0
  364. data/spec/models/history_action_story_link_delete_spec.rb +78 -0
  365. data/spec/models/history_action_story_link_update_spec.rb +84 -0
  366. data/spec/models/history_action_story_update_spec.rb +84 -0
  367. data/spec/models/history_action_task_create_spec.rb +92 -0
  368. data/spec/models/history_action_task_delete_spec.rb +62 -0
  369. data/spec/models/history_action_task_update_spec.rb +80 -0
  370. data/spec/models/history_changes_story_link_spec.rb +52 -0
  371. data/spec/models/history_changes_story_spec.rb +178 -0
  372. data/spec/models/history_changes_task_spec.rb +58 -0
  373. data/spec/models/history_reference_branch_spec.rb +58 -0
  374. data/spec/models/history_reference_commit_spec.rb +58 -0
  375. data/spec/models/history_reference_epic_spec.rb +58 -0
  376. data/spec/models/history_reference_general_spec.rb +52 -0
  377. data/spec/models/history_reference_group_spec.rb +52 -0
  378. data/spec/models/history_reference_iteration_spec.rb +58 -0
  379. data/spec/models/history_reference_label_spec.rb +58 -0
  380. data/spec/models/history_reference_project_spec.rb +58 -0
  381. data/spec/models/history_reference_story_spec.rb +68 -0
  382. data/spec/models/history_reference_story_task_spec.rb +52 -0
  383. data/spec/models/history_reference_workflow_state_spec.rb +62 -0
  384. data/spec/models/history_spec.rb +92 -0
  385. data/spec/models/icon_spec.rb +64 -0
  386. data/spec/models/identity_spec.rb +52 -0
  387. data/spec/models/iteration_slim_spec.rb +136 -0
  388. data/spec/models/iteration_spec.rb +142 -0
  389. data/spec/models/iteration_stats_spec.rb +100 -0
  390. data/spec/models/label_slim_spec.rb +94 -0
  391. data/spec/models/label_spec.rb +100 -0
  392. data/spec/models/label_stats_spec.rb +124 -0
  393. data/spec/models/linked_file_spec.rb +130 -0
  394. data/spec/models/list_epics_spec.rb +40 -0
  395. data/spec/models/list_group_stories_spec.rb +46 -0
  396. data/spec/models/list_labels_spec.rb +40 -0
  397. data/spec/models/list_members_spec.rb +40 -0
  398. data/spec/models/max_search_results_exceeded_error_spec.rb +60 -0
  399. data/spec/models/member_info_spec.rb +58 -0
  400. data/spec/models/member_spec.rb +104 -0
  401. data/spec/models/milestone_spec.rb +136 -0
  402. data/spec/models/milestone_stats_spec.rb +52 -0
  403. data/spec/models/profile_spec.rb +88 -0
  404. data/spec/models/project_spec.rb +148 -0
  405. data/spec/models/project_stats_spec.rb +52 -0
  406. data/spec/models/pull_request_label_spec.rb +64 -0
  407. data/spec/models/pull_request_spec.rb +166 -0
  408. data/spec/models/repository_spec.rb +88 -0
  409. data/spec/models/search_results_spec.rb +46 -0
  410. data/spec/models/search_spec.rb +62 -0
  411. data/spec/models/search_stories_spec.rb +210 -0
  412. data/spec/models/story_comment_spec.rb +118 -0
  413. data/spec/models/story_contents_spec.rb +148 -0
  414. data/spec/models/story_contents_task_spec.rb +64 -0
  415. data/spec/models/story_history_change_adds_removes_int_spec.rb +46 -0
  416. data/spec/models/story_history_change_adds_removes_uuid_spec.rb +46 -0
  417. data/spec/models/story_history_change_old_new_bool_spec.rb +46 -0
  418. data/spec/models/story_history_change_old_new_int_spec.rb +46 -0
  419. data/spec/models/story_history_change_old_new_str_spec.rb +46 -0
  420. data/spec/models/story_history_change_old_new_uuid_spec.rb +46 -0
  421. data/spec/models/story_link_spec.rb +82 -0
  422. data/spec/models/story_reaction_spec.rb +46 -0
  423. data/spec/models/story_search_results_spec.rb +58 -0
  424. data/spec/models/story_slim_spec.rb +322 -0
  425. data/spec/models/story_spec.rb +334 -0
  426. data/spec/models/story_stats_spec.rb +40 -0
  427. data/spec/models/task_spec.rb +118 -0
  428. data/spec/models/threaded_comment_spec.rb +112 -0
  429. data/spec/models/typed_story_link_spec.rb +88 -0
  430. data/spec/models/unusable_entitlement_error_spec.rb +56 -0
  431. data/spec/models/update_category_spec.rb +52 -0
  432. data/spec/models/update_comment_spec.rb +40 -0
  433. data/spec/models/update_entity_template_spec.rb +46 -0
  434. data/spec/models/update_epic_spec.rb +140 -0
  435. data/spec/models/update_file_spec.rb +70 -0
  436. data/spec/models/update_group_spec.rb +92 -0
  437. data/spec/models/update_iteration_spec.rb +76 -0
  438. data/spec/models/update_label_spec.rb +58 -0
  439. data/spec/models/update_linked_file_spec.rb +86 -0
  440. data/spec/models/update_milestone_spec.rb +86 -0
  441. data/spec/models/update_project_spec.rb +88 -0
  442. data/spec/models/update_stories_spec.rb +168 -0
  443. data/spec/models/update_story_comment_spec.rb +40 -0
  444. data/spec/models/update_story_contents_spec.rb +160 -0
  445. data/spec/models/update_story_link_spec.rb +56 -0
  446. data/spec/models/update_story_spec.rb +198 -0
  447. data/spec/models/update_task_spec.rb +64 -0
  448. data/spec/models/uploaded_file_spec.rb +136 -0
  449. data/spec/models/v3_files_body_spec.rb +64 -0
  450. data/spec/models/workflow_spec.rb +100 -0
  451. data/spec/models/workflow_state_spec.rb +106 -0
  452. data/spec/spec_helper.rb +110 -0
  453. metadata +701 -0
@@ -0,0 +1,799 @@
1
+ =begin
2
+ #Shortcut API
3
+
4
+ #Shortcut API
5
+
6
+ OpenAPI spec version: 3.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 3.0.35
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module Shortcut
15
+ # An Epic is a collection of stories that together might make up a release, a milestone, or some other large initiative that your organization is working on.
16
+ class Epic
17
+ # The Shortcut application url for the Epic.
18
+ attr_accessor :app_url
19
+
20
+ # The Epic's description.
21
+ attr_accessor :description
22
+
23
+ # True/false boolean that indicates whether the Epic is archived or not.
24
+ attr_accessor :archived
25
+
26
+ # A true/false boolean indicating if the Epic has been started.
27
+ attr_accessor :started
28
+
29
+ # A string description of this resource.
30
+ attr_accessor :entity_type
31
+
32
+ # An array of Labels attached to the Epic.
33
+ attr_accessor :labels
34
+
35
+ # Deprecated: use member_mention_ids.
36
+ attr_accessor :mention_ids
37
+
38
+ # An array of Member IDs that have been mentioned in the Epic description.
39
+ attr_accessor :member_mention_ids
40
+
41
+ # The IDs of Projects related to this Epic.
42
+ attr_accessor :project_ids
43
+
44
+ # The number of stories in this epic which are not associated with a project.
45
+ attr_accessor :stories_without_projects
46
+
47
+ # A manual override for the time/date the Epic was completed.
48
+ attr_accessor :completed_at_override
49
+
50
+ # The ID of the associated productboard integration.
51
+ attr_accessor :productboard_plugin_id
52
+
53
+ # The time/date the Epic was started.
54
+ attr_accessor :started_at
55
+
56
+ # The time/date the Epic was completed.
57
+ attr_accessor :completed_at
58
+
59
+ # The name of the Epic.
60
+ attr_accessor :name
61
+
62
+ # A true/false boolean indicating if the Epic has been completed.
63
+ attr_accessor :completed
64
+
65
+ # A nested array of threaded comments.
66
+ attr_accessor :comments
67
+
68
+ # The URL of the associated productboard feature.
69
+ attr_accessor :productboard_url
70
+
71
+ # The Epic's planned start date.
72
+ attr_accessor :planned_start_date
73
+
74
+ # `Deprecated` The workflow state that the Epic is in.
75
+ attr_accessor :state
76
+
77
+ # The ID of the Milestone this Epic is related to.
78
+ attr_accessor :milestone_id
79
+
80
+ # The ID of the Member that requested the epic.
81
+ attr_accessor :requested_by_id
82
+
83
+ # The ID of the Epic State.
84
+ attr_accessor :epic_state_id
85
+
86
+ # An array of Label ids attached to the Epic.
87
+ attr_accessor :label_ids
88
+
89
+ # A manual override for the time/date the Epic was started.
90
+ attr_accessor :started_at_override
91
+
92
+ attr_accessor :group_id
93
+
94
+ # The time/date the Epic was updated.
95
+ attr_accessor :updated_at
96
+
97
+ # An array of Group IDs that have been mentioned in the Epic description.
98
+ attr_accessor :group_mention_ids
99
+
100
+ # The ID of the associated productboard feature.
101
+ attr_accessor :productboard_id
102
+
103
+ # An array of UUIDs for any Members you want to add as Followers on this Epic.
104
+ attr_accessor :follower_ids
105
+
106
+ # An array of UUIDs for any members you want to add as Owners on this new Epic.
107
+ attr_accessor :owner_ids
108
+
109
+ # This field can be set to another unique ID. In the case that the Epic has been imported from another tool, the ID in the other tool can be indicated here.
110
+ attr_accessor :external_id
111
+
112
+ # The unique ID of the Epic.
113
+ attr_accessor :id
114
+
115
+ # The Epic's relative position in the Epic workflow state.
116
+ attr_accessor :position
117
+
118
+ # The name of the associated productboard feature.
119
+ attr_accessor :productboard_name
120
+
121
+ # The Epic's deadline.
122
+ attr_accessor :deadline
123
+
124
+ attr_accessor :stats
125
+
126
+ # The time/date the Epic was created.
127
+ attr_accessor :created_at
128
+
129
+ # Attribute mapping from ruby-style variable name to JSON key.
130
+ def self.attribute_map
131
+ {
132
+ :'app_url' => :'app_url',
133
+ :'description' => :'description',
134
+ :'archived' => :'archived',
135
+ :'started' => :'started',
136
+ :'entity_type' => :'entity_type',
137
+ :'labels' => :'labels',
138
+ :'mention_ids' => :'mention_ids',
139
+ :'member_mention_ids' => :'member_mention_ids',
140
+ :'project_ids' => :'project_ids',
141
+ :'stories_without_projects' => :'stories_without_projects',
142
+ :'completed_at_override' => :'completed_at_override',
143
+ :'productboard_plugin_id' => :'productboard_plugin_id',
144
+ :'started_at' => :'started_at',
145
+ :'completed_at' => :'completed_at',
146
+ :'name' => :'name',
147
+ :'completed' => :'completed',
148
+ :'comments' => :'comments',
149
+ :'productboard_url' => :'productboard_url',
150
+ :'planned_start_date' => :'planned_start_date',
151
+ :'state' => :'state',
152
+ :'milestone_id' => :'milestone_id',
153
+ :'requested_by_id' => :'requested_by_id',
154
+ :'epic_state_id' => :'epic_state_id',
155
+ :'label_ids' => :'label_ids',
156
+ :'started_at_override' => :'started_at_override',
157
+ :'group_id' => :'group_id',
158
+ :'updated_at' => :'updated_at',
159
+ :'group_mention_ids' => :'group_mention_ids',
160
+ :'productboard_id' => :'productboard_id',
161
+ :'follower_ids' => :'follower_ids',
162
+ :'owner_ids' => :'owner_ids',
163
+ :'external_id' => :'external_id',
164
+ :'id' => :'id',
165
+ :'position' => :'position',
166
+ :'productboard_name' => :'productboard_name',
167
+ :'deadline' => :'deadline',
168
+ :'stats' => :'stats',
169
+ :'created_at' => :'created_at'
170
+ }
171
+ end
172
+
173
+ # Attribute type mapping.
174
+ def self.openapi_types
175
+ {
176
+ :'app_url' => :'Object',
177
+ :'description' => :'Object',
178
+ :'archived' => :'Object',
179
+ :'started' => :'Object',
180
+ :'entity_type' => :'Object',
181
+ :'labels' => :'Object',
182
+ :'mention_ids' => :'Object',
183
+ :'member_mention_ids' => :'Object',
184
+ :'project_ids' => :'Object',
185
+ :'stories_without_projects' => :'Object',
186
+ :'completed_at_override' => :'Object',
187
+ :'productboard_plugin_id' => :'Object',
188
+ :'started_at' => :'Object',
189
+ :'completed_at' => :'Object',
190
+ :'name' => :'Object',
191
+ :'completed' => :'Object',
192
+ :'comments' => :'Object',
193
+ :'productboard_url' => :'Object',
194
+ :'planned_start_date' => :'Object',
195
+ :'state' => :'Object',
196
+ :'milestone_id' => :'Object',
197
+ :'requested_by_id' => :'Object',
198
+ :'epic_state_id' => :'Object',
199
+ :'label_ids' => :'Object',
200
+ :'started_at_override' => :'Object',
201
+ :'group_id' => :'Object',
202
+ :'updated_at' => :'Object',
203
+ :'group_mention_ids' => :'Object',
204
+ :'productboard_id' => :'Object',
205
+ :'follower_ids' => :'Object',
206
+ :'owner_ids' => :'Object',
207
+ :'external_id' => :'Object',
208
+ :'id' => :'Object',
209
+ :'position' => :'Object',
210
+ :'productboard_name' => :'Object',
211
+ :'deadline' => :'Object',
212
+ :'stats' => :'Object',
213
+ :'created_at' => :'Object'
214
+ }
215
+ end
216
+
217
+ # List of attributes with nullable: true
218
+ def self.openapi_nullable
219
+ Set.new([
220
+ :'completed_at_override',
221
+ :'productboard_plugin_id',
222
+ :'started_at',
223
+ :'completed_at',
224
+ :'productboard_url',
225
+ :'planned_start_date',
226
+ :'milestone_id',
227
+ :'started_at_override',
228
+ :'group_id',
229
+ :'updated_at',
230
+ :'productboard_id',
231
+ :'external_id',
232
+ :'productboard_name',
233
+ :'deadline',
234
+ :'created_at'
235
+ ])
236
+ end
237
+
238
+ # Initializes the object
239
+ # @param [Hash] attributes Model attributes in the form of hash
240
+ def initialize(attributes = {})
241
+ if (!attributes.is_a?(Hash))
242
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Shortcut::Epic` initialize method"
243
+ end
244
+
245
+ # check to see if the attribute exists and convert string to symbol for hash key
246
+ attributes = attributes.each_with_object({}) { |(k, v), h|
247
+ if (!self.class.attribute_map.key?(k.to_sym))
248
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Shortcut::Epic`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
249
+ end
250
+ h[k.to_sym] = v
251
+ }
252
+
253
+ if attributes.key?(:'app_url')
254
+ self.app_url = attributes[:'app_url']
255
+ end
256
+
257
+ if attributes.key?(:'description')
258
+ self.description = attributes[:'description']
259
+ end
260
+
261
+ if attributes.key?(:'archived')
262
+ self.archived = attributes[:'archived']
263
+ end
264
+
265
+ if attributes.key?(:'started')
266
+ self.started = attributes[:'started']
267
+ end
268
+
269
+ if attributes.key?(:'entity_type')
270
+ self.entity_type = attributes[:'entity_type']
271
+ end
272
+
273
+ if attributes.key?(:'labels')
274
+ if (value = attributes[:'labels']).is_a?(Array)
275
+ self.labels = value
276
+ end
277
+ end
278
+
279
+ if attributes.key?(:'mention_ids')
280
+ if (value = attributes[:'mention_ids']).is_a?(Array)
281
+ self.mention_ids = value
282
+ end
283
+ end
284
+
285
+ if attributes.key?(:'member_mention_ids')
286
+ if (value = attributes[:'member_mention_ids']).is_a?(Array)
287
+ self.member_mention_ids = value
288
+ end
289
+ end
290
+
291
+ if attributes.key?(:'project_ids')
292
+ if (value = attributes[:'project_ids']).is_a?(Array)
293
+ self.project_ids = value
294
+ end
295
+ end
296
+
297
+ if attributes.key?(:'stories_without_projects')
298
+ self.stories_without_projects = attributes[:'stories_without_projects']
299
+ end
300
+
301
+ if attributes.key?(:'completed_at_override')
302
+ self.completed_at_override = attributes[:'completed_at_override']
303
+ end
304
+
305
+ if attributes.key?(:'productboard_plugin_id')
306
+ self.productboard_plugin_id = attributes[:'productboard_plugin_id']
307
+ end
308
+
309
+ if attributes.key?(:'started_at')
310
+ self.started_at = attributes[:'started_at']
311
+ end
312
+
313
+ if attributes.key?(:'completed_at')
314
+ self.completed_at = attributes[:'completed_at']
315
+ end
316
+
317
+ if attributes.key?(:'name')
318
+ self.name = attributes[:'name']
319
+ end
320
+
321
+ if attributes.key?(:'completed')
322
+ self.completed = attributes[:'completed']
323
+ end
324
+
325
+ if attributes.key?(:'comments')
326
+ if (value = attributes[:'comments']).is_a?(Array)
327
+ self.comments = value
328
+ end
329
+ end
330
+
331
+ if attributes.key?(:'productboard_url')
332
+ self.productboard_url = attributes[:'productboard_url']
333
+ end
334
+
335
+ if attributes.key?(:'planned_start_date')
336
+ self.planned_start_date = attributes[:'planned_start_date']
337
+ end
338
+
339
+ if attributes.key?(:'state')
340
+ self.state = attributes[:'state']
341
+ end
342
+
343
+ if attributes.key?(:'milestone_id')
344
+ self.milestone_id = attributes[:'milestone_id']
345
+ end
346
+
347
+ if attributes.key?(:'requested_by_id')
348
+ self.requested_by_id = attributes[:'requested_by_id']
349
+ end
350
+
351
+ if attributes.key?(:'epic_state_id')
352
+ self.epic_state_id = attributes[:'epic_state_id']
353
+ end
354
+
355
+ if attributes.key?(:'label_ids')
356
+ if (value = attributes[:'label_ids']).is_a?(Array)
357
+ self.label_ids = value
358
+ end
359
+ end
360
+
361
+ if attributes.key?(:'started_at_override')
362
+ self.started_at_override = attributes[:'started_at_override']
363
+ end
364
+
365
+ if attributes.key?(:'group_id')
366
+ self.group_id = attributes[:'group_id']
367
+ end
368
+
369
+ if attributes.key?(:'updated_at')
370
+ self.updated_at = attributes[:'updated_at']
371
+ end
372
+
373
+ if attributes.key?(:'group_mention_ids')
374
+ if (value = attributes[:'group_mention_ids']).is_a?(Array)
375
+ self.group_mention_ids = value
376
+ end
377
+ end
378
+
379
+ if attributes.key?(:'productboard_id')
380
+ self.productboard_id = attributes[:'productboard_id']
381
+ end
382
+
383
+ if attributes.key?(:'follower_ids')
384
+ if (value = attributes[:'follower_ids']).is_a?(Array)
385
+ self.follower_ids = value
386
+ end
387
+ end
388
+
389
+ if attributes.key?(:'owner_ids')
390
+ if (value = attributes[:'owner_ids']).is_a?(Array)
391
+ self.owner_ids = value
392
+ end
393
+ end
394
+
395
+ if attributes.key?(:'external_id')
396
+ self.external_id = attributes[:'external_id']
397
+ end
398
+
399
+ if attributes.key?(:'id')
400
+ self.id = attributes[:'id']
401
+ end
402
+
403
+ if attributes.key?(:'position')
404
+ self.position = attributes[:'position']
405
+ end
406
+
407
+ if attributes.key?(:'productboard_name')
408
+ self.productboard_name = attributes[:'productboard_name']
409
+ end
410
+
411
+ if attributes.key?(:'deadline')
412
+ self.deadline = attributes[:'deadline']
413
+ end
414
+
415
+ if attributes.key?(:'stats')
416
+ self.stats = attributes[:'stats']
417
+ end
418
+
419
+ if attributes.key?(:'created_at')
420
+ self.created_at = attributes[:'created_at']
421
+ end
422
+ end
423
+
424
+ # Show invalid properties with the reasons. Usually used together with valid?
425
+ # @return Array for valid properties with the reasons
426
+ def list_invalid_properties
427
+ invalid_properties = Array.new
428
+ if @app_url.nil?
429
+ invalid_properties.push('invalid value for "app_url", app_url cannot be nil.')
430
+ end
431
+
432
+ if @description.nil?
433
+ invalid_properties.push('invalid value for "description", description cannot be nil.')
434
+ end
435
+
436
+ if @archived.nil?
437
+ invalid_properties.push('invalid value for "archived", archived cannot be nil.')
438
+ end
439
+
440
+ if @started.nil?
441
+ invalid_properties.push('invalid value for "started", started cannot be nil.')
442
+ end
443
+
444
+ if @entity_type.nil?
445
+ invalid_properties.push('invalid value for "entity_type", entity_type cannot be nil.')
446
+ end
447
+
448
+ if @labels.nil?
449
+ invalid_properties.push('invalid value for "labels", labels cannot be nil.')
450
+ end
451
+
452
+ if @mention_ids.nil?
453
+ invalid_properties.push('invalid value for "mention_ids", mention_ids cannot be nil.')
454
+ end
455
+
456
+ if @member_mention_ids.nil?
457
+ invalid_properties.push('invalid value for "member_mention_ids", member_mention_ids cannot be nil.')
458
+ end
459
+
460
+ if @project_ids.nil?
461
+ invalid_properties.push('invalid value for "project_ids", project_ids cannot be nil.')
462
+ end
463
+
464
+ if @stories_without_projects.nil?
465
+ invalid_properties.push('invalid value for "stories_without_projects", stories_without_projects cannot be nil.')
466
+ end
467
+
468
+ if @completed_at_override.nil?
469
+ invalid_properties.push('invalid value for "completed_at_override", completed_at_override cannot be nil.')
470
+ end
471
+
472
+ if @productboard_plugin_id.nil?
473
+ invalid_properties.push('invalid value for "productboard_plugin_id", productboard_plugin_id cannot be nil.')
474
+ end
475
+
476
+ if @started_at.nil?
477
+ invalid_properties.push('invalid value for "started_at", started_at cannot be nil.')
478
+ end
479
+
480
+ if @completed_at.nil?
481
+ invalid_properties.push('invalid value for "completed_at", completed_at cannot be nil.')
482
+ end
483
+
484
+ if @name.nil?
485
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
486
+ end
487
+
488
+ if @completed.nil?
489
+ invalid_properties.push('invalid value for "completed", completed cannot be nil.')
490
+ end
491
+
492
+ if @comments.nil?
493
+ invalid_properties.push('invalid value for "comments", comments cannot be nil.')
494
+ end
495
+
496
+ if @productboard_url.nil?
497
+ invalid_properties.push('invalid value for "productboard_url", productboard_url cannot be nil.')
498
+ end
499
+
500
+ if @planned_start_date.nil?
501
+ invalid_properties.push('invalid value for "planned_start_date", planned_start_date cannot be nil.')
502
+ end
503
+
504
+ if @state.nil?
505
+ invalid_properties.push('invalid value for "state", state cannot be nil.')
506
+ end
507
+
508
+ if @milestone_id.nil?
509
+ invalid_properties.push('invalid value for "milestone_id", milestone_id cannot be nil.')
510
+ end
511
+
512
+ if @requested_by_id.nil?
513
+ invalid_properties.push('invalid value for "requested_by_id", requested_by_id cannot be nil.')
514
+ end
515
+
516
+ if @epic_state_id.nil?
517
+ invalid_properties.push('invalid value for "epic_state_id", epic_state_id cannot be nil.')
518
+ end
519
+
520
+ if @label_ids.nil?
521
+ invalid_properties.push('invalid value for "label_ids", label_ids cannot be nil.')
522
+ end
523
+
524
+ if @started_at_override.nil?
525
+ invalid_properties.push('invalid value for "started_at_override", started_at_override cannot be nil.')
526
+ end
527
+
528
+ if @group_id.nil?
529
+ invalid_properties.push('invalid value for "group_id", group_id cannot be nil.')
530
+ end
531
+
532
+ if @updated_at.nil?
533
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
534
+ end
535
+
536
+ if @group_mention_ids.nil?
537
+ invalid_properties.push('invalid value for "group_mention_ids", group_mention_ids cannot be nil.')
538
+ end
539
+
540
+ if @productboard_id.nil?
541
+ invalid_properties.push('invalid value for "productboard_id", productboard_id cannot be nil.')
542
+ end
543
+
544
+ if @follower_ids.nil?
545
+ invalid_properties.push('invalid value for "follower_ids", follower_ids cannot be nil.')
546
+ end
547
+
548
+ if @owner_ids.nil?
549
+ invalid_properties.push('invalid value for "owner_ids", owner_ids cannot be nil.')
550
+ end
551
+
552
+ if @external_id.nil?
553
+ invalid_properties.push('invalid value for "external_id", external_id cannot be nil.')
554
+ end
555
+
556
+ if @id.nil?
557
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
558
+ end
559
+
560
+ if @position.nil?
561
+ invalid_properties.push('invalid value for "position", position cannot be nil.')
562
+ end
563
+
564
+ if @productboard_name.nil?
565
+ invalid_properties.push('invalid value for "productboard_name", productboard_name cannot be nil.')
566
+ end
567
+
568
+ if @deadline.nil?
569
+ invalid_properties.push('invalid value for "deadline", deadline cannot be nil.')
570
+ end
571
+
572
+ if @stats.nil?
573
+ invalid_properties.push('invalid value for "stats", stats cannot be nil.')
574
+ end
575
+
576
+ if @created_at.nil?
577
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
578
+ end
579
+
580
+ invalid_properties
581
+ end
582
+
583
+ # Check to see if the all the properties in the model are valid
584
+ # @return true if the model is valid
585
+ def valid?
586
+ return false if @app_url.nil?
587
+ return false if @description.nil?
588
+ return false if @archived.nil?
589
+ return false if @started.nil?
590
+ return false if @entity_type.nil?
591
+ return false if @labels.nil?
592
+ return false if @mention_ids.nil?
593
+ return false if @member_mention_ids.nil?
594
+ return false if @project_ids.nil?
595
+ return false if @stories_without_projects.nil?
596
+ return false if @completed_at_override.nil?
597
+ return false if @productboard_plugin_id.nil?
598
+ return false if @started_at.nil?
599
+ return false if @completed_at.nil?
600
+ return false if @name.nil?
601
+ return false if @completed.nil?
602
+ return false if @comments.nil?
603
+ return false if @productboard_url.nil?
604
+ return false if @planned_start_date.nil?
605
+ return false if @state.nil?
606
+ return false if @milestone_id.nil?
607
+ return false if @requested_by_id.nil?
608
+ return false if @epic_state_id.nil?
609
+ return false if @label_ids.nil?
610
+ return false if @started_at_override.nil?
611
+ return false if @group_id.nil?
612
+ return false if @updated_at.nil?
613
+ return false if @group_mention_ids.nil?
614
+ return false if @productboard_id.nil?
615
+ return false if @follower_ids.nil?
616
+ return false if @owner_ids.nil?
617
+ return false if @external_id.nil?
618
+ return false if @id.nil?
619
+ return false if @position.nil?
620
+ return false if @productboard_name.nil?
621
+ return false if @deadline.nil?
622
+ return false if @stats.nil?
623
+ return false if @created_at.nil?
624
+ true
625
+ end
626
+
627
+ # Checks equality by comparing each attribute.
628
+ # @param [Object] Object to be compared
629
+ def ==(o)
630
+ return true if self.equal?(o)
631
+ self.class == o.class &&
632
+ app_url == o.app_url &&
633
+ description == o.description &&
634
+ archived == o.archived &&
635
+ started == o.started &&
636
+ entity_type == o.entity_type &&
637
+ labels == o.labels &&
638
+ mention_ids == o.mention_ids &&
639
+ member_mention_ids == o.member_mention_ids &&
640
+ project_ids == o.project_ids &&
641
+ stories_without_projects == o.stories_without_projects &&
642
+ completed_at_override == o.completed_at_override &&
643
+ productboard_plugin_id == o.productboard_plugin_id &&
644
+ started_at == o.started_at &&
645
+ completed_at == o.completed_at &&
646
+ name == o.name &&
647
+ completed == o.completed &&
648
+ comments == o.comments &&
649
+ productboard_url == o.productboard_url &&
650
+ planned_start_date == o.planned_start_date &&
651
+ state == o.state &&
652
+ milestone_id == o.milestone_id &&
653
+ requested_by_id == o.requested_by_id &&
654
+ epic_state_id == o.epic_state_id &&
655
+ label_ids == o.label_ids &&
656
+ started_at_override == o.started_at_override &&
657
+ group_id == o.group_id &&
658
+ updated_at == o.updated_at &&
659
+ group_mention_ids == o.group_mention_ids &&
660
+ productboard_id == o.productboard_id &&
661
+ follower_ids == o.follower_ids &&
662
+ owner_ids == o.owner_ids &&
663
+ external_id == o.external_id &&
664
+ id == o.id &&
665
+ position == o.position &&
666
+ productboard_name == o.productboard_name &&
667
+ deadline == o.deadline &&
668
+ stats == o.stats &&
669
+ created_at == o.created_at
670
+ end
671
+
672
+ # @see the `==` method
673
+ # @param [Object] Object to be compared
674
+ def eql?(o)
675
+ self == o
676
+ end
677
+
678
+ # Calculates hash code according to all attributes.
679
+ # @return [Integer] Hash code
680
+ def hash
681
+ [app_url, description, archived, started, entity_type, labels, mention_ids, member_mention_ids, project_ids, stories_without_projects, completed_at_override, productboard_plugin_id, started_at, completed_at, name, completed, comments, productboard_url, planned_start_date, state, milestone_id, requested_by_id, epic_state_id, label_ids, started_at_override, group_id, updated_at, group_mention_ids, productboard_id, follower_ids, owner_ids, external_id, id, position, productboard_name, deadline, stats, created_at].hash
682
+ end
683
+
684
+ # Builds the object from hash
685
+ # @param [Hash] attributes Model attributes in the form of hash
686
+ # @return [Object] Returns the model itself
687
+ def self.build_from_hash(attributes)
688
+ new.build_from_hash(attributes)
689
+ end
690
+
691
+ # Builds the object from hash
692
+ # @param [Hash] attributes Model attributes in the form of hash
693
+ # @return [Object] Returns the model itself
694
+ def build_from_hash(attributes)
695
+ return nil unless attributes.is_a?(Hash)
696
+ self.class.openapi_types.each_pair do |key, type|
697
+ if type =~ /\AArray<(.*)>/i
698
+ # check to ensure the input is an array given that the attribute
699
+ # is documented as an array but the input is not
700
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
701
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
702
+ end
703
+ elsif !attributes[self.class.attribute_map[key]].nil?
704
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
705
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
706
+ self.send("#{key}=", nil)
707
+ end
708
+ end
709
+
710
+ self
711
+ end
712
+
713
+ # Deserializes the data based on type
714
+ # @param string type Data type
715
+ # @param string value Value to be deserialized
716
+ # @return [Object] Deserialized data
717
+ def _deserialize(type, value)
718
+ case type.to_sym
719
+ when :DateTime
720
+ DateTime.parse(value)
721
+ when :Date
722
+ Date.parse(value)
723
+ when :String
724
+ value.to_s
725
+ when :Integer
726
+ value.to_i
727
+ when :Float
728
+ value.to_f
729
+ when :Boolean
730
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
731
+ true
732
+ else
733
+ false
734
+ end
735
+ when :Object
736
+ # generic object (usually a Hash), return directly
737
+ value
738
+ when /\AArray<(?<inner_type>.+)>\z/
739
+ inner_type = Regexp.last_match[:inner_type]
740
+ value.map { |v| _deserialize(inner_type, v) }
741
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
742
+ k_type = Regexp.last_match[:k_type]
743
+ v_type = Regexp.last_match[:v_type]
744
+ {}.tap do |hash|
745
+ value.each do |k, v|
746
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
747
+ end
748
+ end
749
+ else # model
750
+ Shortcut.const_get(type).build_from_hash(value)
751
+ end
752
+ end
753
+
754
+ # Returns the string representation of the object
755
+ # @return [String] String presentation of the object
756
+ def to_s
757
+ to_hash.to_s
758
+ end
759
+
760
+ # to_body is an alias to to_hash (backward compatibility)
761
+ # @return [Hash] Returns the object in the form of hash
762
+ def to_body
763
+ to_hash
764
+ end
765
+
766
+ # Returns the object in the form of hash
767
+ # @return [Hash] Returns the object in the form of hash
768
+ def to_hash
769
+ hash = {}
770
+ self.class.attribute_map.each_pair do |attr, param|
771
+ value = self.send(attr)
772
+ if value.nil?
773
+ is_nullable = self.class.openapi_nullable.include?(attr)
774
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
775
+ end
776
+
777
+ hash[param] = _to_hash(value)
778
+ end
779
+ hash
780
+ end
781
+
782
+ # Outputs non-array value in the form of hash
783
+ # For object, use to_hash. Otherwise, just return the value
784
+ # @param [Object] value Any valid value
785
+ # @return [Hash] Returns the value in the form of hash
786
+ def _to_hash(value)
787
+ if value.is_a?(Array)
788
+ value.compact.map { |v| _to_hash(v) }
789
+ elsif value.is_a?(Hash)
790
+ {}.tap do |hash|
791
+ value.each { |k, v| hash[k] = _to_hash(v) }
792
+ end
793
+ elsif value.respond_to? :to_hash
794
+ value.to_hash
795
+ else
796
+ value
797
+ end
798
+ end end
799
+ end