slack-ruby-client 0.16.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (234) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/danger.yml +19 -0
  3. data/.github/workflows/integtest.yml +25 -0
  4. data/.github/workflows/rubocop.yml +13 -0
  5. data/.github/workflows/test.yml +34 -0
  6. data/.gitignore +5 -3
  7. data/.rubocop.yml +6 -0
  8. data/.rubocop_todo.yml +137 -43
  9. data/CHANGELOG.md +34 -3
  10. data/CONTRIBUTING.md +4 -4
  11. data/Gemfile +18 -1
  12. data/Gemfile.danger +6 -0
  13. data/LICENSE.md +1 -1
  14. data/README.md +13 -12
  15. data/RELEASING.md +1 -1
  16. data/UPGRADING.md +42 -0
  17. data/bin/commands/admin_analytics.rb +2 -1
  18. data/bin/commands/admin_apps.rb +11 -0
  19. data/bin/commands/admin_apps_requests.rb +12 -0
  20. data/bin/commands/admin_auth_policy.rb +39 -0
  21. data/bin/commands/admin_conversations.rb +2 -1
  22. data/bin/commands/admin_conversations_restrictAccess.rb +1 -1
  23. data/bin/commands/admin_emoji.rb +2 -2
  24. data/bin/commands/admin_teams.rb +1 -1
  25. data/bin/commands/admin_users.rb +1 -0
  26. data/bin/commands/admin_users_session.rb +40 -0
  27. data/bin/commands/admin_users_unsupportedVersions.rb +15 -0
  28. data/bin/commands/apps_manifest.rb +52 -0
  29. data/bin/commands/bookmarks.rb +52 -0
  30. data/bin/commands/channels.rb +0 -157
  31. data/bin/commands/chat.rb +14 -9
  32. data/bin/commands/conversations.rb +61 -4
  33. data/bin/commands/dnd.rb +3 -1
  34. data/bin/commands/files.rb +2 -1
  35. data/bin/commands/groups.rb +0 -163
  36. data/bin/commands/im.rb +0 -62
  37. data/bin/commands/mpim.rb +0 -60
  38. data/bin/commands/oauth.rb +0 -13
  39. data/bin/commands/oauth_v2.rb +13 -1
  40. data/bin/commands/openid_connect.rb +27 -0
  41. data/bin/commands/pins.rb +2 -2
  42. data/bin/commands/reminders.rb +6 -0
  43. data/bin/commands/rtm.rb +2 -2
  44. data/bin/commands/search.rb +2 -1
  45. data/bin/commands/stars.rb +7 -6
  46. data/bin/commands/team.rb +1 -0
  47. data/bin/commands/team_billing.rb +13 -0
  48. data/bin/commands/team_preferences.rb +13 -0
  49. data/bin/commands/tooling_tokens.rb +14 -0
  50. data/bin/commands/usergroups.rb +1 -1
  51. data/bin/commands/users.rb +1 -1
  52. data/bin/commands/views.rb +1 -1
  53. data/bin/commands.rb +8 -9
  54. data/lib/slack/config.rb +1 -2
  55. data/lib/slack/events/request.rb +5 -3
  56. data/lib/slack/real_time/client.rb +6 -7
  57. data/lib/slack/real_time/concurrency/async.rb +6 -8
  58. data/lib/slack/real_time/config.rb +3 -13
  59. data/lib/slack/real_time/socket.rb +1 -2
  60. data/lib/slack/real_time/stores/base.rb +1 -6
  61. data/lib/slack/real_time/stores/starter.rb +6 -3
  62. data/lib/slack/real_time/stores/store.rb +5 -0
  63. data/lib/slack/version.rb +1 -1
  64. data/lib/slack/web/api/endpoints/admin_analytics.rb +5 -3
  65. data/lib/slack/web/api/endpoints/admin_apps.rb +21 -5
  66. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +2 -2
  67. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +20 -2
  68. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +2 -2
  69. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
  70. data/lib/slack/web/api/endpoints/admin_barriers.rb +6 -6
  71. data/lib/slack/web/api/endpoints/admin_conversations.rb +28 -26
  72. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +4 -4
  73. data/lib/slack/web/api/endpoints/admin_emoji.rb +11 -11
  74. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +7 -7
  75. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +3 -3
  76. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +2 -2
  77. data/lib/slack/web/api/endpoints/admin_teams.rb +7 -7
  78. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +2 -2
  79. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +2 -2
  80. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +5 -5
  81. data/lib/slack/web/api/endpoints/admin_usergroups.rb +10 -10
  82. data/lib/slack/web/api/endpoints/admin_users.rb +20 -18
  83. data/lib/slack/web/api/endpoints/admin_users_session.rb +65 -9
  84. data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +25 -0
  85. data/lib/slack/web/api/endpoints/api.rb +1 -1
  86. data/lib/slack/web/api/endpoints/apps.rb +2 -2
  87. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +3 -3
  88. data/lib/slack/web/api/endpoints/apps_manifest.rb +77 -0
  89. data/lib/slack/web/api/endpoints/auth.rb +1 -1
  90. data/lib/slack/web/api/endpoints/auth_teams.rb +3 -3
  91. data/lib/slack/web/api/endpoints/bookmarks.rb +86 -0
  92. data/lib/slack/web/api/endpoints/bots.rb +2 -2
  93. data/lib/slack/web/api/endpoints/calls.rb +15 -15
  94. data/lib/slack/web/api/endpoints/calls_participants.rb +4 -4
  95. data/lib/slack/web/api/endpoints/channels.rb +0 -265
  96. data/lib/slack/web/api/endpoints/chat.rb +67 -57
  97. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +3 -3
  98. data/lib/slack/web/api/endpoints/conversations.rb +117 -27
  99. data/lib/slack/web/api/endpoints/dialog.rb +2 -2
  100. data/lib/slack/web/api/endpoints/dnd.rb +6 -3
  101. data/lib/slack/web/api/endpoints/files.rb +16 -14
  102. data/lib/slack/web/api/endpoints/files_comments.rb +1 -1
  103. data/lib/slack/web/api/endpoints/files_remote.rb +20 -20
  104. data/lib/slack/web/api/endpoints/groups.rb +0 -273
  105. data/lib/slack/web/api/endpoints/im.rb +0 -107
  106. data/lib/slack/web/api/endpoints/migration.rb +3 -3
  107. data/lib/slack/web/api/endpoints/mpim.rb +0 -102
  108. data/lib/slack/web/api/endpoints/oauth.rb +5 -27
  109. data/lib/slack/web/api/endpoints/oauth_v2.rb +24 -6
  110. data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
  111. data/lib/slack/web/api/endpoints/pins.rb +4 -4
  112. data/lib/slack/web/api/endpoints/reactions.rb +12 -12
  113. data/lib/slack/web/api/endpoints/reminders.rb +17 -5
  114. data/lib/slack/web/api/endpoints/rtm.rb +10 -10
  115. data/lib/slack/web/api/endpoints/search.rb +24 -16
  116. data/lib/slack/web/api/endpoints/stars.rb +11 -9
  117. data/lib/slack/web/api/endpoints/team.rb +10 -8
  118. data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
  119. data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
  120. data/lib/slack/web/api/endpoints/team_profile.rb +1 -1
  121. data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
  122. data/lib/slack/web/api/endpoints/usergroups.rb +19 -19
  123. data/lib/slack/web/api/endpoints/usergroups_users.rb +7 -7
  124. data/lib/slack/web/api/endpoints/users.rb +16 -16
  125. data/lib/slack/web/api/endpoints/users_profile.rb +4 -4
  126. data/lib/slack/web/api/endpoints/views.rb +12 -12
  127. data/lib/slack/web/api/endpoints/workflows.rb +9 -9
  128. data/lib/slack/web/api/endpoints.rb +16 -20
  129. data/lib/slack/web/api/errors/server_error.rb +37 -0
  130. data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -4
  131. data/lib/slack/web/api/errors.rb +232 -16
  132. data/lib/slack/web/api/mixins.rb +0 -2
  133. data/lib/slack/web/api/patches/chat.1.patch +7 -9
  134. data/lib/slack/web/api/templates/endpoints.erb +0 -2
  135. data/lib/slack/web/faraday/connection.rb +5 -5
  136. data/lib/slack/web/faraday/request.rb +4 -1
  137. data/lib/slack/web/faraday/response/raise_error.rb +2 -14
  138. data/lib/slack/web/faraday/response/wrap_error.rb +11 -5
  139. data/lib/slack/web/pagination/cursor.rb +1 -5
  140. data/lib/slack-ruby-client.rb +3 -2
  141. data/lib/tasks/real_time.rake +1 -3
  142. data/lib/tasks/web.rake +4 -0
  143. data/slack-ruby-client.gemspec +5 -14
  144. data/spec/fixtures/slack/web/429_error.yml +50 -54
  145. data/spec/fixtures/slack/web/auth_test_error.yml +51 -18
  146. data/spec/fixtures/slack/web/auth_test_success.yml +50 -26
  147. data/spec/fixtures/slack/web/conversations_info.yml +167 -0
  148. data/spec/fixtures/slack/web/conversations_setTopic.yml +42 -27
  149. data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +89 -59
  150. data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +131 -86
  151. data/spec/fixtures/slack/web/paginated_users_list.yml +501 -69
  152. data/spec/fixtures/slack/web/rtm_connect.yml +267 -30
  153. data/spec/fixtures/slack/web/rtm_start.yml +771 -60
  154. data/spec/fixtures/slack/web/users_info.yml +153 -69
  155. data/spec/fixtures/slack/web/users_list.yml +102 -41
  156. data/spec/fixtures/slack/web/views_open_error.yml +49 -42
  157. data/spec/integration/integration_spec.rb +1 -1
  158. data/spec/slack/events/request_spec.rb +7 -6
  159. data/spec/slack/real_time/client_spec.rb +37 -39
  160. data/spec/slack/real_time/concurrency/with_concurrency_spec.rb +10 -0
  161. data/spec/slack/real_time/concurrency/without_concurrency_spec.rb +10 -0
  162. data/spec/slack/real_time/event_handlers/bot_spec.rb +1 -1
  163. data/spec/slack/real_time/event_handlers/channel_spec.rb +9 -9
  164. data/spec/slack/real_time/event_handlers/group_spec.rb +2 -2
  165. data/spec/slack/real_time/event_handlers/im_spec.rb +7 -7
  166. data/spec/slack/real_time/event_handlers/user_spec.rb +2 -2
  167. data/spec/slack/real_time/rtm_connect_spec.rb +1 -1
  168. data/spec/slack/real_time/rtm_start_spec.rb +1 -1
  169. data/spec/slack/real_time/store_spec.rb +2 -2
  170. data/spec/slack/slack_spec.rb +7 -5
  171. data/spec/slack/version_spec.rb +1 -1
  172. data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +5 -0
  173. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +5 -0
  174. data/spec/slack/web/api/endpoints/admin_auth_policy_spec.rb +35 -0
  175. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +9 -9
  176. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +1 -1
  177. data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +6 -6
  178. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +22 -2
  179. data/spec/slack/web/api/endpoints/admin_users_spec.rb +8 -8
  180. data/spec/slack/web/api/endpoints/admin_users_unsupportedVersions_spec.rb +8 -0
  181. data/spec/slack/web/api/endpoints/apps_manifest_spec.rb +36 -0
  182. data/spec/slack/web/api/endpoints/apps_spec.rb +2 -2
  183. data/spec/slack/web/api/endpoints/bookmarks_spec.rb +40 -0
  184. data/spec/slack/web/api/endpoints/calls_participants_spec.rb +4 -4
  185. data/spec/slack/web/api/endpoints/calls_spec.rb +2 -2
  186. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +4 -6
  187. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +28 -16
  188. data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
  189. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +4 -2
  190. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +2 -2
  191. data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +22 -14
  192. data/spec/slack/web/api/endpoints/dnd_spec.rb +0 -5
  193. data/spec/slack/web/api/endpoints/files_comments_spec.rb +2 -2
  194. data/spec/slack/web/api/endpoints/files_remote_spec.rb +3 -3
  195. data/spec/slack/web/api/endpoints/oauth_spec.rb +0 -11
  196. data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +6 -3
  197. data/spec/slack/web/api/endpoints/{apps_permissions_scopes_spec.rb → openid_connect_spec.rb} +1 -1
  198. data/spec/slack/web/api/endpoints/reactions_spec.rb +3 -3
  199. data/spec/slack/web/api/endpoints/reminders_spec.rb +2 -2
  200. data/spec/slack/web/api/endpoints/{apps_permissions_resources_spec.rb → team_billing_spec.rb} +1 -1
  201. data/spec/slack/web/api/endpoints/team_preferences_spec.rb +8 -0
  202. data/spec/slack/web/api/endpoints/tooling_tokens_spec.rb +13 -0
  203. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +2 -2
  204. data/spec/slack/web/api/error_spec.rb +5 -7
  205. data/spec/slack/web/api/errors/slack_error_spec.rb +21 -26
  206. data/spec/slack/web/api/mixins/conversations_list_spec.rb +1 -1
  207. data/spec/slack/web/api/pagination/cursor_spec.rb +8 -10
  208. data/spec/slack/web/client_spec.rb +46 -32
  209. data/spec/slack/web/faraday/request_spec.rb +80 -0
  210. data/spec/slack/web/faraday/response/raise_error_spec.rb +2 -1
  211. data/spec/spec_helper.rb +1 -1
  212. data/spec/support/real_time/connected_client.rb +2 -8
  213. data/spec/support/vcr.rb +33 -2
  214. metadata +50 -297
  215. data/.travis.yml +0 -28
  216. data/lib/slack/web/api/errors/internal_error.rb +0 -14
  217. data/lib/slack/web/api/mixins/channels.id.json +0 -20
  218. data/lib/slack/web/api/mixins/channels.id.rb +0 -25
  219. data/lib/slack/web/api/mixins/groups.id.json +0 -20
  220. data/lib/slack/web/api/mixins/groups.id.rb +0 -25
  221. data/spec/fixtures/slack/web/503_error.yml +0 -14
  222. data/spec/fixtures/slack/web/channels_info.yml +0 -139
  223. data/spec/fixtures/slack/web/groups_info.yml +0 -43
  224. data/spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb +0 -32
  225. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +0 -16
  226. data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +0 -19
  227. data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -109
  228. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -13
  229. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -13
  230. data/spec/slack/web/api/endpoints/im_spec.rb +0 -39
  231. data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -39
  232. data/spec/slack/web/api/endpoints/views_spec.rb +0 -29
  233. data/spec/slack/web/api/mixins/channels_spec.rb +0 -43
  234. data/spec/slack/web/api/mixins/groups_spec.rb +0 -43
@@ -9,11 +9,11 @@ module Slack
9
9
  #
10
10
  # Create an Information Barrier
11
11
  #
12
- # @option options [Object] :barriered_from_usergroup_ids
12
+ # @option options [array] :barriered_from_usergroup_ids
13
13
  # A list of IDP Groups ids that the primary usergroup is to be barriered from.
14
14
  # @option options [Object] :primary_usergroup_id
15
15
  # The id of the primary IDP Group.
16
- # @option options [Object] :restricted_subjects
16
+ # @option options [array] :restricted_subjects
17
17
  # What kind of interactions are blocked by this barrier? For v1, we only support a list of all 3, eg im, mpim, call.
18
18
  # @see https://api.slack.com/methods/admin.barriers.create
19
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.barriers/admin.barriers.create.json
@@ -39,9 +39,9 @@ module Slack
39
39
  #
40
40
  # Get all Information Barriers for your organization
41
41
  #
42
- # @option options [Object] :cursor
42
+ # @option options [string] :cursor
43
43
  # Set cursor to next_cursor returned by the previous call to list items in the next page.
44
- # @option options [Object] :limit
44
+ # @option options [integer] :limit
45
45
  # The maximum number of items to return. Must be between 1 - 1000 both inclusive.
46
46
  # @see https://api.slack.com/methods/admin.barriers.list
47
47
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.barriers/admin.barriers.list.json
@@ -60,11 +60,11 @@ module Slack
60
60
  #
61
61
  # @option options [Object] :barrier_id
62
62
  # The ID of the barrier you're trying to modify.
63
- # @option options [Object] :barriered_from_usergroup_ids
63
+ # @option options [array] :barriered_from_usergroup_ids
64
64
  # A list of IDP Groups ids that the primary usergroup is to be barriered from.
65
65
  # @option options [Object] :primary_usergroup_id
66
66
  # The id of the primary IDP Group.
67
- # @option options [Object] :restricted_subjects
67
+ # @option options [array] :restricted_subjects
68
68
  # What kind of interactions are blocked by this barrier? For v1, we only support a list of all 3, eg im, mpim, call.
69
69
  # @see https://api.slack.com/methods/admin.barriers.update
70
70
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.barriers/admin.barriers.update.json
@@ -23,6 +23,8 @@ module Slack
23
23
  #
24
24
  # @option options [Object] :channel_id
25
25
  # The channel to convert to private.
26
+ # @option options [string] :name
27
+ # Name of private channel to create. Only respected when converting an MPIM.
26
28
  # @see https://api.slack.com/methods/admin.conversations.convertToPrivate
27
29
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.convertToPrivate.json
28
30
  def admin_conversations_convertToPrivate(options = {})
@@ -33,13 +35,13 @@ module Slack
33
35
  #
34
36
  # Create a public or private channel-based conversation.
35
37
  #
36
- # @option options [Object] :is_private
38
+ # @option options [boolean] :is_private
37
39
  # When true, creates a private channel instead of a public channel.
38
- # @option options [Object] :name
40
+ # @option options [string] :name
39
41
  # Name of the public or private channel to create.
40
- # @option options [Object] :description
42
+ # @option options [string] :description
41
43
  # Description of the public or private channel to create.
42
- # @option options [Object] :org_wide
44
+ # @option options [boolean] :org_wide
43
45
  # When true, the channel will be available org-wide. Note: if the channel is not org_wide=true, you must specify a team_id for this channel.
44
46
  # @option options [Object] :team_id
45
47
  # The workspace to create the channel in. Note: this argument is required unless you set org_wide=true.
@@ -68,8 +70,8 @@ module Slack
68
70
  #
69
71
  # @option options [Object] :channel_id
70
72
  # The channel to be disconnected from some workspaces.
71
- # @option options [Object] :leaving_team_ids
72
- # The team to be removed from the channel. Currently only a single team id can be specified.
73
+ # @option options [array] :leaving_team_ids
74
+ # team IDs getting removed from the channel, optional if there are only two teams in the channel.
73
75
  # @see https://api.slack.com/methods/admin.conversations.disconnectShared
74
76
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.disconnectShared.json
75
77
  def admin_conversations_disconnectShared(options = {})
@@ -92,7 +94,7 @@ module Slack
92
94
  #
93
95
  # This API endpoint can be used by any admin to get a channel's retention policy.
94
96
  #
95
- # @option options [Object] :channel_id
97
+ # @option options [string] :channel_id
96
98
  # The channel to get the retention policy for.
97
99
  # @see https://api.slack.com/methods/admin.conversations.getCustomRetention
98
100
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.getCustomRetention.json
@@ -106,9 +108,9 @@ module Slack
106
108
  #
107
109
  # @option options [Object] :channel_id
108
110
  # The channel to determine connected workspaces within the organization for.
109
- # @option options [Object] :cursor
111
+ # @option options [string] :cursor
110
112
  # Set cursor to next_cursor returned by the previous call to list items in the next page.
111
- # @option options [Object] :limit
113
+ # @option options [integer] :limit
112
114
  # The maximum number of items to return. Must be between 1 - 1000 both inclusive.
113
115
  # @see https://api.slack.com/methods/admin.conversations.getTeams
114
116
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.getTeams.json
@@ -128,7 +130,7 @@ module Slack
128
130
  #
129
131
  # @option options [Object] :channel_id
130
132
  # The channel that the users will be invited to.
131
- # @option options [Object] :user_ids
133
+ # @option options [array] :user_ids
132
134
  # The users to invite.
133
135
  # @see https://api.slack.com/methods/admin.conversations.invite
134
136
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.invite.json
@@ -141,7 +143,7 @@ module Slack
141
143
  #
142
144
  # This API endpoint can be used by any admin to remove a channel's retention policy.
143
145
  #
144
- # @option options [Object] :channel_id
146
+ # @option options [string] :channel_id
145
147
  # The channel to set the retention policy for.
146
148
  # @see https://api.slack.com/methods/admin.conversations.removeCustomRetention
147
149
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.removeCustomRetention.json
@@ -155,7 +157,7 @@ module Slack
155
157
  #
156
158
  # @option options [Object] :channel_id
157
159
  # The channel to rename.
158
- # @option options [Object] :name
160
+ # @option options [string] :name
159
161
  # .
160
162
  # @see https://api.slack.com/methods/admin.conversations.rename
161
163
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.rename.json
@@ -168,19 +170,19 @@ module Slack
168
170
  #
169
171
  # Search for public or private channels in an Enterprise organization.
170
172
  #
171
- # @option options [Object] :cursor
173
+ # @option options [string] :cursor
172
174
  # Set cursor to next_cursor returned by the previous call to list items in the next page.
173
- # @option options [Object] :limit
175
+ # @option options [integer] :limit
174
176
  # Maximum number of items to be returned. Must be between 1 - 20 both inclusive. Default is 10.
175
- # @option options [Object] :query
177
+ # @option options [string] :query
176
178
  # Name of the the channel to query by.
177
- # @option options [Object] :search_channel_types
179
+ # @option options [array] :search_channel_types
178
180
  # The type of channel to include or exclude in the search. For example private will search private channels, while private_exclude will exclude them. For a full list of types, check the Types section.
179
- # @option options [Object] :sort
181
+ # @option options [string] :sort
180
182
  # Possible values are relevant (search ranking based on what we think is closest), name (alphabetical), member_count (number of users in the channel), and created (date channel was created). You can optionally pair this with the sort_dir arg to change how it is sorted.
181
- # @option options [Object] :sort_dir
183
+ # @option options [string] :sort_dir
182
184
  # Sort direction. Possible values are asc for ascending order like (1, 2, 3) or (a, b, c), and desc for descending order like (3, 2, 1) or (c, b, a).
183
- # @option options [Object] :team_ids
185
+ # @option options [array] :team_ids
184
186
  # Comma separated string of team IDs, signifying the workspaces to search through.
185
187
  # @see https://api.slack.com/methods/admin.conversations.search
186
188
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.search.json
@@ -197,9 +199,9 @@ module Slack
197
199
  #
198
200
  # Set the posting permissions for a public or private channel.
199
201
  #
200
- # @option options [Object] :channel_id
202
+ # @option options [string] :channel_id
201
203
  # The channel to set the prefs for.
202
- # @option options [Object] :prefs
204
+ # @option options [string] :prefs
203
205
  # The prefs for this channel in a stringified JSON format.
204
206
  # @see https://api.slack.com/methods/admin.conversations.setConversationPrefs
205
207
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.setConversationPrefs.json
@@ -212,9 +214,9 @@ module Slack
212
214
  #
213
215
  # This API endpoint can be used by any admin to set a channel's retention policy.
214
216
  #
215
- # @option options [Object] :channel_id
217
+ # @option options [string] :channel_id
216
218
  # The channel to set the retention policy for.
217
- # @option options [Object] :duration_days
219
+ # @option options [integer] :duration_days
218
220
  # The message retention duration in days to set for this channel.
219
221
  # @see https://api.slack.com/methods/admin.conversations.setCustomRetention
220
222
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.setCustomRetention.json
@@ -227,11 +229,11 @@ module Slack
227
229
  #
228
230
  # Set the workspaces in an Enterprise grid org that connect to a public or private channel.
229
231
  #
230
- # @option options [Object] :channel_id
232
+ # @option options [string] :channel_id
231
233
  # The encoded channel_id to add or remove to workspaces.
232
- # @option options [Object] :org_channel
234
+ # @option options [boolean] :org_channel
233
235
  # True if channel has to be converted to an org channel.
234
- # @option options [Object] :target_team_ids
236
+ # @option options [array] :target_team_ids
235
237
  # A comma-separated list of workspaces to which the channel should be shared. Not required if the channel is being shared org-wide.
236
238
  # @option options [Object] :team_id
237
239
  # The workspace to which the channel belongs. Omit this argument if the channel is a cross-workspace shared channel.
@@ -9,13 +9,13 @@ module Slack
9
9
  #
10
10
  # List all disconnected channels—i.e., channels that were once connected to other workspaces and then disconnected—and the corresponding original channel IDs for key revocation with EKM.
11
11
  #
12
- # @option options [Object] :channel_ids
12
+ # @option options [string] :channel_ids
13
13
  # A comma-separated list of channels to filter to.
14
- # @option options [Object] :cursor
14
+ # @option options [string] :cursor
15
15
  # Set cursor to next_cursor returned by the previous call to list items in the next page.
16
- # @option options [Object] :limit
16
+ # @option options [integer] :limit
17
17
  # The maximum number of items to return. Must be between 1 - 1000 both inclusive.
18
- # @option options [Object] :team_ids
18
+ # @option options [string] :team_ids
19
19
  # A comma-separated list of the workspaces to which the channels you would like returned belong.
20
20
  # @see https://api.slack.com/methods/admin.conversations.ekm.listOriginalConnectedChannelInfo
21
21
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations.ekm/admin.conversations.ekm.listOriginalConnectedChannelInfo.json
@@ -9,9 +9,9 @@ module Slack
9
9
  #
10
10
  # Add an emoji.
11
11
  #
12
- # @option options [Object] :name
12
+ # @option options [string] :name
13
13
  # The name of the emoji to be added. Colons (:myemoji:) around the value are not required, although they may be included.
14
- # @option options [Object] :url
14
+ # @option options [string] :url
15
15
  # The URL of a file to use as an image for the emoji. Square images under 128KB and with transparent backgrounds work best.
16
16
  # @see https://api.slack.com/methods/admin.emoji.add
17
17
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.emoji/admin.emoji.add.json
@@ -24,10 +24,10 @@ module Slack
24
24
  #
25
25
  # Add an emoji alias.
26
26
  #
27
- # @option options [Object] :alias_for
28
- # The alias of the emoji.
29
- # @option options [Object] :name
30
- # The name of the emoji to be aliased. Colons (:myemoji:) around the value are not required, although they may be included.
27
+ # @option options [string] :alias_for
28
+ # Name of the emoji for which the alias is being made. Any wrapping whitespace or colons will be automatically trimmed.
29
+ # @option options [string] :name
30
+ # The new alias for the specified emoji. Any wrapping whitespace or colons will be automatically trimmed.
31
31
  # @see https://api.slack.com/methods/admin.emoji.addAlias
32
32
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.emoji/admin.emoji.addAlias.json
33
33
  def admin_emoji_addAlias(options = {})
@@ -39,9 +39,9 @@ module Slack
39
39
  #
40
40
  # List emoji for an Enterprise Grid organization.
41
41
  #
42
- # @option options [Object] :cursor
42
+ # @option options [string] :cursor
43
43
  # Set cursor to next_cursor returned by the previous call to list items in the next page.
44
- # @option options [Object] :limit
44
+ # @option options [integer] :limit
45
45
  # The maximum number of items to return. Must be between 1 - 1000 both inclusive.
46
46
  # @see https://api.slack.com/methods/admin.emoji.list
47
47
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.emoji/admin.emoji.list.json
@@ -58,7 +58,7 @@ module Slack
58
58
  #
59
59
  # Remove an emoji across an Enterprise Grid organization
60
60
  #
61
- # @option options [Object] :name
61
+ # @option options [string] :name
62
62
  # The name of the emoji to be removed. Colons (:myemoji:) around the value are not required, although they may be included.
63
63
  # @see https://api.slack.com/methods/admin.emoji.remove
64
64
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.emoji/admin.emoji.remove.json
@@ -70,9 +70,9 @@ module Slack
70
70
  #
71
71
  # Rename an emoji.
72
72
  #
73
- # @option options [Object] :name
73
+ # @option options [string] :name
74
74
  # The name of the emoji to be renamed. Colons (:myemoji:) around the value are not required, although they may be included.
75
- # @option options [Object] :new_name
75
+ # @option options [string] :new_name
76
76
  # The new name of the emoji.
77
77
  # @see https://api.slack.com/methods/admin.emoji.rename
78
78
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.emoji/admin.emoji.rename.json
@@ -9,9 +9,9 @@ module Slack
9
9
  #
10
10
  # Approve a workspace invite request.
11
11
  #
12
- # @option options [Object] :invite_request_id
12
+ # @option options [string] :invite_request_id
13
13
  # ID of the request to invite.
14
- # @option options [Object] :team_id
14
+ # @option options [string] :team_id
15
15
  # ID for the workspace where the invite request was made.
16
16
  # @see https://api.slack.com/methods/admin.inviteRequests.approve
17
17
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.inviteRequests/admin.inviteRequests.approve.json
@@ -23,9 +23,9 @@ module Slack
23
23
  #
24
24
  # Deny a workspace invite request.
25
25
  #
26
- # @option options [Object] :invite_request_id
26
+ # @option options [string] :invite_request_id
27
27
  # ID of the request to invite.
28
- # @option options [Object] :team_id
28
+ # @option options [string] :team_id
29
29
  # ID for the workspace where the invite request was made.
30
30
  # @see https://api.slack.com/methods/admin.inviteRequests.deny
31
31
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.inviteRequests/admin.inviteRequests.deny.json
@@ -37,11 +37,11 @@ module Slack
37
37
  #
38
38
  # List all pending workspace invite requests.
39
39
  #
40
- # @option options [Object] :cursor
40
+ # @option options [string] :cursor
41
41
  # Value of the next_cursor field sent as part of the previous API response.
42
- # @option options [Object] :limit
42
+ # @option options [integer] :limit
43
43
  # The number of results that will be returned by the API on each invocation. Must be between 1 - 1000, both inclusive.
44
- # @option options [Object] :team_id
44
+ # @option options [string] :team_id
45
45
  # ID for the workspace where the invite requests were made.
46
46
  # @see https://api.slack.com/methods/admin.inviteRequests.list
47
47
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.inviteRequests/admin.inviteRequests.list.json
@@ -9,11 +9,11 @@ module Slack
9
9
  #
10
10
  # List all approved workspace invite requests.
11
11
  #
12
- # @option options [Object] :cursor
12
+ # @option options [string] :cursor
13
13
  # Value of the next_cursor field sent as part of the previous API response.
14
- # @option options [Object] :limit
14
+ # @option options [integer] :limit
15
15
  # The number of results that will be returned by the API on each invocation. Must be between 1 - 1000, both inclusive.
16
- # @option options [Object] :team_id
16
+ # @option options [string] :team_id
17
17
  # ID for the workspace where the invite requests were made.
18
18
  # @see https://api.slack.com/methods/admin.inviteRequests.approved.list
19
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.inviteRequests.approved/admin.inviteRequests.approved.list.json
@@ -9,9 +9,9 @@ module Slack
9
9
  #
10
10
  # List all denied workspace invite requests.
11
11
  #
12
- # @option options [Object] :cursor
12
+ # @option options [string] :cursor
13
13
  # Value of the next_cursor field sent as part of the previous api response.
14
- # @option options [Object] :limit
14
+ # @option options [integer] :limit
15
15
  # The number of results that will be returned by the API on each invocation. Must be between 1 - 1000 both inclusive.
16
16
  # @option options [Object] :team_id
17
17
  # ID for the workspace where the invite requests were made.
@@ -9,13 +9,13 @@ module Slack
9
9
  #
10
10
  # Create an Enterprise team.
11
11
  #
12
- # @option options [Object] :team_domain
13
- # Team domain (for example, slacksoftballteam).
14
- # @option options [Object] :team_name
12
+ # @option options [string] :team_domain
13
+ # Team domain (for example, slacksoftballteam). Domains are limited to 21 characters.
14
+ # @option options [string] :team_name
15
15
  # Team name (for example, Slack Softball Team).
16
- # @option options [Object] :team_description
16
+ # @option options [string] :team_description
17
17
  # Description for the team.
18
- # @option options [Object] :team_discoverability
18
+ # @option options [string] :team_discoverability
19
19
  # Who can join the team. A team's discoverability can be open, closed, invite_only, or unlisted.
20
20
  # @see https://api.slack.com/methods/admin.teams.create
21
21
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.teams/admin.teams.create.json
@@ -28,9 +28,9 @@ module Slack
28
28
  #
29
29
  # List all teams on an Enterprise organization
30
30
  #
31
- # @option options [Object] :cursor
31
+ # @option options [string] :cursor
32
32
  # Set cursor to next_cursor returned by the previous call to list items in the next page.
33
- # @option options [Object] :limit
33
+ # @option options [integer] :limit
34
34
  # The maximum number of items to return. Must be between 1 - 100 both inclusive.
35
35
  # @see https://api.slack.com/methods/admin.teams.list
36
36
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.teams/admin.teams.list.json
@@ -11,9 +11,9 @@ module Slack
11
11
  #
12
12
  # @option options [Object] :team_id
13
13
  # .
14
- # @option options [Object] :cursor
14
+ # @option options [string] :cursor
15
15
  # Set cursor to next_cursor returned by the previous call to list items in the next page.
16
- # @option options [Object] :limit
16
+ # @option options [integer] :limit
17
17
  # The maximum number of items to return.
18
18
  # @see https://api.slack.com/methods/admin.teams.admins.list
19
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.teams.admins/admin.teams.admins.list.json
@@ -11,9 +11,9 @@ module Slack
11
11
  #
12
12
  # @option options [Object] :team_id
13
13
  # .
14
- # @option options [Object] :cursor
14
+ # @option options [string] :cursor
15
15
  # Set cursor to next_cursor returned by the previous call to list items in the next page.
16
- # @option options [Object] :limit
16
+ # @option options [integer] :limit
17
17
  # The maximum number of items to return. Must be between 1 - 1000 both inclusive.
18
18
  # @see https://api.slack.com/methods/admin.teams.owners.list
19
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.teams.owners/admin.teams.owners.list.json
@@ -21,7 +21,7 @@ module Slack
21
21
  #
22
22
  # Set the default channels of a workspace.
23
23
  #
24
- # @option options [Object] :channel_ids
24
+ # @option options [array] :channel_ids
25
25
  # An array of channel IDs.
26
26
  # @option options [Object] :team_id
27
27
  # ID for the workspace to set the default channel for.
@@ -36,7 +36,7 @@ module Slack
36
36
  #
37
37
  # Set the description of a given workspace.
38
38
  #
39
- # @option options [Object] :description
39
+ # @option options [string] :description
40
40
  # The new description for the workspace.
41
41
  # @option options [Object] :team_id
42
42
  # ID for the workspace to set the description for.
@@ -51,7 +51,7 @@ module Slack
51
51
  #
52
52
  # An API method that allows admins to set the discoverability of a given workspace
53
53
  #
54
- # @option options [Object] :discoverability
54
+ # @option options [string] :discoverability
55
55
  # This workspace's discovery setting. It must be set to one of open, invite_only, closed, or unlisted.
56
56
  # @option options [Object] :team_id
57
57
  # The ID of the workspace to set discoverability on.
@@ -66,7 +66,7 @@ module Slack
66
66
  #
67
67
  # Sets the icon of a workspace.
68
68
  #
69
- # @option options [Object] :image_url
69
+ # @option options [string] :image_url
70
70
  # Image URL for the icon.
71
71
  # @option options [Object] :team_id
72
72
  # ID for the workspace to set the icon for.
@@ -81,7 +81,7 @@ module Slack
81
81
  #
82
82
  # Set the name of a given workspace.
83
83
  #
84
- # @option options [Object] :name
84
+ # @option options [string] :name
85
85
  # The new name of the workspace.
86
86
  # @option options [Object] :team_id
87
87
  # ID for the workspace to set the name for.
@@ -9,11 +9,11 @@ module Slack
9
9
  #
10
10
  # Add up to one hundred default channels to an IDP group.
11
11
  #
12
- # @option options [Object] :channel_ids
12
+ # @option options [array] :channel_ids
13
13
  # Comma separated string of channel IDs.
14
- # @option options [Object] :usergroup_id
14
+ # @option options [string] :usergroup_id
15
15
  # ID of the IDP group to add default channels for.
16
- # @option options [Object] :team_id
16
+ # @option options [string] :team_id
17
17
  # The workspace to add default channels in.
18
18
  # @see https://api.slack.com/methods/admin.usergroups.addChannels
19
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.usergroups/admin.usergroups.addChannels.json
@@ -26,11 +26,11 @@ module Slack
26
26
  #
27
27
  # Associate one or more default workspaces with an organization-wide IDP group.
28
28
  #
29
- # @option options [Object] :team_ids
29
+ # @option options [array] :team_ids
30
30
  # A comma separated list of encoded team (workspace) IDs. Each workspace MUST belong to the organization associated with the token.
31
- # @option options [Object] :usergroup_id
31
+ # @option options [string] :usergroup_id
32
32
  # An encoded usergroup (IDP Group) ID.
33
- # @option options [Object] :auto_provision
33
+ # @option options [boolean] :auto_provision
34
34
  # When true, this method automatically creates new workspace accounts for the IDP group members.
35
35
  # @see https://api.slack.com/methods/admin.usergroups.addTeams
36
36
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.usergroups/admin.usergroups.addTeams.json
@@ -45,9 +45,9 @@ module Slack
45
45
  #
46
46
  # @option options [Object] :usergroup_id
47
47
  # ID of the IDP group to list default channels for.
48
- # @option options [Object] :include_num_members
48
+ # @option options [boolean] :include_num_members
49
49
  # Flag to include or exclude the count of members per channel.
50
- # @option options [Object] :team_id
50
+ # @option options [string] :team_id
51
51
  # ID of the the workspace.
52
52
  # @see https://api.slack.com/methods/admin.usergroups.listChannels
53
53
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.usergroups/admin.usergroups.listChannels.json
@@ -59,9 +59,9 @@ module Slack
59
59
  #
60
60
  # Remove one or more default channels from an org-level IDP group (user group).
61
61
  #
62
- # @option options [Object] :channel_ids
62
+ # @option options [array] :channel_ids
63
63
  # Comma-separated string of channel IDs.
64
- # @option options [Object] :usergroup_id
64
+ # @option options [string] :usergroup_id
65
65
  # ID of the IDP Group.
66
66
  # @see https://api.slack.com/methods/admin.usergroups.removeChannels
67
67
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.usergroups/admin.usergroups.removeChannels.json
@@ -13,11 +13,11 @@ module Slack
13
13
  # The ID (T1234) of the workspace.
14
14
  # @option options [Object] :user_id
15
15
  # The ID of the user to add to the workspace.
16
- # @option options [Object] :channel_ids
16
+ # @option options [string] :channel_ids
17
17
  # Comma separated values of channel IDs to add user in the new workspace.
18
- # @option options [Object] :is_restricted
18
+ # @option options [boolean] :is_restricted
19
19
  # True if user should be added to the workspace as a guest.
20
- # @option options [Object] :is_ultra_restricted
20
+ # @option options [boolean] :is_ultra_restricted
21
21
  # True if user should be added to the workspace as a single-channel guest.
22
22
  # @see https://api.slack.com/methods/admin.users.assign
23
23
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.assign.json
@@ -30,23 +30,25 @@ module Slack
30
30
  #
31
31
  # Invite a user to a workspace.
32
32
  #
33
- # @option options [Object] :channel_ids
33
+ # @option options [string] :channel_ids
34
34
  # A comma-separated list of channel_ids for this user to join. At least one channel is required.
35
- # @option options [Object] :email
35
+ # @option options [string] :email
36
36
  # The email address of the person to invite.
37
37
  # @option options [Object] :team_id
38
38
  # The ID (T1234) of the workspace.
39
- # @option options [Object] :custom_message
39
+ # @option options [string] :custom_message
40
40
  # An optional message to send to the user in the invite email.
41
- # @option options [Object] :guest_expiration_ts
41
+ # @option options [boolean] :email_password_policy_enabled
42
+ # Allow invited user to sign in via email and password. Only available for Enterprise Grid teams via admin invite.
43
+ # @option options [string] :guest_expiration_ts
42
44
  # Timestamp when guest account should be disabled. Only include this timestamp if you are inviting a guest user and you want their account to expire on a certain date.
43
- # @option options [Object] :is_restricted
45
+ # @option options [boolean] :is_restricted
44
46
  # Is this user a multi-channel guest user? (default: false).
45
- # @option options [Object] :is_ultra_restricted
47
+ # @option options [boolean] :is_ultra_restricted
46
48
  # Is this user a single channel guest user? (default: false).
47
- # @option options [Object] :real_name
49
+ # @option options [string] :real_name
48
50
  # Full name of the user.
49
- # @option options [Object] :resend
51
+ # @option options [boolean] :resend
50
52
  # Allow this invite to be resent in the future if a user has not signed up yet. (default: false).
51
53
  # @see https://api.slack.com/methods/admin.users.invite
52
54
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.invite.json
@@ -60,9 +62,9 @@ module Slack
60
62
  #
61
63
  # List users on a workspace
62
64
  #
63
- # @option options [Object] :cursor
65
+ # @option options [string] :cursor
64
66
  # Set cursor to next_cursor returned by the previous call to list items in the next page.
65
- # @option options [Object] :limit
67
+ # @option options [integer] :limit
66
68
  # Limit for how many users to be retrieved per page.
67
69
  # @option options [Object] :team_id
68
70
  # The ID (T1234) of the workspace.
@@ -83,7 +85,7 @@ module Slack
83
85
  #
84
86
  # @option options [Object] :team_id
85
87
  # The ID (T1234) of the workspace.
86
- # @option options [Object] :user_id
88
+ # @option options [string] :user_id
87
89
  # The ID of the user to remove.
88
90
  # @see https://api.slack.com/methods/admin.users.remove
89
91
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.remove.json
@@ -98,7 +100,7 @@ module Slack
98
100
  #
99
101
  # @option options [Object] :team_id
100
102
  # The ID (T1234) of the workspace.
101
- # @option options [Object] :user_id
103
+ # @option options [string] :user_id
102
104
  # The ID of the user to designate as an admin.
103
105
  # @see https://api.slack.com/methods/admin.users.setAdmin
104
106
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.setAdmin.json
@@ -111,9 +113,9 @@ module Slack
111
113
  #
112
114
  # Set an expiration for a guest user
113
115
  #
114
- # @option options [Object] :expiration_ts
116
+ # @option options [integer] :expiration_ts
115
117
  # Timestamp when guest account should be disabled.
116
- # @option options [Object] :user_id
118
+ # @option options [string] :user_id
117
119
  # The ID of the user to set an expiration for.
118
120
  # @option options [Object] :team_id
119
121
  # The ID (T1234) of the workspace.
@@ -145,7 +147,7 @@ module Slack
145
147
  #
146
148
  # @option options [Object] :team_id
147
149
  # The ID (T1234) of the workspace.
148
- # @option options [Object] :user_id
150
+ # @option options [string] :user_id
149
151
  # The ID of the user to designate as a regular user.
150
152
  # @see https://api.slack.com/methods/admin.users.setRegular
151
153
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.setRegular.json