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,944 @@
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
+ # StorySlim represents the same resource as a Story, but is more light-weight. For certain fields it provides ids rather than full resources (e.g., `comment_ids` and `file_ids`) and it also excludes certain aggregate values (e.g., `cycle_time`). The `description` field can be optionally included. Use the [Get Story](#Get-Story) endpoint to fetch the unabridged payload for a Story.
16
+ class StorySlim
17
+ # The Shortcut application url for the Story.
18
+ attr_accessor :app_url
19
+
20
+ # The description of the Story.
21
+ attr_accessor :description
22
+
23
+ # True if the story has been archived or not.
24
+ attr_accessor :archived
25
+
26
+ # A true/false boolean indicating if the Story has been started.
27
+ attr_accessor :started
28
+
29
+ # An array of story links attached to the Story.
30
+ attr_accessor :story_links
31
+
32
+ # A string description of this resource.
33
+ attr_accessor :entity_type
34
+
35
+ # An array of labels attached to the story.
36
+ attr_accessor :labels
37
+
38
+ # An array of IDs of Tasks attached to the story.
39
+ attr_accessor :task_ids
40
+
41
+ # Deprecated: use member_mention_ids.
42
+ attr_accessor :mention_ids
43
+
44
+ # An array of Member IDs that have been mentioned in the Story description.
45
+ attr_accessor :member_mention_ids
46
+
47
+ # The type of story (feature, bug, chore).
48
+ attr_accessor :story_type
49
+
50
+ # An array of IDs of Files attached to the story.
51
+ attr_accessor :file_ids
52
+
53
+ # The number of tasks on the story which are complete.
54
+ attr_accessor :num_tasks_completed
55
+
56
+ # The ID of the workflow the story belongs to.
57
+ attr_accessor :workflow_id
58
+
59
+ # A manual override for the time/date the Story was completed.
60
+ attr_accessor :completed_at_override
61
+
62
+ # The time/date the Story was started.
63
+ attr_accessor :started_at
64
+
65
+ # The time/date the Story was completed.
66
+ attr_accessor :completed_at
67
+
68
+ # The name of the story.
69
+ attr_accessor :name
70
+
71
+ # A true/false boolean indicating if the Story has been completed.
72
+ attr_accessor :completed
73
+
74
+ # A true/false boolean indicating if the Story is currently a blocker of another story.
75
+ attr_accessor :blocker
76
+
77
+ # The ID of the epic the story belongs to.
78
+ attr_accessor :epic_id
79
+
80
+ # The ID of the story template used to create this story, or null if not created using a template.
81
+ attr_accessor :story_template_id
82
+
83
+ # An array of external links (strings) associated with a Story
84
+ attr_accessor :external_links
85
+
86
+ # The IDs of the iteration the story belongs to.
87
+ attr_accessor :previous_iteration_ids
88
+
89
+ # The ID of the Member that requested the story.
90
+ attr_accessor :requested_by_id
91
+
92
+ # The ID of the iteration the story belongs to.
93
+ attr_accessor :iteration_id
94
+
95
+ # An array of label ids attached to the story.
96
+ attr_accessor :label_ids
97
+
98
+ # A manual override for the time/date the Story was started.
99
+ attr_accessor :started_at_override
100
+
101
+ # The ID of the group associated with the story.
102
+ attr_accessor :group_id
103
+
104
+ # The ID of the workflow state the story is currently in.
105
+ attr_accessor :workflow_state_id
106
+
107
+ # The time/date the Story was updated.
108
+ attr_accessor :updated_at
109
+
110
+ # An array of Group IDs that have been mentioned in the Story description.
111
+ attr_accessor :group_mention_ids
112
+
113
+ # An array of UUIDs for any Members listed as Followers.
114
+ attr_accessor :follower_ids
115
+
116
+ # An array of UUIDs of the owners of this story.
117
+ attr_accessor :owner_ids
118
+
119
+ # This field can be set to another unique ID. In the case that the Story has been imported from another tool, the ID in the other tool can be indicated here.
120
+ attr_accessor :external_id
121
+
122
+ # The unique ID of the Story.
123
+ attr_accessor :id
124
+
125
+ # The lead time (in seconds) of this story when complete.
126
+ attr_accessor :lead_time
127
+
128
+ # The numeric point estimate of the story. Can also be null, which means unestimated.
129
+ attr_accessor :estimate
130
+
131
+ # A number representing the position of the story in relation to every other story in the current project.
132
+ attr_accessor :position
133
+
134
+ # A true/false boolean indicating if the Story is currently blocked.
135
+ attr_accessor :blocked
136
+
137
+ # The ID of the project the story belongs to.
138
+ attr_accessor :project_id
139
+
140
+ # An array of IDs of LinkedFiles attached to the story.
141
+ attr_accessor :linked_file_ids
142
+
143
+ # The due date of the story.
144
+ attr_accessor :deadline
145
+
146
+ attr_accessor :stats
147
+
148
+ # An array of IDs of Comments attached to the story.
149
+ attr_accessor :comment_ids
150
+
151
+ # The cycle time (in seconds) of this story when complete.
152
+ attr_accessor :cycle_time
153
+
154
+ # The time/date the Story was created.
155
+ attr_accessor :created_at
156
+
157
+ # The time/date the Story was last changed workflow-state.
158
+ attr_accessor :moved_at
159
+
160
+ # Attribute mapping from ruby-style variable name to JSON key.
161
+ def self.attribute_map
162
+ {
163
+ :'app_url' => :'app_url',
164
+ :'description' => :'description',
165
+ :'archived' => :'archived',
166
+ :'started' => :'started',
167
+ :'story_links' => :'story_links',
168
+ :'entity_type' => :'entity_type',
169
+ :'labels' => :'labels',
170
+ :'task_ids' => :'task_ids',
171
+ :'mention_ids' => :'mention_ids',
172
+ :'member_mention_ids' => :'member_mention_ids',
173
+ :'story_type' => :'story_type',
174
+ :'file_ids' => :'file_ids',
175
+ :'num_tasks_completed' => :'num_tasks_completed',
176
+ :'workflow_id' => :'workflow_id',
177
+ :'completed_at_override' => :'completed_at_override',
178
+ :'started_at' => :'started_at',
179
+ :'completed_at' => :'completed_at',
180
+ :'name' => :'name',
181
+ :'completed' => :'completed',
182
+ :'blocker' => :'blocker',
183
+ :'epic_id' => :'epic_id',
184
+ :'story_template_id' => :'story_template_id',
185
+ :'external_links' => :'external_links',
186
+ :'previous_iteration_ids' => :'previous_iteration_ids',
187
+ :'requested_by_id' => :'requested_by_id',
188
+ :'iteration_id' => :'iteration_id',
189
+ :'label_ids' => :'label_ids',
190
+ :'started_at_override' => :'started_at_override',
191
+ :'group_id' => :'group_id',
192
+ :'workflow_state_id' => :'workflow_state_id',
193
+ :'updated_at' => :'updated_at',
194
+ :'group_mention_ids' => :'group_mention_ids',
195
+ :'follower_ids' => :'follower_ids',
196
+ :'owner_ids' => :'owner_ids',
197
+ :'external_id' => :'external_id',
198
+ :'id' => :'id',
199
+ :'lead_time' => :'lead_time',
200
+ :'estimate' => :'estimate',
201
+ :'position' => :'position',
202
+ :'blocked' => :'blocked',
203
+ :'project_id' => :'project_id',
204
+ :'linked_file_ids' => :'linked_file_ids',
205
+ :'deadline' => :'deadline',
206
+ :'stats' => :'stats',
207
+ :'comment_ids' => :'comment_ids',
208
+ :'cycle_time' => :'cycle_time',
209
+ :'created_at' => :'created_at',
210
+ :'moved_at' => :'moved_at'
211
+ }
212
+ end
213
+
214
+ # Attribute type mapping.
215
+ def self.openapi_types
216
+ {
217
+ :'app_url' => :'Object',
218
+ :'description' => :'Object',
219
+ :'archived' => :'Object',
220
+ :'started' => :'Object',
221
+ :'story_links' => :'Object',
222
+ :'entity_type' => :'Object',
223
+ :'labels' => :'Object',
224
+ :'task_ids' => :'Object',
225
+ :'mention_ids' => :'Object',
226
+ :'member_mention_ids' => :'Object',
227
+ :'story_type' => :'Object',
228
+ :'file_ids' => :'Object',
229
+ :'num_tasks_completed' => :'Object',
230
+ :'workflow_id' => :'Object',
231
+ :'completed_at_override' => :'Object',
232
+ :'started_at' => :'Object',
233
+ :'completed_at' => :'Object',
234
+ :'name' => :'Object',
235
+ :'completed' => :'Object',
236
+ :'blocker' => :'Object',
237
+ :'epic_id' => :'Object',
238
+ :'story_template_id' => :'Object',
239
+ :'external_links' => :'Object',
240
+ :'previous_iteration_ids' => :'Object',
241
+ :'requested_by_id' => :'Object',
242
+ :'iteration_id' => :'Object',
243
+ :'label_ids' => :'Object',
244
+ :'started_at_override' => :'Object',
245
+ :'group_id' => :'Object',
246
+ :'workflow_state_id' => :'Object',
247
+ :'updated_at' => :'Object',
248
+ :'group_mention_ids' => :'Object',
249
+ :'follower_ids' => :'Object',
250
+ :'owner_ids' => :'Object',
251
+ :'external_id' => :'Object',
252
+ :'id' => :'Object',
253
+ :'lead_time' => :'Object',
254
+ :'estimate' => :'Object',
255
+ :'position' => :'Object',
256
+ :'blocked' => :'Object',
257
+ :'project_id' => :'Object',
258
+ :'linked_file_ids' => :'Object',
259
+ :'deadline' => :'Object',
260
+ :'stats' => :'Object',
261
+ :'comment_ids' => :'Object',
262
+ :'cycle_time' => :'Object',
263
+ :'created_at' => :'Object',
264
+ :'moved_at' => :'Object'
265
+ }
266
+ end
267
+
268
+ # List of attributes with nullable: true
269
+ def self.openapi_nullable
270
+ Set.new([
271
+ :'completed_at_override',
272
+ :'started_at',
273
+ :'completed_at',
274
+ :'epic_id',
275
+ :'story_template_id',
276
+ :'iteration_id',
277
+ :'started_at_override',
278
+ :'group_id',
279
+ :'updated_at',
280
+ :'external_id',
281
+ :'estimate',
282
+ :'project_id',
283
+ :'deadline',
284
+ :'moved_at'
285
+ ])
286
+ end
287
+
288
+ # Initializes the object
289
+ # @param [Hash] attributes Model attributes in the form of hash
290
+ def initialize(attributes = {})
291
+ if (!attributes.is_a?(Hash))
292
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Shortcut::StorySlim` initialize method"
293
+ end
294
+
295
+ # check to see if the attribute exists and convert string to symbol for hash key
296
+ attributes = attributes.each_with_object({}) { |(k, v), h|
297
+ if (!self.class.attribute_map.key?(k.to_sym))
298
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Shortcut::StorySlim`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
299
+ end
300
+ h[k.to_sym] = v
301
+ }
302
+
303
+ if attributes.key?(:'app_url')
304
+ self.app_url = attributes[:'app_url']
305
+ end
306
+
307
+ if attributes.key?(:'description')
308
+ self.description = attributes[:'description']
309
+ end
310
+
311
+ if attributes.key?(:'archived')
312
+ self.archived = attributes[:'archived']
313
+ end
314
+
315
+ if attributes.key?(:'started')
316
+ self.started = attributes[:'started']
317
+ end
318
+
319
+ if attributes.key?(:'story_links')
320
+ if (value = attributes[:'story_links']).is_a?(Array)
321
+ self.story_links = value
322
+ end
323
+ end
324
+
325
+ if attributes.key?(:'entity_type')
326
+ self.entity_type = attributes[:'entity_type']
327
+ end
328
+
329
+ if attributes.key?(:'labels')
330
+ if (value = attributes[:'labels']).is_a?(Array)
331
+ self.labels = value
332
+ end
333
+ end
334
+
335
+ if attributes.key?(:'task_ids')
336
+ if (value = attributes[:'task_ids']).is_a?(Array)
337
+ self.task_ids = value
338
+ end
339
+ end
340
+
341
+ if attributes.key?(:'mention_ids')
342
+ if (value = attributes[:'mention_ids']).is_a?(Array)
343
+ self.mention_ids = value
344
+ end
345
+ end
346
+
347
+ if attributes.key?(:'member_mention_ids')
348
+ if (value = attributes[:'member_mention_ids']).is_a?(Array)
349
+ self.member_mention_ids = value
350
+ end
351
+ end
352
+
353
+ if attributes.key?(:'story_type')
354
+ self.story_type = attributes[:'story_type']
355
+ end
356
+
357
+ if attributes.key?(:'file_ids')
358
+ if (value = attributes[:'file_ids']).is_a?(Array)
359
+ self.file_ids = value
360
+ end
361
+ end
362
+
363
+ if attributes.key?(:'num_tasks_completed')
364
+ self.num_tasks_completed = attributes[:'num_tasks_completed']
365
+ end
366
+
367
+ if attributes.key?(:'workflow_id')
368
+ self.workflow_id = attributes[:'workflow_id']
369
+ end
370
+
371
+ if attributes.key?(:'completed_at_override')
372
+ self.completed_at_override = attributes[:'completed_at_override']
373
+ end
374
+
375
+ if attributes.key?(:'started_at')
376
+ self.started_at = attributes[:'started_at']
377
+ end
378
+
379
+ if attributes.key?(:'completed_at')
380
+ self.completed_at = attributes[:'completed_at']
381
+ end
382
+
383
+ if attributes.key?(:'name')
384
+ self.name = attributes[:'name']
385
+ end
386
+
387
+ if attributes.key?(:'completed')
388
+ self.completed = attributes[:'completed']
389
+ end
390
+
391
+ if attributes.key?(:'blocker')
392
+ self.blocker = attributes[:'blocker']
393
+ end
394
+
395
+ if attributes.key?(:'epic_id')
396
+ self.epic_id = attributes[:'epic_id']
397
+ end
398
+
399
+ if attributes.key?(:'story_template_id')
400
+ self.story_template_id = attributes[:'story_template_id']
401
+ end
402
+
403
+ if attributes.key?(:'external_links')
404
+ if (value = attributes[:'external_links']).is_a?(Array)
405
+ self.external_links = value
406
+ end
407
+ end
408
+
409
+ if attributes.key?(:'previous_iteration_ids')
410
+ if (value = attributes[:'previous_iteration_ids']).is_a?(Array)
411
+ self.previous_iteration_ids = value
412
+ end
413
+ end
414
+
415
+ if attributes.key?(:'requested_by_id')
416
+ self.requested_by_id = attributes[:'requested_by_id']
417
+ end
418
+
419
+ if attributes.key?(:'iteration_id')
420
+ self.iteration_id = attributes[:'iteration_id']
421
+ end
422
+
423
+ if attributes.key?(:'label_ids')
424
+ if (value = attributes[:'label_ids']).is_a?(Array)
425
+ self.label_ids = value
426
+ end
427
+ end
428
+
429
+ if attributes.key?(:'started_at_override')
430
+ self.started_at_override = attributes[:'started_at_override']
431
+ end
432
+
433
+ if attributes.key?(:'group_id')
434
+ self.group_id = attributes[:'group_id']
435
+ end
436
+
437
+ if attributes.key?(:'workflow_state_id')
438
+ self.workflow_state_id = attributes[:'workflow_state_id']
439
+ end
440
+
441
+ if attributes.key?(:'updated_at')
442
+ self.updated_at = attributes[:'updated_at']
443
+ end
444
+
445
+ if attributes.key?(:'group_mention_ids')
446
+ if (value = attributes[:'group_mention_ids']).is_a?(Array)
447
+ self.group_mention_ids = value
448
+ end
449
+ end
450
+
451
+ if attributes.key?(:'follower_ids')
452
+ if (value = attributes[:'follower_ids']).is_a?(Array)
453
+ self.follower_ids = value
454
+ end
455
+ end
456
+
457
+ if attributes.key?(:'owner_ids')
458
+ if (value = attributes[:'owner_ids']).is_a?(Array)
459
+ self.owner_ids = value
460
+ end
461
+ end
462
+
463
+ if attributes.key?(:'external_id')
464
+ self.external_id = attributes[:'external_id']
465
+ end
466
+
467
+ if attributes.key?(:'id')
468
+ self.id = attributes[:'id']
469
+ end
470
+
471
+ if attributes.key?(:'lead_time')
472
+ self.lead_time = attributes[:'lead_time']
473
+ end
474
+
475
+ if attributes.key?(:'estimate')
476
+ self.estimate = attributes[:'estimate']
477
+ end
478
+
479
+ if attributes.key?(:'position')
480
+ self.position = attributes[:'position']
481
+ end
482
+
483
+ if attributes.key?(:'blocked')
484
+ self.blocked = attributes[:'blocked']
485
+ end
486
+
487
+ if attributes.key?(:'project_id')
488
+ self.project_id = attributes[:'project_id']
489
+ end
490
+
491
+ if attributes.key?(:'linked_file_ids')
492
+ if (value = attributes[:'linked_file_ids']).is_a?(Array)
493
+ self.linked_file_ids = value
494
+ end
495
+ end
496
+
497
+ if attributes.key?(:'deadline')
498
+ self.deadline = attributes[:'deadline']
499
+ end
500
+
501
+ if attributes.key?(:'stats')
502
+ self.stats = attributes[:'stats']
503
+ end
504
+
505
+ if attributes.key?(:'comment_ids')
506
+ if (value = attributes[:'comment_ids']).is_a?(Array)
507
+ self.comment_ids = value
508
+ end
509
+ end
510
+
511
+ if attributes.key?(:'cycle_time')
512
+ self.cycle_time = attributes[:'cycle_time']
513
+ end
514
+
515
+ if attributes.key?(:'created_at')
516
+ self.created_at = attributes[:'created_at']
517
+ end
518
+
519
+ if attributes.key?(:'moved_at')
520
+ self.moved_at = attributes[:'moved_at']
521
+ end
522
+ end
523
+
524
+ # Show invalid properties with the reasons. Usually used together with valid?
525
+ # @return Array for valid properties with the reasons
526
+ def list_invalid_properties
527
+ invalid_properties = Array.new
528
+ if @app_url.nil?
529
+ invalid_properties.push('invalid value for "app_url", app_url cannot be nil.')
530
+ end
531
+
532
+ if @archived.nil?
533
+ invalid_properties.push('invalid value for "archived", archived cannot be nil.')
534
+ end
535
+
536
+ if @started.nil?
537
+ invalid_properties.push('invalid value for "started", started cannot be nil.')
538
+ end
539
+
540
+ if @story_links.nil?
541
+ invalid_properties.push('invalid value for "story_links", story_links cannot be nil.')
542
+ end
543
+
544
+ if @entity_type.nil?
545
+ invalid_properties.push('invalid value for "entity_type", entity_type cannot be nil.')
546
+ end
547
+
548
+ if @labels.nil?
549
+ invalid_properties.push('invalid value for "labels", labels cannot be nil.')
550
+ end
551
+
552
+ if @task_ids.nil?
553
+ invalid_properties.push('invalid value for "task_ids", task_ids cannot be nil.')
554
+ end
555
+
556
+ if @mention_ids.nil?
557
+ invalid_properties.push('invalid value for "mention_ids", mention_ids cannot be nil.')
558
+ end
559
+
560
+ if @member_mention_ids.nil?
561
+ invalid_properties.push('invalid value for "member_mention_ids", member_mention_ids cannot be nil.')
562
+ end
563
+
564
+ if @story_type.nil?
565
+ invalid_properties.push('invalid value for "story_type", story_type cannot be nil.')
566
+ end
567
+
568
+ if @file_ids.nil?
569
+ invalid_properties.push('invalid value for "file_ids", file_ids cannot be nil.')
570
+ end
571
+
572
+ if @num_tasks_completed.nil?
573
+ invalid_properties.push('invalid value for "num_tasks_completed", num_tasks_completed cannot be nil.')
574
+ end
575
+
576
+ if @workflow_id.nil?
577
+ invalid_properties.push('invalid value for "workflow_id", workflow_id cannot be nil.')
578
+ end
579
+
580
+ if @completed_at_override.nil?
581
+ invalid_properties.push('invalid value for "completed_at_override", completed_at_override cannot be nil.')
582
+ end
583
+
584
+ if @started_at.nil?
585
+ invalid_properties.push('invalid value for "started_at", started_at cannot be nil.')
586
+ end
587
+
588
+ if @completed_at.nil?
589
+ invalid_properties.push('invalid value for "completed_at", completed_at cannot be nil.')
590
+ end
591
+
592
+ if @name.nil?
593
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
594
+ end
595
+
596
+ if @completed.nil?
597
+ invalid_properties.push('invalid value for "completed", completed cannot be nil.')
598
+ end
599
+
600
+ if @blocker.nil?
601
+ invalid_properties.push('invalid value for "blocker", blocker cannot be nil.')
602
+ end
603
+
604
+ if @epic_id.nil?
605
+ invalid_properties.push('invalid value for "epic_id", epic_id cannot be nil.')
606
+ end
607
+
608
+ if @story_template_id.nil?
609
+ invalid_properties.push('invalid value for "story_template_id", story_template_id cannot be nil.')
610
+ end
611
+
612
+ if @external_links.nil?
613
+ invalid_properties.push('invalid value for "external_links", external_links cannot be nil.')
614
+ end
615
+
616
+ if @previous_iteration_ids.nil?
617
+ invalid_properties.push('invalid value for "previous_iteration_ids", previous_iteration_ids cannot be nil.')
618
+ end
619
+
620
+ if @requested_by_id.nil?
621
+ invalid_properties.push('invalid value for "requested_by_id", requested_by_id cannot be nil.')
622
+ end
623
+
624
+ if @iteration_id.nil?
625
+ invalid_properties.push('invalid value for "iteration_id", iteration_id cannot be nil.')
626
+ end
627
+
628
+ if @label_ids.nil?
629
+ invalid_properties.push('invalid value for "label_ids", label_ids cannot be nil.')
630
+ end
631
+
632
+ if @started_at_override.nil?
633
+ invalid_properties.push('invalid value for "started_at_override", started_at_override cannot be nil.')
634
+ end
635
+
636
+ if @group_id.nil?
637
+ invalid_properties.push('invalid value for "group_id", group_id cannot be nil.')
638
+ end
639
+
640
+ if @workflow_state_id.nil?
641
+ invalid_properties.push('invalid value for "workflow_state_id", workflow_state_id cannot be nil.')
642
+ end
643
+
644
+ if @updated_at.nil?
645
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
646
+ end
647
+
648
+ if @group_mention_ids.nil?
649
+ invalid_properties.push('invalid value for "group_mention_ids", group_mention_ids cannot be nil.')
650
+ end
651
+
652
+ if @follower_ids.nil?
653
+ invalid_properties.push('invalid value for "follower_ids", follower_ids cannot be nil.')
654
+ end
655
+
656
+ if @owner_ids.nil?
657
+ invalid_properties.push('invalid value for "owner_ids", owner_ids cannot be nil.')
658
+ end
659
+
660
+ if @external_id.nil?
661
+ invalid_properties.push('invalid value for "external_id", external_id cannot be nil.')
662
+ end
663
+
664
+ if @id.nil?
665
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
666
+ end
667
+
668
+ if @estimate.nil?
669
+ invalid_properties.push('invalid value for "estimate", estimate cannot be nil.')
670
+ end
671
+
672
+ if @position.nil?
673
+ invalid_properties.push('invalid value for "position", position cannot be nil.')
674
+ end
675
+
676
+ if @blocked.nil?
677
+ invalid_properties.push('invalid value for "blocked", blocked cannot be nil.')
678
+ end
679
+
680
+ if @project_id.nil?
681
+ invalid_properties.push('invalid value for "project_id", project_id cannot be nil.')
682
+ end
683
+
684
+ if @linked_file_ids.nil?
685
+ invalid_properties.push('invalid value for "linked_file_ids", linked_file_ids cannot be nil.')
686
+ end
687
+
688
+ if @deadline.nil?
689
+ invalid_properties.push('invalid value for "deadline", deadline cannot be nil.')
690
+ end
691
+
692
+ if @stats.nil?
693
+ invalid_properties.push('invalid value for "stats", stats cannot be nil.')
694
+ end
695
+
696
+ if @comment_ids.nil?
697
+ invalid_properties.push('invalid value for "comment_ids", comment_ids cannot be nil.')
698
+ end
699
+
700
+ if @created_at.nil?
701
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
702
+ end
703
+
704
+ if @moved_at.nil?
705
+ invalid_properties.push('invalid value for "moved_at", moved_at cannot be nil.')
706
+ end
707
+
708
+ invalid_properties
709
+ end
710
+
711
+ # Check to see if the all the properties in the model are valid
712
+ # @return true if the model is valid
713
+ def valid?
714
+ return false if @app_url.nil?
715
+ return false if @archived.nil?
716
+ return false if @started.nil?
717
+ return false if @story_links.nil?
718
+ return false if @entity_type.nil?
719
+ return false if @labels.nil?
720
+ return false if @task_ids.nil?
721
+ return false if @mention_ids.nil?
722
+ return false if @member_mention_ids.nil?
723
+ return false if @story_type.nil?
724
+ return false if @file_ids.nil?
725
+ return false if @num_tasks_completed.nil?
726
+ return false if @workflow_id.nil?
727
+ return false if @completed_at_override.nil?
728
+ return false if @started_at.nil?
729
+ return false if @completed_at.nil?
730
+ return false if @name.nil?
731
+ return false if @completed.nil?
732
+ return false if @blocker.nil?
733
+ return false if @epic_id.nil?
734
+ return false if @story_template_id.nil?
735
+ return false if @external_links.nil?
736
+ return false if @previous_iteration_ids.nil?
737
+ return false if @requested_by_id.nil?
738
+ return false if @iteration_id.nil?
739
+ return false if @label_ids.nil?
740
+ return false if @started_at_override.nil?
741
+ return false if @group_id.nil?
742
+ return false if @workflow_state_id.nil?
743
+ return false if @updated_at.nil?
744
+ return false if @group_mention_ids.nil?
745
+ return false if @follower_ids.nil?
746
+ return false if @owner_ids.nil?
747
+ return false if @external_id.nil?
748
+ return false if @id.nil?
749
+ return false if @estimate.nil?
750
+ return false if @position.nil?
751
+ return false if @blocked.nil?
752
+ return false if @project_id.nil?
753
+ return false if @linked_file_ids.nil?
754
+ return false if @deadline.nil?
755
+ return false if @stats.nil?
756
+ return false if @comment_ids.nil?
757
+ return false if @created_at.nil?
758
+ return false if @moved_at.nil?
759
+ true
760
+ end
761
+
762
+ # Checks equality by comparing each attribute.
763
+ # @param [Object] Object to be compared
764
+ def ==(o)
765
+ return true if self.equal?(o)
766
+ self.class == o.class &&
767
+ app_url == o.app_url &&
768
+ description == o.description &&
769
+ archived == o.archived &&
770
+ started == o.started &&
771
+ story_links == o.story_links &&
772
+ entity_type == o.entity_type &&
773
+ labels == o.labels &&
774
+ task_ids == o.task_ids &&
775
+ mention_ids == o.mention_ids &&
776
+ member_mention_ids == o.member_mention_ids &&
777
+ story_type == o.story_type &&
778
+ file_ids == o.file_ids &&
779
+ num_tasks_completed == o.num_tasks_completed &&
780
+ workflow_id == o.workflow_id &&
781
+ completed_at_override == o.completed_at_override &&
782
+ started_at == o.started_at &&
783
+ completed_at == o.completed_at &&
784
+ name == o.name &&
785
+ completed == o.completed &&
786
+ blocker == o.blocker &&
787
+ epic_id == o.epic_id &&
788
+ story_template_id == o.story_template_id &&
789
+ external_links == o.external_links &&
790
+ previous_iteration_ids == o.previous_iteration_ids &&
791
+ requested_by_id == o.requested_by_id &&
792
+ iteration_id == o.iteration_id &&
793
+ label_ids == o.label_ids &&
794
+ started_at_override == o.started_at_override &&
795
+ group_id == o.group_id &&
796
+ workflow_state_id == o.workflow_state_id &&
797
+ updated_at == o.updated_at &&
798
+ group_mention_ids == o.group_mention_ids &&
799
+ follower_ids == o.follower_ids &&
800
+ owner_ids == o.owner_ids &&
801
+ external_id == o.external_id &&
802
+ id == o.id &&
803
+ lead_time == o.lead_time &&
804
+ estimate == o.estimate &&
805
+ position == o.position &&
806
+ blocked == o.blocked &&
807
+ project_id == o.project_id &&
808
+ linked_file_ids == o.linked_file_ids &&
809
+ deadline == o.deadline &&
810
+ stats == o.stats &&
811
+ comment_ids == o.comment_ids &&
812
+ cycle_time == o.cycle_time &&
813
+ created_at == o.created_at &&
814
+ moved_at == o.moved_at
815
+ end
816
+
817
+ # @see the `==` method
818
+ # @param [Object] Object to be compared
819
+ def eql?(o)
820
+ self == o
821
+ end
822
+
823
+ # Calculates hash code according to all attributes.
824
+ # @return [Integer] Hash code
825
+ def hash
826
+ [app_url, description, archived, started, story_links, entity_type, labels, task_ids, mention_ids, member_mention_ids, story_type, file_ids, num_tasks_completed, workflow_id, completed_at_override, started_at, completed_at, name, completed, blocker, epic_id, story_template_id, external_links, previous_iteration_ids, requested_by_id, iteration_id, label_ids, started_at_override, group_id, workflow_state_id, updated_at, group_mention_ids, follower_ids, owner_ids, external_id, id, lead_time, estimate, position, blocked, project_id, linked_file_ids, deadline, stats, comment_ids, cycle_time, created_at, moved_at].hash
827
+ end
828
+
829
+ # Builds the object from hash
830
+ # @param [Hash] attributes Model attributes in the form of hash
831
+ # @return [Object] Returns the model itself
832
+ def self.build_from_hash(attributes)
833
+ new.build_from_hash(attributes)
834
+ end
835
+
836
+ # Builds the object from hash
837
+ # @param [Hash] attributes Model attributes in the form of hash
838
+ # @return [Object] Returns the model itself
839
+ def build_from_hash(attributes)
840
+ return nil unless attributes.is_a?(Hash)
841
+ self.class.openapi_types.each_pair do |key, type|
842
+ if type =~ /\AArray<(.*)>/i
843
+ # check to ensure the input is an array given that the attribute
844
+ # is documented as an array but the input is not
845
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
846
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
847
+ end
848
+ elsif !attributes[self.class.attribute_map[key]].nil?
849
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
850
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
851
+ self.send("#{key}=", nil)
852
+ end
853
+ end
854
+
855
+ self
856
+ end
857
+
858
+ # Deserializes the data based on type
859
+ # @param string type Data type
860
+ # @param string value Value to be deserialized
861
+ # @return [Object] Deserialized data
862
+ def _deserialize(type, value)
863
+ case type.to_sym
864
+ when :DateTime
865
+ DateTime.parse(value)
866
+ when :Date
867
+ Date.parse(value)
868
+ when :String
869
+ value.to_s
870
+ when :Integer
871
+ value.to_i
872
+ when :Float
873
+ value.to_f
874
+ when :Boolean
875
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
876
+ true
877
+ else
878
+ false
879
+ end
880
+ when :Object
881
+ # generic object (usually a Hash), return directly
882
+ value
883
+ when /\AArray<(?<inner_type>.+)>\z/
884
+ inner_type = Regexp.last_match[:inner_type]
885
+ value.map { |v| _deserialize(inner_type, v) }
886
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
887
+ k_type = Regexp.last_match[:k_type]
888
+ v_type = Regexp.last_match[:v_type]
889
+ {}.tap do |hash|
890
+ value.each do |k, v|
891
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
892
+ end
893
+ end
894
+ else # model
895
+ Shortcut.const_get(type).build_from_hash(value)
896
+ end
897
+ end
898
+
899
+ # Returns the string representation of the object
900
+ # @return [String] String presentation of the object
901
+ def to_s
902
+ to_hash.to_s
903
+ end
904
+
905
+ # to_body is an alias to to_hash (backward compatibility)
906
+ # @return [Hash] Returns the object in the form of hash
907
+ def to_body
908
+ to_hash
909
+ end
910
+
911
+ # Returns the object in the form of hash
912
+ # @return [Hash] Returns the object in the form of hash
913
+ def to_hash
914
+ hash = {}
915
+ self.class.attribute_map.each_pair do |attr, param|
916
+ value = self.send(attr)
917
+ if value.nil?
918
+ is_nullable = self.class.openapi_nullable.include?(attr)
919
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
920
+ end
921
+
922
+ hash[param] = _to_hash(value)
923
+ end
924
+ hash
925
+ end
926
+
927
+ # Outputs non-array value in the form of hash
928
+ # For object, use to_hash. Otherwise, just return the value
929
+ # @param [Object] value Any valid value
930
+ # @return [Hash] Returns the value in the form of hash
931
+ def _to_hash(value)
932
+ if value.is_a?(Array)
933
+ value.compact.map { |v| _to_hash(v) }
934
+ elsif value.is_a?(Hash)
935
+ {}.tap do |hash|
936
+ value.each { |k, v| hash[k] = _to_hash(v) }
937
+ end
938
+ elsif value.respond_to? :to_hash
939
+ value.to_hash
940
+ else
941
+ value
942
+ end
943
+ end end
944
+ end