slack-ruby-client 2.6.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +4 -10
  3. data/.github/workflows/update_api.yml +1 -1
  4. data/.rubocop_todo.yml +58 -71
  5. data/CHANGELOG.md +15 -0
  6. data/CONTRIBUTING.md +1 -1
  7. data/Gemfile +0 -9
  8. data/LICENSE.md +1 -1
  9. data/README.md +31 -220
  10. data/Rakefile +0 -1
  11. data/UPGRADING.md +4 -0
  12. data/bin/commands/admin_analytics.rb +1 -1
  13. data/bin/commands/admin_apps.rb +4 -4
  14. data/bin/commands/admin_apps_activities.rb +7 -7
  15. data/bin/commands/admin_apps_approved.rb +4 -4
  16. data/bin/commands/admin_apps_config.rb +3 -1
  17. data/bin/commands/admin_apps_requests.rb +5 -5
  18. data/bin/commands/admin_apps_restricted.rb +4 -4
  19. data/bin/commands/admin_audit_anomaly_allow.rb +6 -6
  20. data/bin/commands/admin_auth_policy.rb +5 -5
  21. data/bin/commands/admin_barriers.rb +3 -3
  22. data/bin/commands/admin_conversations.rb +15 -15
  23. data/bin/commands/admin_conversations_ekm.rb +2 -2
  24. data/bin/commands/admin_conversations_restrictAccess.rb +5 -5
  25. data/bin/commands/admin_emoji.rb +5 -5
  26. data/bin/commands/admin_functions.rb +1 -1
  27. data/bin/commands/admin_inviteRequests.rb +3 -3
  28. data/bin/commands/admin_inviteRequests_approved.rb +1 -1
  29. data/bin/commands/admin_inviteRequests_denied.rb +1 -1
  30. data/bin/commands/admin_roles.rb +3 -3
  31. data/bin/commands/admin_teams.rb +3 -3
  32. data/bin/commands/admin_teams_admins.rb +2 -2
  33. data/bin/commands/admin_teams_owners.rb +2 -2
  34. data/bin/commands/admin_teams_settings.rb +5 -5
  35. data/bin/commands/admin_usergroups.rb +4 -4
  36. data/bin/commands/admin_users.rb +12 -11
  37. data/bin/commands/admin_users_session.rb +6 -5
  38. data/bin/commands/admin_users_unsupportedVersions.rb +1 -1
  39. data/bin/commands/admin_workflows.rb +6 -6
  40. data/bin/commands/admin_workflows_collaborators.rb +2 -2
  41. data/bin/commands/apps_activities.rb +7 -7
  42. data/bin/commands/apps_auth_external.rb +1 -1
  43. data/bin/commands/apps_datastore.rb +12 -12
  44. data/bin/commands/apps_event_authorizations.rb +3 -3
  45. data/bin/commands/apps_manifest.rb +1 -1
  46. data/bin/commands/assistant_search.rb +18 -2
  47. data/bin/commands/assistant_threads.rb +2 -2
  48. data/bin/commands/auth.rb +1 -1
  49. data/bin/commands/auth_teams.rb +1 -1
  50. data/bin/commands/bookmarks.rb +6 -6
  51. data/bin/commands/calls.rb +5 -5
  52. data/bin/commands/canvases.rb +2 -2
  53. data/bin/commands/canvases_access.rb +1 -1
  54. data/bin/commands/chat.rb +23 -24
  55. data/bin/commands/conversations.rb +8 -8
  56. data/bin/commands/conversations_canvases.rb +1 -1
  57. data/bin/commands/conversations_externalInvitePermissions.rb +1 -1
  58. data/bin/commands/conversations_requestSharedInvite.rb +4 -4
  59. data/bin/commands/dnd.rb +1 -1
  60. data/bin/commands/files.rb +5 -5
  61. data/bin/commands/files_remote.rb +1 -1
  62. data/bin/commands/functions.rb +1 -1
  63. data/bin/commands/functions_distributions_permissions.rb +15 -15
  64. data/bin/commands/functions_workflows_steps.rb +2 -2
  65. data/bin/commands/functions_workflows_steps_responses.rb +2 -2
  66. data/bin/commands/migration.rb +2 -2
  67. data/bin/commands/oauth_v2.rb +1 -1
  68. data/bin/commands/openid_connect.rb +1 -1
  69. data/bin/commands/reactions.rb +3 -3
  70. data/bin/commands/reminders.rb +2 -2
  71. data/bin/commands/rtm.rb +15 -0
  72. data/bin/commands/search.rb +4 -4
  73. data/bin/commands/slackLists.rb +37 -0
  74. data/bin/commands/slackLists_access.rb +34 -0
  75. data/bin/commands/slackLists_download.rb +31 -0
  76. data/bin/commands/slackLists_items.rb +76 -0
  77. data/bin/commands/team.rb +1 -1
  78. data/bin/commands/team_externalTeams.rb +4 -4
  79. data/bin/commands/usergroups.rb +10 -10
  80. data/bin/commands/usergroups_users.rb +5 -5
  81. data/bin/commands/users.rb +1 -1
  82. data/bin/commands/users_discoverableContacts.rb +1 -1
  83. data/bin/commands/views.rb +4 -4
  84. data/bin/commands/workflows_featured.rb +50 -0
  85. data/bin/commands/workflows_triggers_permissions.rb +7 -7
  86. data/examples/files_upload_v2/files_upload_v2.rb +8 -0
  87. data/lib/slack/events/request.rb +1 -0
  88. data/lib/slack/version.rb +1 -1
  89. data/lib/slack/web/api/endpoints/admin_analytics.rb +2 -2
  90. data/lib/slack/web/api/endpoints/admin_apps.rb +8 -8
  91. data/lib/slack/web/api/endpoints/admin_apps_activities.rb +14 -14
  92. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +5 -7
  93. data/lib/slack/web/api/endpoints/admin_apps_config.rb +6 -3
  94. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +7 -9
  95. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +5 -7
  96. data/lib/slack/web/api/endpoints/admin_audit_anomaly_allow.rb +5 -5
  97. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +14 -14
  98. data/lib/slack/web/api/endpoints/admin_barriers.rb +8 -8
  99. data/lib/slack/web/api/endpoints/admin_conversations.rb +27 -28
  100. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +4 -4
  101. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +11 -12
  102. data/lib/slack/web/api/endpoints/admin_emoji.rb +5 -5
  103. data/lib/slack/web/api/endpoints/admin_functions.rb +2 -2
  104. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +6 -6
  105. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +2 -2
  106. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +2 -2
  107. data/lib/slack/web/api/endpoints/admin_roles.rb +8 -8
  108. data/lib/slack/web/api/endpoints/admin_teams.rb +3 -3
  109. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +3 -4
  110. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +2 -3
  111. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +12 -13
  112. data/lib/slack/web/api/endpoints/admin_usergroups.rb +11 -11
  113. data/lib/slack/web/api/endpoints/admin_users.rb +27 -25
  114. data/lib/slack/web/api/endpoints/admin_users_session.rb +12 -9
  115. data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +2 -2
  116. data/lib/slack/web/api/endpoints/admin_workflows.rb +12 -12
  117. data/lib/slack/web/api/endpoints/admin_workflows_collaborators.rb +6 -6
  118. data/lib/slack/web/api/endpoints/apps_activities.rb +14 -14
  119. data/lib/slack/web/api/endpoints/apps_auth_external.rb +2 -2
  120. data/lib/slack/web/api/endpoints/apps_datastore.rb +8 -15
  121. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +0 -3
  122. data/lib/slack/web/api/endpoints/apps_manifest.rb +5 -5
  123. data/lib/slack/web/api/endpoints/assistant_search.rb +28 -3
  124. data/lib/slack/web/api/endpoints/assistant_threads.rb +6 -6
  125. data/lib/slack/web/api/endpoints/auth.rb +1 -1
  126. data/lib/slack/web/api/endpoints/auth_teams.rb +2 -2
  127. data/lib/slack/web/api/endpoints/bookmarks.rb +14 -14
  128. data/lib/slack/web/api/endpoints/calls.rb +10 -10
  129. data/lib/slack/web/api/endpoints/canvases.rb +4 -4
  130. data/lib/slack/web/api/endpoints/canvases_access.rb +3 -3
  131. data/lib/slack/web/api/endpoints/chat.rb +53 -55
  132. data/lib/slack/web/api/endpoints/conversations.rb +16 -16
  133. data/lib/slack/web/api/endpoints/conversations_canvases.rb +1 -1
  134. data/lib/slack/web/api/endpoints/conversations_externalInvitePermissions.rb +3 -3
  135. data/lib/slack/web/api/endpoints/conversations_requestSharedInvite.rb +8 -8
  136. data/lib/slack/web/api/endpoints/dnd.rb +2 -2
  137. data/lib/slack/web/api/endpoints/files.rb +11 -11
  138. data/lib/slack/web/api/endpoints/files_remote.rb +2 -2
  139. data/lib/slack/web/api/endpoints/functions.rb +3 -3
  140. data/lib/slack/web/api/endpoints/functions_distributions_permissions.rb +24 -24
  141. data/lib/slack/web/api/endpoints/functions_workflows_steps.rb +4 -4
  142. data/lib/slack/web/api/endpoints/functions_workflows_steps_responses.rb +4 -4
  143. data/lib/slack/web/api/endpoints/migration.rb +1 -1
  144. data/lib/slack/web/api/endpoints/oauth_v2.rb +2 -2
  145. data/lib/slack/web/api/endpoints/openid_connect.rb +2 -2
  146. data/lib/slack/web/api/endpoints/reactions.rb +6 -6
  147. data/lib/slack/web/api/endpoints/reminders.rb +4 -4
  148. data/lib/slack/web/api/endpoints/rtm.rb +23 -0
  149. data/lib/slack/web/api/endpoints/search.rb +8 -8
  150. data/lib/slack/web/api/endpoints/slackLists.rb +52 -0
  151. data/lib/slack/web/api/endpoints/slackLists_access.rb +47 -0
  152. data/lib/slack/web/api/endpoints/slackLists_download.rb +40 -0
  153. data/lib/slack/web/api/endpoints/slackLists_items.rb +116 -0
  154. data/lib/slack/web/api/endpoints/team.rb +3 -3
  155. data/lib/slack/web/api/endpoints/team_externalTeams.rb +8 -8
  156. data/lib/slack/web/api/endpoints/usergroups.rb +18 -18
  157. data/lib/slack/web/api/endpoints/usergroups_users.rb +8 -8
  158. data/lib/slack/web/api/endpoints/users.rb +2 -2
  159. data/lib/slack/web/api/endpoints/users_discoverableContacts.rb +0 -1
  160. data/lib/slack/web/api/endpoints/views.rb +9 -9
  161. data/lib/slack/web/api/endpoints/workflows_featured.rb +69 -0
  162. data/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb +15 -15
  163. data/lib/slack/web/api/endpoints.rb +10 -2
  164. data/lib/slack/web/api/errors.rb +88 -46
  165. data/lib/slack/web/api/helpers/files.rb +32 -22
  166. data/lib/slack/web/api/mixins/conversations.id.rb +14 -3
  167. data/lib/slack/web/api/mixins/users.id.rb +7 -3
  168. data/lib/slack/web/faraday/response/raise_error.rb +20 -2
  169. data/lib/slack-ruby-client.rb +0 -12
  170. data/lib/tasks/update.rake +0 -1
  171. data/lib/tasks/web.rake +0 -4
  172. data/slack-ruby-client.gemspec +1 -1
  173. metadata +19 -38
  174. data/.github/workflows/integration_test.yml +0 -45
  175. data/bin/commands/workflows.rb +0 -44
  176. data/examples/hi_real_time_and_web/Gemfile +0 -6
  177. data/examples/hi_real_time_and_web/hi.gif +0 -0
  178. data/examples/hi_real_time_and_web/hi.rb +0 -28
  179. data/examples/hi_real_time_async_async/Gemfile +0 -7
  180. data/examples/hi_real_time_async_async/Procfile +0 -2
  181. data/examples/hi_real_time_async_async/hi.rb +0 -41
  182. data/lib/slack/real_time/api/message.rb +0 -23
  183. data/lib/slack/real_time/api/message_id.rb +0 -15
  184. data/lib/slack/real_time/api/ping.rb +0 -19
  185. data/lib/slack/real_time/api/schema/event.json +0 -23
  186. data/lib/slack/real_time/api/templates/event_handler.erb +0 -8
  187. data/lib/slack/real_time/api/typing.rb +0 -20
  188. data/lib/slack/real_time/client.rb +0 -271
  189. data/lib/slack/real_time/concurrency/async.rb +0 -142
  190. data/lib/slack/real_time/concurrency.rb +0 -8
  191. data/lib/slack/real_time/config.rb +0 -62
  192. data/lib/slack/real_time/models/base.rb +0 -11
  193. data/lib/slack/real_time/models/bot.rb +0 -9
  194. data/lib/slack/real_time/models/channel.rb +0 -13
  195. data/lib/slack/real_time/models/im.rb +0 -9
  196. data/lib/slack/real_time/models/mpim.rb +0 -9
  197. data/lib/slack/real_time/models/team.rb +0 -9
  198. data/lib/slack/real_time/models/user.rb +0 -9
  199. data/lib/slack/real_time/models.rb +0 -9
  200. data/lib/slack/real_time/socket.rb +0 -118
  201. data/lib/slack/real_time/stores/base.rb +0 -47
  202. data/lib/slack/real_time/stores/starter.rb +0 -449
  203. data/lib/slack/real_time/stores/store.rb +0 -624
  204. data/lib/slack/real_time/stores.rb +0 -5
  205. data/lib/slack/web/api/endpoints/workflows.rb +0 -63
  206. data/lib/tasks/real_time.rake +0 -81
@@ -13,12 +13,12 @@ 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 [string] :channel_ids
17
- # Comma separated values of channel IDs to add user in the new workspace.
18
16
  # @option options [boolean] :is_restricted
19
17
  # True if user should be added to the workspace as a guest.
20
18
  # @option options [boolean] :is_ultra_restricted
21
19
  # True if user should be added to the workspace as a single-channel guest.
20
+ # @option options [string] :channel_ids
21
+ # Comma separated values of channel IDs to add user in the new workspace.
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
24
24
  def admin_users_assign(options = {})
@@ -30,48 +30,50 @@ module Slack
30
30
  #
31
31
  # Invite a user to a workspace.
32
32
  #
33
- # @option options [string] :channel_ids
34
- # A comma-separated list of channel_ids for this user to join. At least one channel is required.
35
- # @option options [string] :email
36
- # The email address of the person to invite.
37
33
  # @option options [Object] :team_id
38
34
  # The ID (T1234) of the workspace.
35
+ # @option options [string] :email
36
+ # The email address of the person to invite.
37
+ # @option options [string] :channel_ids
38
+ # A comma-separated list of channel_ids for this user to join. At least one channel is required.
39
39
  # @option options [string] :custom_message
40
40
  # An optional message to send to the user in the invite email.
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
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.
45
- # @option options [boolean] :is_restricted
46
- # Is this user a multi-channel guest user? (default: false).
47
- # @option options [boolean] :is_ultra_restricted
48
- # Is this user a single channel guest user? (default: false).
49
41
  # @option options [string] :real_name
50
42
  # Full name of the user.
51
43
  # @option options [boolean] :resend
52
44
  # Allow this invite to be resent in the future if a user has not signed up yet. Resending can only be done via the UI and has no expiration. (default: false).
45
+ # @option options [boolean] :is_restricted
46
+ # Is this user a multi-channel guest user? (default: false).
47
+ # @option options [boolean] :is_ultra_restricted
48
+ # Is this user a single channel guest user? (default: false).
49
+ # @option options [string] :guest_expiration_ts
50
+ # 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.
51
+ # @option options [boolean] :email_password_policy_enabled
52
+ # Allow invited user to sign in via email and password. Only available for Enterprise org teams via admin invite.
53
53
  # @see https://api.slack.com/methods/admin.users.invite
54
54
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.invite.json
55
55
  def admin_users_invite(options = {})
56
- raise ArgumentError, 'Required arguments :channel_ids missing' if options[:channel_ids].nil?
57
- raise ArgumentError, 'Required arguments :email missing' if options[:email].nil?
58
56
  raise ArgumentError, 'Required arguments :team_id missing' if options[:team_id].nil?
57
+ raise ArgumentError, 'Required arguments :email missing' if options[:email].nil?
58
+ raise ArgumentError, 'Required arguments :channel_ids missing' if options[:channel_ids].nil?
59
59
  post('admin.users.invite', options)
60
60
  end
61
61
 
62
62
  #
63
63
  # List users on a workspace
64
64
  #
65
+ # @option options [Object] :team_id
66
+ # The ID (T1234) of a workspace. Filters results to just the specified workspace.
65
67
  # @option options [string] :cursor
66
68
  # Set cursor to next_cursor returned by the previous call to list items in the next page.
67
- # @option options [boolean] :include_deactivated_user_workspaces
68
- # Only applies with org token and no team_id. If true, return workspaces for a user even if they may be deactivated on them. If false, return workspaces for a user only when user is active on them. Default is false.
69
69
  # @option options [boolean] :is_active
70
70
  # If true, only active users will be returned. If false, only deactivated users will be returned. Default is true.
71
+ # @option options [boolean] :include_deactivated_user_workspaces
72
+ # Only applies with org token and no team_id. If true, return workspaces for a user even if they may be deactivated on them. If false, return workspaces for a user only when user is active on them. Default is false.
73
+ # @option options [boolean] :only_guests
74
+ # If true, returns only guests and their expiration dates that belong to the team_id.
71
75
  # @option options [integer] :limit
72
76
  # Limit for how many users to be retrieved per page.
73
- # @option options [Object] :team_id
74
- # The ID (T1234) of a workspace. Filters results to just the specified workspace.
75
77
  # @see https://api.slack.com/methods/admin.users.list
76
78
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.list.json
77
79
  def admin_users_list(options = {})
@@ -117,17 +119,17 @@ module Slack
117
119
  #
118
120
  # Set an expiration for a guest user
119
121
  #
120
- # @option options [integer] :expiration_ts
121
- # Epoch timestamp in seconds when guest account should be disabled.
122
- # @option options [string] :user_id
123
- # The ID of the user to set an expiration for.
124
122
  # @option options [Object] :team_id
125
123
  # The ID (T1234) of the workspace.
124
+ # @option options [string] :user_id
125
+ # The ID of the user to set an expiration for.
126
+ # @option options [integer] :expiration_ts
127
+ # Epoch timestamp in seconds when guest account should be disabled.
126
128
  # @see https://api.slack.com/methods/admin.users.setExpiration
127
129
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.setExpiration.json
128
130
  def admin_users_setExpiration(options = {})
129
- raise ArgumentError, 'Required arguments :expiration_ts missing' if options[:expiration_ts].nil?
130
131
  raise ArgumentError, 'Required arguments :user_id missing' if options[:user_id].nil?
132
+ raise ArgumentError, 'Required arguments :expiration_ts missing' if options[:expiration_ts].nil?
131
133
  post('admin.users.setExpiration', options)
132
134
  end
133
135
 
@@ -33,13 +33,16 @@ module Slack
33
33
  #
34
34
  # Revoke a single session for a user. The user will be forced to login to Slack.
35
35
  #
36
- # @option options [integer] :session_id
37
- # ID of the session to invalidate.
36
+ # @option options [Object] :team_id
37
+ # ID of the workspace that the session belongs to.
38
38
  # @option options [Object] :user_id
39
39
  # ID of the user that the session belongs to.
40
+ # @option options [integer] :session_id
41
+ # ID of the session to invalidate.
40
42
  # @see https://api.slack.com/methods/admin.users.session.invalidate
41
43
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.invalidate.json
42
44
  def admin_users_session_invalidate(options = {})
45
+ raise ArgumentError, 'Required arguments :user_id missing' if options[:user_id].nil?
43
46
  raise ArgumentError, 'Required arguments :session_id missing' if options[:session_id].nil?
44
47
  post('admin.users.session.invalidate', options)
45
48
  end
@@ -47,14 +50,14 @@ module Slack
47
50
  #
48
51
  # List active user sessions for an organization
49
52
  #
50
- # @option options [string] :cursor
51
- # Set cursor to next_cursor returned by the previous call to list items in the next page.
52
- # @option options [integer] :limit
53
- # The maximum number of items to return. Must be between 1 - 1000 both inclusive.
54
53
  # @option options [string] :team_id
55
54
  # The ID of the workspace you'd like active sessions for. If you pass a team_id, you'll need to pass a user_id as well.
56
55
  # @option options [string] :user_id
57
56
  # The ID of user you'd like active sessions for. If you pass a user_id, you'll need to pass a team_id as well.
57
+ # @option options [integer] :limit
58
+ # The maximum number of items to return. Must be between 1 - 1000 both inclusive.
59
+ # @option options [string] :cursor
60
+ # Set cursor to next_cursor returned by the previous call to list items in the next page.
58
61
  # @see https://api.slack.com/methods/admin.users.session.list
59
62
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.list.json
60
63
  def admin_users_session_list(options = {})
@@ -87,7 +90,7 @@ module Slack
87
90
  # Enqueues an asynchronous job to wipe all valid sessions on all devices for a given list of users
88
91
  #
89
92
  # @option options [array] :user_ids
90
- # The ID of the user to wipe sessions for.
93
+ # The list of up to 1,000 user IDs to wipe sessions for.
91
94
  # @option options [boolean] :mobile_only
92
95
  # Only expire mobile sessions (default: false).
93
96
  # @option options [boolean] :web_only
@@ -104,10 +107,10 @@ module Slack
104
107
  #
105
108
  # @option options [array] :user_ids
106
109
  # The list of up to 1,000 user IDs to apply the session settings for.
107
- # @option options [boolean] :desktop_app_browser_quit
108
- # Terminate the session when the client—either the desktop app or a browser window—is closed.
109
110
  # @option options [integer] :duration
110
111
  # The session duration, in seconds. The minimum value is 28800, which represents 8 hours; the max value is 315569520 or 10 years (that's a long Slack session).
112
+ # @option options [boolean] :desktop_app_browser_quit
113
+ # Terminate the session when the client—either the desktop app or a browser window—is closed.
111
114
  # @see https://api.slack.com/methods/admin.users.session.setSettings
112
115
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.setSettings.json
113
116
  def admin_users_session_setSettings(options = {})
@@ -9,10 +9,10 @@ module Slack
9
9
  #
10
10
  # Ask Slackbot to send you an export listing all workspace members using unsupported software, presented as a zipped CSV file.
11
11
  #
12
- # @option options [integer] :date_end_of_support
13
- # Unix timestamp of the date of past or upcoming end of support cycles. If not provided will include all announced end of support cycles.
14
12
  # @option options [integer] :date_sessions_started
15
13
  # Unix timestamp of a date to start looking for user sessions. If not provided will start six months ago.
14
+ # @option options [integer] :date_end_of_support
15
+ # Unix timestamp of the date of past or upcoming end of support cycles. If not provided will include all announced end of support cycles.
16
16
  # @see https://api.slack.com/methods/admin.users.unsupportedVersions.export
17
17
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.unsupportedVersions/admin.users.unsupportedVersions.export.json
18
18
  def admin_users_unsupportedVersions_export(options = {})
@@ -9,34 +9,34 @@ module Slack
9
9
  #
10
10
  # Search workflows within the team or enterprise
11
11
  #
12
+ # @option options [string] :query
13
+ # A search query to filter for workflow name or description.
12
14
  # @option options [Object] :app_id
13
15
  # The parent app ID for which to return workflows.
14
- # @option options [array] :collaborator_ids
15
- # Only include workflows where all of the provided user IDs are a manager/collaborator of that workflow.
16
16
  # @option options [string] :cursor
17
17
  # Set cursor to next_cursor returned by the previous call to list items in the next page.
18
- # @option options [boolean] :is_sales_elevate
19
- # Filter workflows by their Sales Elevate status.
20
18
  # @option options [integer] :limit
21
19
  # The number of results that will be returned by the API on each invocation.
22
20
  # @option options [boolean] :no_collaborators
23
21
  # Only include workflows with no collaborators in the result; default is false.
22
+ # @option options [array] :collaborator_ids
23
+ # Only include workflows where all of the provided user IDs are a manager/collaborator of that workflow.
24
24
  # @option options [integer] :num_trigger_ids
25
25
  # Number of trigger IDs to fetch for each workflow; default is 10.
26
- # @option options [enum] :publish_status
27
- # Filter workflows by their published status.
28
- # @option options [string] :query
29
- # A search query to filter for workflow name or description.
26
+ # @option options [boolean] :is_sales_elevate
27
+ # Filter workflows by their Sales Elevate status.
28
+ # @option options [enum] :source
29
+ # Source of workflow creation, either from code or workflow builder.
30
30
  # @option options [enum] :sort
31
31
  # The field used to sort the returned workflows.
32
32
  # @option options [enum] :sort_dir
33
33
  # 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).
34
- # @option options [enum] :source
35
- # Source of workflow creation, either from code or workflow builder.
36
- # @option options [array] :step_function_ids
37
- # Only include workflows that use all of the provided step function ids.
38
34
  # @option options [string] :trigger_type_id
39
35
  # Only include workflows with this trigger type.
36
+ # @option options [enum] :publish_status
37
+ # Filter workflows by their published status.
38
+ # @option options [array] :step_function_ids
39
+ # Only include workflows that use all of the provided step function ids.
40
40
  # @see https://api.slack.com/methods/admin.workflows.search
41
41
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.workflows/admin.workflows.search.json
42
42
  def admin_workflows_search(options = {})
@@ -9,30 +9,30 @@ module Slack
9
9
  #
10
10
  # Add collaborators to workflows within the team or enterprise
11
11
  #
12
- # @option options [array] :collaborator_ids
13
- # Array of collaborators (encoded user IDs) to add; max 50.
14
12
  # @option options [array] :workflow_ids
15
13
  # Array of workflow IDs to edit; max 50.
14
+ # @option options [array] :collaborator_ids
15
+ # Array of collaborators (encoded user IDs) to add; max 50.
16
16
  # @see https://api.slack.com/methods/admin.workflows.collaborators.add
17
17
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.workflows.collaborators/admin.workflows.collaborators.add.json
18
18
  def admin_workflows_collaborators_add(options = {})
19
- raise ArgumentError, 'Required arguments :collaborator_ids missing' if options[:collaborator_ids].nil?
20
19
  raise ArgumentError, 'Required arguments :workflow_ids missing' if options[:workflow_ids].nil?
20
+ raise ArgumentError, 'Required arguments :collaborator_ids missing' if options[:collaborator_ids].nil?
21
21
  post('admin.workflows.collaborators.add', options)
22
22
  end
23
23
 
24
24
  #
25
25
  # Remove collaborators from workflows within the team or enterprise
26
26
  #
27
- # @option options [array] :collaborator_ids
28
- # Array of collaborators (encoded user IDs) to remove; max 50.
29
27
  # @option options [array] :workflow_ids
30
28
  # Array of workflow IDs to edit; max 50.
29
+ # @option options [array] :collaborator_ids
30
+ # Array of collaborators (encoded user IDs) to remove; max 50.
31
31
  # @see https://api.slack.com/methods/admin.workflows.collaborators.remove
32
32
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.workflows.collaborators/admin.workflows.collaborators.remove.json
33
33
  def admin_workflows_collaborators_remove(options = {})
34
- raise ArgumentError, 'Required arguments :collaborator_ids missing' if options[:collaborator_ids].nil?
35
34
  raise ArgumentError, 'Required arguments :workflow_ids missing' if options[:workflow_ids].nil?
35
+ raise ArgumentError, 'Required arguments :collaborator_ids missing' if options[:collaborator_ids].nil?
36
36
  post('admin.workflows.collaborators.remove', options)
37
37
  end
38
38
  end
@@ -11,30 +11,30 @@ module Slack
11
11
  #
12
12
  # @option options [Object] :app_id
13
13
  # The id of the app to get activities from.
14
- # @option options [string] :component_id
15
- # The component id of log events to be returned. Will be 'FnXXXXXX' for functions, and 'WfXXXXXX' for worflows.
16
- # @option options [string] :component_type
17
- # The component type of log events to be returned. Acceptable values are ('events_api', 'workflows', 'functions', 'tables').
14
+ # @option options [string] :team_id
15
+ # The team who owns this log.
18
16
  # @option options [string] :cursor
19
17
  # Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. See pagination for more detail.
20
18
  # @option options [integer] :limit
21
19
  # The maximum number of items to return.
22
- # @option options [string] :log_event_type
23
- # The event type of log events to be returned.
24
- # @option options [integer] :max_date_created
25
- # The latest timestamp of the log to retrieve (epoch microseconds).
26
- # @option options [integer] :min_date_created
27
- # The earliest timestamp of the log to retrieve (epoch microseconds).
28
20
  # @option options [string] :min_log_level
29
21
  # The minimum log level of the log events to be returned. Defaults to 'info'. Acceptable values (in order of relative importance from smallest to largest) are ('trace', 'debug', 'info', 'warn', 'error', 'fatal').
30
- # @option options [enum] :sort_direction
31
- # The direction you want the data sorted by (always by timestamp).
22
+ # @option options [string] :log_event_type
23
+ # The event type of log events to be returned.
32
24
  # @option options [string] :source
33
25
  # The source of log events to be returned. Acceptable values are ('slack', 'developer').
34
- # @option options [string] :team_id
35
- # The team who owns this log.
26
+ # @option options [string] :component_type
27
+ # The component type of log events to be returned. Acceptable values are ('events_api', 'workflows', 'functions', 'tables').
28
+ # @option options [string] :component_id
29
+ # The component id of log events to be returned. Will be 'FnXXXXXX' for functions, and 'WfXXXXXX' for workflows.
36
30
  # @option options [string] :trace_id
37
31
  # The trace id of log events to be returned.
32
+ # @option options [integer] :min_date_created
33
+ # The earliest timestamp of the log to retrieve (epoch microseconds).
34
+ # @option options [integer] :max_date_created
35
+ # The latest timestamp of the log to retrieve (epoch microseconds).
36
+ # @option options [enum] :sort_direction
37
+ # The direction you want the data sorted by (always by timestamp).
38
38
  # @see https://api.slack.com/methods/apps.activities.list
39
39
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.activities/apps.activities.list.json
40
40
  def apps_activities_list(options = {})
@@ -11,10 +11,10 @@ module Slack
11
11
  #
12
12
  # @option options [string] :app_id
13
13
  # The id of the app whose tokens you want to delete.
14
- # @option options [string] :external_token_id
15
- # The id of the token that you want to delete.
16
14
  # @option options [string] :provider_key
17
15
  # The provider key of the provider whose tokens you want to delete.
16
+ # @option options [string] :external_token_id
17
+ # The id of the token that you want to delete.
18
18
  # @see https://api.slack.com/methods/apps.auth.external.delete
19
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.auth.external/apps.auth.external.delete.json
20
20
  def apps_auth_external_delete(options = {})
@@ -14,7 +14,6 @@ module Slack
14
14
  # @option options [array] :ids
15
15
  # IDs of items to be deleted.
16
16
  # @option options [Object] :app_id
17
- # .
18
17
  # @see https://api.slack.com/methods/apps.datastore.bulkDelete
19
18
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.bulkDelete.json
20
19
  def apps_datastore_bulkDelete(options = {})
@@ -31,7 +30,6 @@ module Slack
31
30
  # @option options [array] :ids
32
31
  # items' ids.
33
32
  # @option options [Object] :app_id
34
- # .
35
33
  # @see https://api.slack.com/methods/apps.datastore.bulkGet
36
34
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.bulkGet.json
37
35
  def apps_datastore_bulkGet(options = {})
@@ -48,7 +46,6 @@ module Slack
48
46
  # @option options [array] :items
49
47
  # attribute names and values of the items; limit of 25.
50
48
  # @option options [Object] :app_id
51
- # .
52
49
  # @see https://api.slack.com/methods/apps.datastore.bulkPut
53
50
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.bulkPut.json
54
51
  def apps_datastore_bulkPut(options = {})
@@ -62,14 +59,14 @@ module Slack
62
59
  #
63
60
  # @option options [string] :datastore
64
61
  # Name of the datastore.
65
- # @option options [Object] :app_id
66
- # Required if calling with user token.
67
62
  # @option options [string] :expression
68
- # A query filter expression https://api.slack.com/future/datastores.
63
+ # A query filter expression.
69
64
  # @option options [object] :expression_attributes
70
65
  # A map of attributes referenced in expression.
71
66
  # @option options [object] :expression_values
72
67
  # A map of values referenced in expression.
68
+ # @option options [Object] :app_id
69
+ # Required if calling with user token.
73
70
  # @see https://api.slack.com/methods/apps.datastore.count
74
71
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.count.json
75
72
  def apps_datastore_count(options = {})
@@ -85,7 +82,6 @@ module Slack
85
82
  # @option options [string] :id
86
83
  # item id.
87
84
  # @option options [Object] :app_id
88
- # .
89
85
  # @see https://api.slack.com/methods/apps.datastore.delete
90
86
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.delete.json
91
87
  def apps_datastore_delete(options = {})
@@ -102,7 +98,6 @@ module Slack
102
98
  # @option options [string] :id
103
99
  # item id.
104
100
  # @option options [Object] :app_id
105
- # .
106
101
  # @see https://api.slack.com/methods/apps.datastore.get
107
102
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.get.json
108
103
  def apps_datastore_get(options = {})
@@ -119,7 +114,6 @@ module Slack
119
114
  # @option options [object] :item
120
115
  # attribute names and values of the item.
121
116
  # @option options [Object] :app_id
122
- # .
123
117
  # @see https://api.slack.com/methods/apps.datastore.put
124
118
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.put.json
125
119
  def apps_datastore_put(options = {})
@@ -133,16 +127,16 @@ module Slack
133
127
  #
134
128
  # @option options [string] :datastore
135
129
  # Name of the datastore.
136
- # @option options [Object] :app_id
137
- # Required if calling with user token.
138
- # @option options [string] :cursor
139
- # Set cursor to next_cursor returned by the previous call to list items in the next page.
140
130
  # @option options [string] :expression
141
- # A query filter expression https://api.slack.com/future/datastores.
131
+ # A query filter expression.
142
132
  # @option options [object] :expression_attributes
143
133
  # A map of attributes referenced in expression.
144
134
  # @option options [object] :expression_values
145
135
  # A map of values referenced in expression.
136
+ # @option options [Object] :app_id
137
+ # Required if calling with user token.
138
+ # @option options [string] :cursor
139
+ # Set cursor to next_cursor returned by the previous call to list items in the next page.
146
140
  # @option options [integer] :limit
147
141
  # The maximum number of items to evaluate for a given request (not necessarily the number of matching items). If the given request dataset size exceeds 1 MB before reaching the limit, the returned item count will likely be less than the limit. In any case where there are more items available beyond an imposed limit, a next_cursor value will be provided for use in subsequent requests.
148
142
  # @see https://api.slack.com/methods/apps.datastore.query
@@ -166,7 +160,6 @@ module Slack
166
160
  # @option options [object] :item
167
161
  # attribute names and values to be updated.
168
162
  # @option options [Object] :app_id
169
- # .
170
163
  # @see https://api.slack.com/methods/apps.datastore.update
171
164
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.update.json
172
165
  def apps_datastore_update(options = {})
@@ -10,11 +10,8 @@ module Slack
10
10
  # Get a list of authorizations for the given event context. Each authorization represents an app installation that the event is visible to.
11
11
  #
12
12
  # @option options [string] :event_context
13
- # .
14
13
  # @option options [string] :cursor
15
- # .
16
14
  # @option options [integer] :limit
17
- # .
18
15
  # @see https://api.slack.com/methods/apps.event.authorizations.list
19
16
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.event.authorizations/apps.event.authorizations.list.json
20
17
  def apps_event_authorizations_list(options = {})
@@ -9,7 +9,7 @@ module Slack
9
9
  #
10
10
  # Create an app from an app manifest.
11
11
  #
12
- # @option options [manifest object as string] :manifest
12
+ # @option options [string] :manifest
13
13
  # A JSON app manifest encoded as a string. This manifest must use a valid app manifest schema - read our guide to creating one.
14
14
  # @see https://api.slack.com/methods/apps.manifest.create
15
15
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.manifest/apps.manifest.create.json
@@ -46,15 +46,15 @@ module Slack
46
46
  #
47
47
  # Update an app from an app manifest
48
48
  #
49
+ # @option options [string] :manifest
50
+ # A JSON app manifest encoded as a string. This manifest must use a valid app manifest schema - read our guide to creating one. As this method entirely _replaces_ any previous configuration, manifest must contain both unmodified and modified fields.
49
51
  # @option options [Object] :app_id
50
52
  # The ID of the app whose configuration you want to update.
51
- # @option options [manifest object as string] :manifest
52
- # A JSON app manifest encoded as a string. This manifest must use a valid app manifest schema - read our guide to creating one. As this method entirely replaces any previous configuration, manifest must contain both unmodified and modified fields.
53
53
  # @see https://api.slack.com/methods/apps.manifest.update
54
54
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.manifest/apps.manifest.update.json
55
55
  def apps_manifest_update(options = {})
56
- raise ArgumentError, 'Required arguments :app_id missing' if options[:app_id].nil?
57
56
  raise ArgumentError, 'Required arguments :manifest missing' if options[:manifest].nil?
57
+ raise ArgumentError, 'Required arguments :app_id missing' if options[:app_id].nil?
58
58
  options = encode_options_as_json(options, %i[manifest])
59
59
  post('apps.manifest.update', options)
60
60
  end
@@ -62,7 +62,7 @@ module Slack
62
62
  #
63
63
  # Validate an app manifest
64
64
  #
65
- # @option options [manifest object as string] :manifest
65
+ # @option options [string] :manifest
66
66
  # The manifest to be validated. Will be validated against the app manifest schema - read our guide.
67
67
  # @option options [Object] :app_id
68
68
  # The ID of the app whose configuration you want to validate.
@@ -16,15 +16,31 @@ module Slack
16
16
  # @option options [array] :channel_types
17
17
  # Mix and match channel types by providing a comma-separated list of any combination of public_channel, private_channel, mpim, im.
18
18
  # @option options [array] :content_types
19
- # Content types to include, a comma-separated list of any combination of messages, files.
19
+ # Content types to include, a comma-separated list of any combination of messages, files, channels, users.
20
+ # @option options [boolean] :include_bots
21
+ # If you want the results to include bots.
22
+ # @option options [integer] :before
23
+ # UNIX timestamp filter. If present, filters for results before this date.
24
+ # @option options [integer] :after
25
+ # UNIX timestamp filter. If present, filters for results after this date.
26
+ # @option options [boolean] :include_context_messages
27
+ # Whether to include context messages surrounding the main message result. Defaults to false if unspecified.
20
28
  # @option options [Object] :context_channel_id
21
29
  # Context channel ID to support scoping the search when applicable.
22
30
  # @option options [string] :cursor
23
31
  # The cursor returned by the API. Leave this blank for the first request, and use this to get the next page of results.
24
- # @option options [boolean] :include_bots
25
- # If you want the results to include bots.
26
32
  # @option options [integer] :limit
27
33
  # Number of results to return, up to a max of 20. Defaults to 20.
34
+ # @option options [enum] :sort
35
+ # The field to sort the results by. Defaults to score. Can be one of: score, timestamp.
36
+ # @option options [enum] :sort_dir
37
+ # The direction to sort the results by. Defaults to desc.
38
+ # @option options [boolean] :include_message_blocks
39
+ # Whether to return the message blocks in the response.
40
+ # @option options [boolean] :highlight
41
+ # Whether to highlight the search query in the results. Defaults to false if unspecified.
42
+ # @option options [array] :term_clauses
43
+ # A list of term clauses. A term clause is a string with search terms. Search results returned will match every term clause specified (i.e. conjunctive normal form).
28
44
  # @see https://api.slack.com/methods/assistant.search.context
29
45
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/assistant.search/assistant.search.context.json
30
46
  def assistant_search_context(options = {})
@@ -37,6 +53,15 @@ module Slack
37
53
  post('assistant.search.context', options)
38
54
  end
39
55
  end
56
+
57
+ #
58
+ # Returns search capabilities on a given team.
59
+ #
60
+ # @see https://api.slack.com/methods/assistant.search.info
61
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/assistant.search/assistant.search.info.json
62
+ def assistant_search_info(options = {})
63
+ post('assistant.search.info', options)
64
+ end
40
65
  end
41
66
  end
42
67
  end
@@ -11,16 +11,16 @@ module Slack
11
11
  #
12
12
  # @option options [Object] :channel_id
13
13
  # Channel ID containing the assistant thread.
14
- # @option options [string] :status
15
- # Status of the specified bot user, e.g. 'is thinking...'.
16
14
  # @option options [string] :thread_ts
17
15
  # Message timestamp of the thread of where to set the status.
16
+ # @option options [string] :status
17
+ # Status of the specified bot user, e.g. 'is thinking...'.
18
18
  # @see https://api.slack.com/methods/assistant.threads.setStatus
19
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/assistant.threads/assistant.threads.setStatus.json
20
20
  def assistant_threads_setStatus(options = {})
21
21
  raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil?
22
- raise ArgumentError, 'Required arguments :status missing' if options[:status].nil?
23
22
  raise ArgumentError, 'Required arguments :thread_ts missing' if options[:thread_ts].nil?
23
+ raise ArgumentError, 'Required arguments :status missing' if options[:status].nil?
24
24
  post('assistant.threads.setStatus', options)
25
25
  end
26
26
 
@@ -29,18 +29,18 @@ module Slack
29
29
  #
30
30
  # @option options [Object] :channel_id
31
31
  # Channel ID containing the assistant thread.
32
- # @option options [Object] :prompts
33
- # Each prompt should be supplied with its title and message attribute.
34
32
  # @option options [string] :thread_ts
35
33
  # Message timestamp of the thread to set suggested prompts for.
34
+ # @option options [Object] :prompts
35
+ # Each prompt should be supplied with its title and message attribute.
36
36
  # @option options [string] :title
37
37
  # Title for the list of provided prompts. For example: Suggested Prompts, Related Questions.
38
38
  # @see https://api.slack.com/methods/assistant.threads.setSuggestedPrompts
39
39
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/assistant.threads/assistant.threads.setSuggestedPrompts.json
40
40
  def assistant_threads_setSuggestedPrompts(options = {})
41
41
  raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil?
42
- raise ArgumentError, 'Required arguments :prompts missing' if options[:prompts].nil?
43
42
  raise ArgumentError, 'Required arguments :thread_ts missing' if options[:thread_ts].nil?
43
+ raise ArgumentError, 'Required arguments :prompts missing' if options[:prompts].nil?
44
44
  post('assistant.threads.setSuggestedPrompts', options)
45
45
  end
46
46
 
@@ -10,7 +10,7 @@ module Slack
10
10
  # Revokes a token.
11
11
  #
12
12
  # @option options [boolean] :test
13
- # Setting this parameter to 1 triggers a testing mode where the specified token will not actually be revoked.
13
+ # Setting this parameter to 1 triggers a _testing mode_ where the specified token will not actually be revoked.
14
14
  # @see https://api.slack.com/methods/auth.revoke
15
15
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/auth/auth.revoke.json
16
16
  def auth_revoke(options = {})
@@ -9,12 +9,12 @@ module Slack
9
9
  #
10
10
  # Obtain a full list of workspaces your org-wide app has been approved for.
11
11
  #
12
+ # @option options [integer] :limit
13
+ # The maximum number of workspaces to return. Must be a positive integer no larger than 1000.
12
14
  # @option options [string] :cursor
13
15
  # Set cursor to next_cursor returned by the previous call to list items in the next page.
14
16
  # @option options [boolean] :include_icon
15
17
  # Whether to return icon paths for each workspace. An icon path represents a URI pointing to the image signifying the workspace.
16
- # @option options [integer] :limit
17
- # The maximum number of workspaces to return. Must be a positive integer no larger than 1000.
18
18
  # @see https://api.slack.com/methods/auth.teams.list
19
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/auth.teams/auth.teams.list.json
20
20
  def auth_teams_list(options = {})