slack-ruby-client 3.1.0 → 3.3.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.
- checksums.yaml +4 -4
- data/.github/prompts/changelog-entries.prompt.yml +32 -0
- data/.github/workflows/danger-comment.yml +11 -0
- data/.github/workflows/danger.yml +13 -0
- data/.github/workflows/lint.yml +3 -1
- data/.github/workflows/test.yml +1 -1
- data/.github/workflows/update_api.yml +94 -16
- data/.rubocop.yml +2 -1
- data/.rubocop_todo.yml +18 -4
- data/AGENTS.md +12 -0
- data/CHANGELOG.md +43 -1
- data/CONTRIBUTING.md +10 -1
- data/Dangerfile +4 -1
- data/Gemfile +20 -5
- data/README.md +47 -2
- data/RELEASING.md +2 -2
- data/Rakefile +7 -3
- data/UPGRADING.md +16 -0
- data/bin/commands/admin_analytics_messages.rb +36 -0
- data/bin/commands/admin_apps.rb +3 -0
- data/bin/commands/admin_apps_mcp_servers.rb +21 -0
- data/bin/commands/admin_apps_mcp_servers_permissions.rb +33 -0
- data/bin/commands/admin_apps_permissions.rb +58 -0
- data/bin/commands/admin_conversations.rb +20 -0
- data/bin/commands/admin_functions.rb +1 -1
- data/bin/commands/admin_functions_permissions.rb +1 -0
- data/bin/commands/admin_usergroups.rb +74 -0
- data/bin/commands/admin_users.rb +10 -8
- data/bin/commands/admin_users_session.rb +0 -1
- data/bin/commands/admin_workflows_triggers_types_permissions.rb +4 -3
- data/bin/commands/agents_sessions.rb +38 -0
- data/bin/commands/apps_icon.rb +22 -0
- data/bin/commands/apps_managed_permissions.rb +21 -0
- data/bin/commands/apps_manifest.rb +7 -6
- data/bin/commands/apps_user_connection.rb +21 -0
- data/bin/commands/assistant_search.rb +3 -2
- data/bin/commands/assistant_threads.rb +6 -3
- data/bin/commands/blocks.rb +22 -0
- data/bin/commands/bookmarks.rb +6 -6
- data/bin/commands/canvases.rb +12 -2
- data/bin/commands/chat.rb +17 -7
- data/bin/commands/conversations.rb +2 -2
- data/bin/commands/conversations_canvases.rb +1 -1
- data/bin/commands/entity.rb +27 -0
- data/bin/commands/files.rb +5 -2
- data/bin/commands/oauth_v2.rb +22 -0
- data/bin/commands/oauth_v2_user.rb +27 -0
- data/bin/commands/openid_connect.rb +1 -0
- data/bin/commands/slackLists_download.rb +6 -0
- data/bin/commands/slackLists_items.rb +1 -0
- data/bin/commands/users.rb +3 -2
- data/bin/commands/views.rb +1 -0
- data/bin/slack +5 -1
- data/examples/files_upload_v2/files_upload_v2.rb +1 -1
- data/examples/hi_web/hi.rb +1 -1
- data/examples/new_ticket/new_ticket.rb +1 -1
- data/examples/oauth_v2/oauth_v2.rb +6 -6
- data/lib/slack/events/config.rb +1 -1
- data/lib/slack/events/request.rb +2 -2
- data/lib/slack/version.rb +1 -1
- data/lib/slack/web/api/endpoints/admin_analytics_messages.rb +64 -0
- data/lib/slack/web/api/endpoints/admin_apps.rb +6 -0
- data/lib/slack/web/api/endpoints/admin_apps_mcp_servers.rb +31 -0
- data/lib/slack/web/api/endpoints/admin_apps_mcp_servers_permissions.rb +46 -0
- data/lib/slack/web/api/endpoints/admin_apps_permissions.rb +83 -0
- data/lib/slack/web/api/endpoints/admin_conversations.rb +30 -0
- data/lib/slack/web/api/endpoints/admin_emoji.rb +0 -1
- data/lib/slack/web/api/endpoints/admin_functions.rb +1 -1
- data/lib/slack/web/api/endpoints/admin_functions_permissions.rb +2 -1
- data/lib/slack/web/api/endpoints/admin_usergroups.rb +111 -0
- data/lib/slack/web/api/endpoints/admin_users.rb +11 -6
- data/lib/slack/web/api/endpoints/admin_users_session.rb +0 -2
- data/lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb +3 -3
- data/lib/slack/web/api/endpoints/agents_sessions.rb +54 -0
- data/lib/slack/web/api/endpoints/apps_icon.rb +28 -0
- data/lib/slack/web/api/endpoints/apps_managed_permissions.rb +27 -0
- data/lib/slack/web/api/endpoints/apps_manifest.rb +5 -3
- data/lib/slack/web/api/endpoints/apps_user_connection.rb +27 -0
- data/lib/slack/web/api/endpoints/assistant_search.rb +3 -1
- data/lib/slack/web/api/endpoints/assistant_threads.rb +9 -4
- data/lib/slack/web/api/endpoints/blocks.rb +28 -0
- data/lib/slack/web/api/endpoints/bookmarks.rb +6 -12
- data/lib/slack/web/api/endpoints/canvases.rb +16 -2
- data/lib/slack/web/api/endpoints/chat.rb +39 -17
- data/lib/slack/web/api/endpoints/conversations.rb +2 -2
- data/lib/slack/web/api/endpoints/conversations_canvases.rb +1 -1
- data/lib/slack/web/api/endpoints/entity.rb +48 -0
- data/lib/slack/web/api/endpoints/files.rb +8 -1
- data/lib/slack/web/api/endpoints/oauth_v2.rb +35 -0
- data/lib/slack/web/api/endpoints/oauth_v2_user.rb +37 -0
- data/lib/slack/web/api/endpoints/openid_connect.rb +2 -0
- data/lib/slack/web/api/endpoints/slackLists_download.rb +12 -0
- data/lib/slack/web/api/endpoints/slackLists_items.rb +2 -0
- data/lib/slack/web/api/endpoints/users.rb +3 -2
- data/lib/slack/web/api/endpoints/views.rb +1 -0
- data/lib/slack/web/api/endpoints.rb +20 -0
- data/lib/slack/web/api/errors/server_error.rb +1 -1
- data/lib/slack/web/api/errors/slack_error.rb +1 -1
- data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -1
- data/lib/slack/web/api/errors.rb +230 -6
- data/lib/slack/web/api/helpers/files.rb +2 -2
- data/lib/slack/web/api/mixins/conversations.id.rb +2 -1
- data/lib/slack/web/api/mixins/ids.id.rb +3 -1
- data/lib/slack/web/api/mixins/users.id.rb +2 -1
- data/lib/slack/web/api/mixins/users.search.rb +1 -1
- data/lib/slack/web/api/patches/files.default-filename.patch +12 -0
- data/lib/slack/web/api/templates/method.erb +3 -1
- data/lib/slack/web/api/templates/method_spec.erb +32 -3
- data/lib/slack/web/client.rb +29 -0
- data/lib/slack/web/faraday/request.rb +22 -2
- data/lib/tasks/web.rake +5 -2
- data/slack-ruby-client.gemspec +0 -1
- metadata +32 -19
- data/.github/workflows/pr_lint.yml +0 -21
- data/Gemfile.danger +0 -6
|
@@ -45,12 +45,12 @@ module Slack
|
|
|
45
45
|
|
|
46
46
|
files_to_upload.each_with_index do |file, index|
|
|
47
47
|
%i[filename content].each do |param|
|
|
48
|
-
raise ArgumentError, "
|
|
48
|
+
raise ArgumentError, "required argument :`#{param}` missing in file (`#{index}`)" if file[param].nil?
|
|
49
49
|
end
|
|
50
50
|
end
|
|
51
51
|
|
|
52
52
|
channel_params = %i[channel channels channel_id].map { |param| params[param] }.compact
|
|
53
|
-
raise ArgumentError, '
|
|
53
|
+
raise ArgumentError, 'only one of :channel, :channels, or :channel_id is required' if channel_params.size > 1
|
|
54
54
|
|
|
55
55
|
complete_upload_request_params = params.slice(:initial_comment, :blocks, :thread_ts)
|
|
56
56
|
|
|
@@ -7,6 +7,7 @@ module Slack
|
|
|
7
7
|
module Mixins
|
|
8
8
|
module Conversations
|
|
9
9
|
include Ids
|
|
10
|
+
|
|
10
11
|
#
|
|
11
12
|
# This method returns a channel ID given a channel name.
|
|
12
13
|
#
|
|
@@ -24,7 +25,7 @@ module Slack
|
|
|
24
25
|
# containing one or more of public_channel, private_channel, mpim, im
|
|
25
26
|
def conversations_id(options = {})
|
|
26
27
|
name = options[:channel]
|
|
27
|
-
raise ArgumentError, '
|
|
28
|
+
raise ArgumentError, 'required arguments :channel missing' if name.nil?
|
|
28
29
|
|
|
29
30
|
id_for(
|
|
30
31
|
key: :channel,
|
|
@@ -15,7 +15,9 @@ module Slack
|
|
|
15
15
|
end
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
error_message = "#{key}_not_found"
|
|
19
|
+
error_class = Slack::Web::Api::Errors::ERROR_CLASSES[error_message] || Slack::Web::Api::Errors::SlackError
|
|
20
|
+
raise error_class, error_message
|
|
19
21
|
end
|
|
20
22
|
end
|
|
21
23
|
end
|
|
@@ -7,6 +7,7 @@ module Slack
|
|
|
7
7
|
module Mixins
|
|
8
8
|
module Users
|
|
9
9
|
include Ids
|
|
10
|
+
|
|
10
11
|
#
|
|
11
12
|
# This method returns a user ID given a user name.
|
|
12
13
|
#
|
|
@@ -19,7 +20,7 @@ module Slack
|
|
|
19
20
|
# The page size used for users_list calls required to find the user's ID
|
|
20
21
|
def users_id(options = {})
|
|
21
22
|
name = options[:user]
|
|
22
|
-
raise ArgumentError, '
|
|
23
|
+
raise ArgumentError, 'required arguments :user missing' if name.nil?
|
|
23
24
|
|
|
24
25
|
id_for(
|
|
25
26
|
key: :user,
|
|
@@ -14,7 +14,7 @@ if defined?(Picky)
|
|
|
14
14
|
# Free-formed text to search for.
|
|
15
15
|
def users_search(options = {})
|
|
16
16
|
query = options[:user]
|
|
17
|
-
raise ArgumentError, '
|
|
17
|
+
raise ArgumentError, 'required arguments :user missing' if query.nil?
|
|
18
18
|
|
|
19
19
|
index = Picky::Index.new(:users) do
|
|
20
20
|
category :name
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
diff --git a/lib/slack/web/api/endpoints/files.rb b/lib/slack/web/api/endpoints/files.rb
|
|
2
|
+
index 13a1889..9ce4894 100644
|
|
3
|
+
--- a/lib/slack/web/api/endpoints/files.rb
|
|
4
|
+
+++ b/lib/slack/web/api/endpoints/files.rb
|
|
5
|
+
@@ -192,6 +192,7 @@ module Slack
|
|
6
|
+
# @see https://api.slack.com/methods/files.upload
|
|
7
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.upload.json
|
|
8
|
+
def files_upload(options = {})
|
|
9
|
+
+ options = options.merge(filename: 'file') if options[:file] && !options[:filename]
|
|
10
|
+
post('files.upload', options)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -40,8 +40,10 @@ module Slack
|
|
|
40
40
|
<% data['arg_groups']&.each do |arg_group| %>
|
|
41
41
|
<% next if arg_group['args'].size <= 1 %>
|
|
42
42
|
<% arg_string = arg_group['args'].map { |arg_name| ":#{arg_name}" }.join(', ') %>
|
|
43
|
-
<% if arg_group['mutually_exclusive'] %>
|
|
43
|
+
<% if arg_group['mutually_exclusive'] && arg_group['required'] != false %>
|
|
44
44
|
raise ArgumentError, 'Exactly one of <%= arg_string %> is required' unless <%= arg_group['args'].map { |arg_name| "options[:#{arg_name}].nil?" }.join(' ^ ') %>
|
|
45
|
+
<% elsif arg_group['mutually_exclusive'] %>
|
|
46
|
+
raise ArgumentError, '<%= arg_string %> are mutually exclusive' if <%= arg_group['args'].map { |arg_name| "!options[:#{arg_name}].nil?" }.join(' && ') %>
|
|
45
47
|
<% else %>
|
|
46
48
|
raise ArgumentError, 'At least one of <%= arg_string %> is required' if <%= arg_group['args'].map { |arg_name| "options[:#{arg_name}].nil?"}.join(' && ') %>
|
|
47
49
|
<% end %>
|
|
@@ -5,6 +5,21 @@ require 'spec_helper'
|
|
|
5
5
|
|
|
6
6
|
RSpec.describe Slack::Web::Api::Endpoints::<%= group.gsub(".", "_").camelize %> do
|
|
7
7
|
let(:client) { Slack::Web::Client.new }
|
|
8
|
+
<%
|
|
9
|
+
# Renders a Ruby literal as source code deterministically, regardless of the
|
|
10
|
+
# Ruby version used to run the generator (Hash#inspect's format for symbol
|
|
11
|
+
# keys changed in Ruby 3.4, which would otherwise cause spurious diffs).
|
|
12
|
+
ruby_literal = lambda do |val|
|
|
13
|
+
case val
|
|
14
|
+
when Hash
|
|
15
|
+
"{#{val.map { |k, v| "#{k}: #{ruby_literal.call(v)}" }.join(', ')}}"
|
|
16
|
+
when Array
|
|
17
|
+
"[#{val.map { |v| ruby_literal.call(v) }.join(', ')}]"
|
|
18
|
+
else
|
|
19
|
+
val.inspect
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
%>
|
|
8
23
|
<% names.sort.each_with_index do |(name, data), index| %>
|
|
9
24
|
<% next if data['mixin'] %>
|
|
10
25
|
<% group_required_params = data['arg_groups']&.map { |grp| grp['args'].first if grp['args'].size > 1 } || [] %>
|
|
@@ -21,23 +36,37 @@ RSpec.describe Slack::Web::Api::Endpoints::<%= group.gsub(".", "_").camelize %>
|
|
|
21
36
|
expect { client.<%= method_name %><%= params_except_required.empty? ? '' : "(#{params_except_required})" %> }.to raise_error ArgumentError, /Required arguments :<%= arg_name %> missing/
|
|
22
37
|
end
|
|
23
38
|
<% end %>
|
|
39
|
+
<% at_most_one_groups = data['arg_groups']&.select { |g| g['mutually_exclusive'] && g['required'] == false } || [] %>
|
|
24
40
|
<% data['arg_groups']&.each do |arg_group| %>
|
|
25
41
|
<% next if arg_group['args'].size <= 1 %>
|
|
42
|
+
<% at_most_one = arg_group['mutually_exclusive'] && arg_group['required'] == false %>
|
|
43
|
+
<% if at_most_one %>
|
|
44
|
+
it 'does not allow both <%= arg_group['args'].join(' and ') %>' do
|
|
45
|
+
<% else %>
|
|
26
46
|
it 'requires one of <%= arg_group['args'].join(', ') %>' do
|
|
47
|
+
<% end %>
|
|
27
48
|
<% params_except_required = example_params.reject { |name, _| arg_group['args'].include?(name) }.map { |name, val| "#{name}: %q[#{val}]" }.join(', ') %>
|
|
49
|
+
<% if at_most_one %>
|
|
50
|
+
<% error_message = 'mutually exclusive' %>
|
|
51
|
+
<% else %>
|
|
28
52
|
<% error_message = arg_group['mutually_exclusive'] ? 'Exactly' : 'At least' %>
|
|
29
53
|
expect { client.<%= method_name %><%= params_except_required.empty? ? '' : "(#{params_except_required})" %> }.to raise_error ArgumentError, /<%= error_message %> one of/
|
|
54
|
+
<% end %>
|
|
30
55
|
<% (1..arg_group['args'].length).each do |n| %>
|
|
31
56
|
<% arg_group['args'].combination(n) do |names| %>
|
|
32
57
|
<% params = names.map { |name| "#{name}: %q[#{data['args'][name]['example']}]" }.join(', ') %>
|
|
33
58
|
<% params = "#{params}, #{params_except_required}" unless params_except_required.empty? %>
|
|
34
|
-
<%
|
|
59
|
+
<% violates_at_most_one = at_most_one_groups.any? { |g| (names & g['args']).length > 1 } %>
|
|
60
|
+
<% if violates_at_most_one %>
|
|
61
|
+
|
|
62
|
+
expect { client.<%= method_name %><%= "(#{params})" %> }.to raise_error ArgumentError, /mutually exclusive/
|
|
63
|
+
<% elsif n == 1 || !arg_group['mutually_exclusive'] %>
|
|
35
64
|
|
|
36
65
|
expect(client).to receive(:post).with('<%= group %>.<%= name %>', {<%= params %>})
|
|
37
66
|
client.<%= method_name %><%= "(#{params})" %>
|
|
38
67
|
<% else %>
|
|
39
68
|
|
|
40
|
-
expect { client.<%= method_name %><%= "(#{params})" %> }.to raise_error ArgumentError, /<%= error_message
|
|
69
|
+
expect { client.<%= method_name %><%= "(#{params})" %> }.to raise_error ArgumentError, /<%= at_most_one ? error_message : "#{error_message} one of" %>/
|
|
41
70
|
<% end %>
|
|
42
71
|
<% end %>
|
|
43
72
|
<% end %>
|
|
@@ -45,7 +74,7 @@ RSpec.describe Slack::Web::Api::Endpoints::<%= group.gsub(".", "_").camelize %>
|
|
|
45
74
|
<% end %>
|
|
46
75
|
<% if json_params.any? %>
|
|
47
76
|
<% example_json_params = json_params.to_h { |name| [name, {data: ['data']}] } %>
|
|
48
|
-
<% params = example_params.merge(example_json_params).map { |name, val| val = val.is_a?(String) ? "%q[#{val}]" : val; "#{name}: #{val}" }.join(', ') %>
|
|
77
|
+
<% params = example_params.merge(example_json_params).map { |name, val| val = val.is_a?(String) ? "%q[#{val}]" : ruby_literal.call(val); "#{name}: #{val}" }.join(', ') %>
|
|
49
78
|
<% expected_params = example_params.merge(example_json_params.transform_values { |v| JSON.dump(v) }).map { |name, val| val = "%q[#{val}]"; "#{name}: #{val}" }.join(', ') %>
|
|
50
79
|
it 'encodes <%= json_params.join(', ') %> as json' do
|
|
51
80
|
expect(client).to receive(:post).with('<%= group %>.<%= name %>', {<%= expected_params %>})
|
data/lib/slack/web/client.rb
CHANGED
|
@@ -14,10 +14,29 @@ module Slack
|
|
|
14
14
|
Slack::Web::Config::ATTRIBUTES.each do |key|
|
|
15
15
|
send("#{key}=", options.fetch(key, Slack::Web.config.send(key)))
|
|
16
16
|
end
|
|
17
|
+
|
|
17
18
|
@logger ||= Slack::Config.logger || Slack::Logger.default
|
|
18
19
|
@token ||= Slack.config.token
|
|
19
20
|
end
|
|
20
21
|
|
|
22
|
+
def with_response(&block)
|
|
23
|
+
raise ArgumentError, 'response callback block is required' unless block
|
|
24
|
+
|
|
25
|
+
with_callback(:@response_callbacks, block)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def with_request(&block)
|
|
29
|
+
raise ArgumentError, 'request callback block is required' unless block
|
|
30
|
+
|
|
31
|
+
with_callback(:@request_callbacks, block)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def with_error(&block)
|
|
35
|
+
raise ArgumentError, 'error callback block is required' unless block
|
|
36
|
+
|
|
37
|
+
with_callback(:@error_callbacks, block)
|
|
38
|
+
end
|
|
39
|
+
|
|
21
40
|
class << self
|
|
22
41
|
def configure
|
|
23
42
|
block_given? ? yield(Config) : Config
|
|
@@ -27,6 +46,16 @@ module Slack
|
|
|
27
46
|
Config
|
|
28
47
|
end
|
|
29
48
|
end
|
|
49
|
+
|
|
50
|
+
private
|
|
51
|
+
|
|
52
|
+
def with_callback(variable, block)
|
|
53
|
+
copy = dup
|
|
54
|
+
copy.instance_variable_set(:@connection, nil)
|
|
55
|
+
copy.instance_variable_set(:@options, nil)
|
|
56
|
+
copy.instance_variable_set(variable, Array(instance_variable_get(variable)) + [block])
|
|
57
|
+
copy
|
|
58
|
+
end
|
|
30
59
|
end
|
|
31
60
|
end
|
|
32
61
|
end
|
|
@@ -22,7 +22,14 @@ module Slack
|
|
|
22
22
|
private
|
|
23
23
|
|
|
24
24
|
def request(method, path, options)
|
|
25
|
-
response =
|
|
25
|
+
response = perform_request(method, path, options)
|
|
26
|
+
Array(@response_callbacks).each { |callback| callback.call(response) }
|
|
27
|
+
response.body
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def perform_request(method, path, options)
|
|
31
|
+
configuring_request = false
|
|
32
|
+
perform_http_request(method, -> { configuring_request }) do |request|
|
|
26
33
|
case method
|
|
27
34
|
when :get, :delete
|
|
28
35
|
request.url(path, options)
|
|
@@ -34,9 +41,22 @@ module Slack
|
|
|
34
41
|
request.headers['Authorization'] = "Bearer #{token}" if token
|
|
35
42
|
|
|
36
43
|
request.options.merge!(options.delete(:request)) if options.key?(:request)
|
|
44
|
+
configuring_request = true
|
|
45
|
+
Array(@request_callbacks).each { |callback| callback.call(request) }
|
|
46
|
+
configuring_request = false
|
|
37
47
|
end
|
|
38
|
-
|
|
48
|
+
rescue ::Faraday::Error => e
|
|
49
|
+
raise if configuring_request
|
|
50
|
+
|
|
51
|
+
Array(@error_callbacks).each { |callback| callback.call(e) }
|
|
52
|
+
raise
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def perform_http_request(method, configuring_request, &block)
|
|
56
|
+
connection.send(method, &block)
|
|
39
57
|
rescue ::Faraday::ParsingError => e
|
|
58
|
+
raise if configuring_request.call
|
|
59
|
+
|
|
40
60
|
raise Slack::Web::Api::Errors::ParsingError, e.response
|
|
41
61
|
end
|
|
42
62
|
end
|
data/lib/tasks/web.rake
CHANGED
|
@@ -59,13 +59,16 @@ namespace :slack do
|
|
|
59
59
|
|
|
60
60
|
unless ENV.key?('SKIP_PATCH')
|
|
61
61
|
Dir.glob("lib/slack/web/api/patches/#{group}*.patch").sort.each do |patch|
|
|
62
|
-
puts "
|
|
62
|
+
puts "#{' ' * 7}patching #{patch}"
|
|
63
63
|
system("git apply #{patch}") || raise('failed to apply patch')
|
|
64
64
|
end
|
|
65
65
|
end
|
|
66
66
|
|
|
67
67
|
# command
|
|
68
|
-
|
|
68
|
+
unless groups.key?(group)
|
|
69
|
+
puts "#{' ' * 7}undocumented group #{group}"
|
|
70
|
+
groups[group] = { 'name' => group }
|
|
71
|
+
end
|
|
69
72
|
|
|
70
73
|
rendered_command = command_template.result(group: groups[group], names: names)
|
|
71
74
|
File.write "bin/commands/#{snaked_group}.rb", rendered_command
|
data/slack-ruby-client.gemspec
CHANGED
|
@@ -20,7 +20,6 @@ Gem::Specification.new do |s|
|
|
|
20
20
|
s.add_dependency 'faraday', '>= 2.0.1'
|
|
21
21
|
s.add_dependency 'faraday-mashify'
|
|
22
22
|
s.add_dependency 'faraday-multipart'
|
|
23
|
-
s.add_dependency 'gli'
|
|
24
23
|
s.add_dependency 'hashie'
|
|
25
24
|
s.add_dependency 'logger'
|
|
26
25
|
s.metadata['rubygems_mfa_required'] = 'true'
|
metadata
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: slack-ruby-client
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Daniel Doubrovkine
|
|
8
|
+
autorequire:
|
|
8
9
|
bindir: bin
|
|
9
10
|
cert_chain: []
|
|
10
|
-
date:
|
|
11
|
+
date: 2026-10-10 00:00:00.000000000 Z
|
|
11
12
|
dependencies:
|
|
12
13
|
- !ruby/object:Gem::Dependency
|
|
13
14
|
name: faraday
|
|
@@ -51,20 +52,6 @@ dependencies:
|
|
|
51
52
|
- - ">="
|
|
52
53
|
- !ruby/object:Gem::Version
|
|
53
54
|
version: '0'
|
|
54
|
-
- !ruby/object:Gem::Dependency
|
|
55
|
-
name: gli
|
|
56
|
-
requirement: !ruby/object:Gem::Requirement
|
|
57
|
-
requirements:
|
|
58
|
-
- - ">="
|
|
59
|
-
- !ruby/object:Gem::Version
|
|
60
|
-
version: '0'
|
|
61
|
-
type: :runtime
|
|
62
|
-
prerelease: false
|
|
63
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
-
requirements:
|
|
65
|
-
- - ">="
|
|
66
|
-
- !ruby/object:Gem::Version
|
|
67
|
-
version: '0'
|
|
68
55
|
- !ruby/object:Gem::Dependency
|
|
69
56
|
name: hashie
|
|
70
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -93,6 +80,7 @@ dependencies:
|
|
|
93
80
|
- - ">="
|
|
94
81
|
- !ruby/object:Gem::Version
|
|
95
82
|
version: '0'
|
|
83
|
+
description:
|
|
96
84
|
email: dblock@dblock.org
|
|
97
85
|
executables:
|
|
98
86
|
- slack
|
|
@@ -102,8 +90,10 @@ files:
|
|
|
102
90
|
- ".coveralls.yml"
|
|
103
91
|
- ".github/FUNDING.yml"
|
|
104
92
|
- ".github/dependabot.yml"
|
|
93
|
+
- ".github/prompts/changelog-entries.prompt.yml"
|
|
94
|
+
- ".github/workflows/danger-comment.yml"
|
|
95
|
+
- ".github/workflows/danger.yml"
|
|
105
96
|
- ".github/workflows/lint.yml"
|
|
106
|
-
- ".github/workflows/pr_lint.yml"
|
|
107
97
|
- ".github/workflows/test.yml"
|
|
108
98
|
- ".github/workflows/update_api.yml"
|
|
109
99
|
- ".gitignore"
|
|
@@ -112,11 +102,11 @@ files:
|
|
|
112
102
|
- ".rubocop.yml"
|
|
113
103
|
- ".rubocop_todo.yml"
|
|
114
104
|
- ".ruby-version"
|
|
105
|
+
- AGENTS.md
|
|
115
106
|
- CHANGELOG.md
|
|
116
107
|
- CONTRIBUTING.md
|
|
117
108
|
- Dangerfile
|
|
118
109
|
- Gemfile
|
|
119
|
-
- Gemfile.danger
|
|
120
110
|
- LICENSE.md
|
|
121
111
|
- README.md
|
|
122
112
|
- RELEASING.md
|
|
@@ -124,10 +114,14 @@ files:
|
|
|
124
114
|
- SECURITY.md
|
|
125
115
|
- UPGRADING.md
|
|
126
116
|
- bin/commands/admin_analytics.rb
|
|
117
|
+
- bin/commands/admin_analytics_messages.rb
|
|
127
118
|
- bin/commands/admin_apps.rb
|
|
128
119
|
- bin/commands/admin_apps_activities.rb
|
|
129
120
|
- bin/commands/admin_apps_approved.rb
|
|
130
121
|
- bin/commands/admin_apps_config.rb
|
|
122
|
+
- bin/commands/admin_apps_mcp_servers.rb
|
|
123
|
+
- bin/commands/admin_apps_mcp_servers_permissions.rb
|
|
124
|
+
- bin/commands/admin_apps_permissions.rb
|
|
131
125
|
- bin/commands/admin_apps_requests.rb
|
|
132
126
|
- bin/commands/admin_apps_restricted.rb
|
|
133
127
|
- bin/commands/admin_audit_anomaly_allow.rb
|
|
@@ -155,6 +149,7 @@ files:
|
|
|
155
149
|
- bin/commands/admin_workflows_collaborators.rb
|
|
156
150
|
- bin/commands/admin_workflows_permissions.rb
|
|
157
151
|
- bin/commands/admin_workflows_triggers_types_permissions.rb
|
|
152
|
+
- bin/commands/agents_sessions.rb
|
|
158
153
|
- bin/commands/api.rb
|
|
159
154
|
- bin/commands/apps.rb
|
|
160
155
|
- bin/commands/apps_activities.rb
|
|
@@ -162,11 +157,15 @@ files:
|
|
|
162
157
|
- bin/commands/apps_connections.rb
|
|
163
158
|
- bin/commands/apps_datastore.rb
|
|
164
159
|
- bin/commands/apps_event_authorizations.rb
|
|
160
|
+
- bin/commands/apps_icon.rb
|
|
161
|
+
- bin/commands/apps_managed_permissions.rb
|
|
165
162
|
- bin/commands/apps_manifest.rb
|
|
163
|
+
- bin/commands/apps_user_connection.rb
|
|
166
164
|
- bin/commands/assistant_search.rb
|
|
167
165
|
- bin/commands/assistant_threads.rb
|
|
168
166
|
- bin/commands/auth.rb
|
|
169
167
|
- bin/commands/auth_teams.rb
|
|
168
|
+
- bin/commands/blocks.rb
|
|
170
169
|
- bin/commands/bookmarks.rb
|
|
171
170
|
- bin/commands/bots.rb
|
|
172
171
|
- bin/commands/calls.rb
|
|
@@ -194,6 +193,7 @@ files:
|
|
|
194
193
|
- bin/commands/migration.rb
|
|
195
194
|
- bin/commands/oauth.rb
|
|
196
195
|
- bin/commands/oauth_v2.rb
|
|
196
|
+
- bin/commands/oauth_v2_user.rb
|
|
197
197
|
- bin/commands/openid_connect.rb
|
|
198
198
|
- bin/commands/pins.rb
|
|
199
199
|
- bin/commands/reactions.rb
|
|
@@ -247,10 +247,14 @@ files:
|
|
|
247
247
|
- lib/slack/version.rb
|
|
248
248
|
- lib/slack/web/api/endpoints.rb
|
|
249
249
|
- lib/slack/web/api/endpoints/admin_analytics.rb
|
|
250
|
+
- lib/slack/web/api/endpoints/admin_analytics_messages.rb
|
|
250
251
|
- lib/slack/web/api/endpoints/admin_apps.rb
|
|
251
252
|
- lib/slack/web/api/endpoints/admin_apps_activities.rb
|
|
252
253
|
- lib/slack/web/api/endpoints/admin_apps_approved.rb
|
|
253
254
|
- lib/slack/web/api/endpoints/admin_apps_config.rb
|
|
255
|
+
- lib/slack/web/api/endpoints/admin_apps_mcp_servers.rb
|
|
256
|
+
- lib/slack/web/api/endpoints/admin_apps_mcp_servers_permissions.rb
|
|
257
|
+
- lib/slack/web/api/endpoints/admin_apps_permissions.rb
|
|
254
258
|
- lib/slack/web/api/endpoints/admin_apps_requests.rb
|
|
255
259
|
- lib/slack/web/api/endpoints/admin_apps_restricted.rb
|
|
256
260
|
- lib/slack/web/api/endpoints/admin_audit_anomaly_allow.rb
|
|
@@ -278,6 +282,7 @@ files:
|
|
|
278
282
|
- lib/slack/web/api/endpoints/admin_workflows_collaborators.rb
|
|
279
283
|
- lib/slack/web/api/endpoints/admin_workflows_permissions.rb
|
|
280
284
|
- lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb
|
|
285
|
+
- lib/slack/web/api/endpoints/agents_sessions.rb
|
|
281
286
|
- lib/slack/web/api/endpoints/api.rb
|
|
282
287
|
- lib/slack/web/api/endpoints/apps.rb
|
|
283
288
|
- lib/slack/web/api/endpoints/apps_activities.rb
|
|
@@ -285,11 +290,15 @@ files:
|
|
|
285
290
|
- lib/slack/web/api/endpoints/apps_connections.rb
|
|
286
291
|
- lib/slack/web/api/endpoints/apps_datastore.rb
|
|
287
292
|
- lib/slack/web/api/endpoints/apps_event_authorizations.rb
|
|
293
|
+
- lib/slack/web/api/endpoints/apps_icon.rb
|
|
294
|
+
- lib/slack/web/api/endpoints/apps_managed_permissions.rb
|
|
288
295
|
- lib/slack/web/api/endpoints/apps_manifest.rb
|
|
296
|
+
- lib/slack/web/api/endpoints/apps_user_connection.rb
|
|
289
297
|
- lib/slack/web/api/endpoints/assistant_search.rb
|
|
290
298
|
- lib/slack/web/api/endpoints/assistant_threads.rb
|
|
291
299
|
- lib/slack/web/api/endpoints/auth.rb
|
|
292
300
|
- lib/slack/web/api/endpoints/auth_teams.rb
|
|
301
|
+
- lib/slack/web/api/endpoints/blocks.rb
|
|
293
302
|
- lib/slack/web/api/endpoints/bookmarks.rb
|
|
294
303
|
- lib/slack/web/api/endpoints/bots.rb
|
|
295
304
|
- lib/slack/web/api/endpoints/calls.rb
|
|
@@ -317,6 +326,7 @@ files:
|
|
|
317
326
|
- lib/slack/web/api/endpoints/migration.rb
|
|
318
327
|
- lib/slack/web/api/endpoints/oauth.rb
|
|
319
328
|
- lib/slack/web/api/endpoints/oauth_v2.rb
|
|
329
|
+
- lib/slack/web/api/endpoints/oauth_v2_user.rb
|
|
320
330
|
- lib/slack/web/api/endpoints/openid_connect.rb
|
|
321
331
|
- lib/slack/web/api/endpoints/pins.rb
|
|
322
332
|
- lib/slack/web/api/endpoints/reactions.rb
|
|
@@ -360,6 +370,7 @@ files:
|
|
|
360
370
|
- lib/slack/web/api/mixins/users.search.rb
|
|
361
371
|
- lib/slack/web/api/options.rb
|
|
362
372
|
- lib/slack/web/api/patches/.gitkeep
|
|
373
|
+
- lib/slack/web/api/patches/files.default-filename.patch
|
|
363
374
|
- lib/slack/web/api/schema/group.json
|
|
364
375
|
- lib/slack/web/api/schema/method.json
|
|
365
376
|
- lib/slack/web/api/templates/command.erb
|
|
@@ -387,6 +398,7 @@ licenses:
|
|
|
387
398
|
metadata:
|
|
388
399
|
rubygems_mfa_required: 'true'
|
|
389
400
|
changelog_uri: https://github.com/slack-ruby/slack-ruby-client/blob/master/CHANGELOG.md
|
|
401
|
+
post_install_message:
|
|
390
402
|
rdoc_options: []
|
|
391
403
|
require_paths:
|
|
392
404
|
- lib
|
|
@@ -401,7 +413,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
401
413
|
- !ruby/object:Gem::Version
|
|
402
414
|
version: 1.3.6
|
|
403
415
|
requirements: []
|
|
404
|
-
rubygems_version: 3.
|
|
416
|
+
rubygems_version: 3.5.16
|
|
417
|
+
signing_key:
|
|
405
418
|
specification_version: 4
|
|
406
419
|
summary: Slack Web and RealTime API client.
|
|
407
420
|
test_files: []
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
name: PR Lint
|
|
2
|
-
on: pull_request
|
|
3
|
-
jobs:
|
|
4
|
-
danger:
|
|
5
|
-
name: Dangerfile
|
|
6
|
-
runs-on: ubuntu-latest
|
|
7
|
-
env:
|
|
8
|
-
BUNDLE_GEMFILE: ${{ github.workspace }}/Gemfile.danger
|
|
9
|
-
steps:
|
|
10
|
-
- name: Checkout
|
|
11
|
-
uses: actions/checkout@v5
|
|
12
|
-
with:
|
|
13
|
-
fetch-depth: 0
|
|
14
|
-
- name: Set up Ruby
|
|
15
|
-
uses: ruby/setup-ruby@v1
|
|
16
|
-
with:
|
|
17
|
-
bundler-cache: true
|
|
18
|
-
- run: |
|
|
19
|
-
# Personal access token for dangerpr-bot - public, but base64 encoded to avoid tripping up GitHub
|
|
20
|
-
TOKEN=$(echo -n Z2hwX0xNQ3VmanBFeTBvYkZVTWh6NVNqVFFBOEUxU25abzBqRUVuaAo= | base64 --decode)
|
|
21
|
-
DANGER_GITHUB_API_TOKEN=$TOKEN bundle exec danger --verbose
|