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