slack-ruby-client 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/.github/workflows/integration_test.yml +19 -0
  4. data/.github/workflows/pr_lint.yml +1 -1
  5. data/.github/workflows/test.yml +1 -0
  6. data/CHANGELOG.md +9 -0
  7. data/README.md +18 -14
  8. data/SECURITY.md +9 -0
  9. data/bin/commands/admin_analytics.rb +16 -10
  10. data/bin/commands/admin_apps.rb +48 -42
  11. data/bin/commands/admin_apps_approved.rb +17 -11
  12. data/bin/commands/admin_apps_requests.rb +27 -21
  13. data/bin/commands/admin_apps_restricted.rb +17 -11
  14. data/bin/commands/admin_audit_anomaly_allow.rb +22 -16
  15. data/bin/commands/admin_auth_policy.rb +37 -31
  16. data/bin/commands/admin_barriers.rb +44 -38
  17. data/bin/commands/admin_conversations.rb +221 -165
  18. data/bin/commands/admin_conversations_ekm.rb +17 -11
  19. data/bin/commands/admin_conversations_restrictAccess.rb +35 -29
  20. data/bin/commands/admin_emoji.rb +50 -44
  21. data/bin/commands/admin_inviteRequests.rb +34 -28
  22. data/bin/commands/admin_inviteRequests_approved.rb +16 -10
  23. data/bin/commands/admin_inviteRequests_denied.rb +16 -10
  24. data/bin/commands/admin_roles.rb +46 -0
  25. data/bin/commands/admin_teams.rb +26 -20
  26. data/bin/commands/admin_teams_admins.rb +16 -10
  27. data/bin/commands/admin_teams_owners.rb +16 -10
  28. data/bin/commands/admin_teams_settings.rb +59 -53
  29. data/bin/commands/admin_usergroups.rb +45 -39
  30. data/bin/commands/admin_users.rb +91 -85
  31. data/bin/commands/admin_users_session.rb +72 -66
  32. data/bin/commands/admin_users_unsupportedVersions.rb +15 -9
  33. data/bin/commands/api.rb +14 -8
  34. data/bin/commands/apps.rb +15 -9
  35. data/bin/commands/apps_connections.rb +13 -7
  36. data/bin/commands/apps_event_authorizations.rb +16 -10
  37. data/bin/commands/apps_manifest.rb +48 -42
  38. data/bin/commands/auth.rb +21 -15
  39. data/bin/commands/auth_teams.rb +16 -10
  40. data/bin/commands/bookmarks.rb +50 -44
  41. data/bin/commands/bots.rb +15 -9
  42. data/bin/commands/calls.rb +49 -43
  43. data/bin/commands/calls_participants.rb +24 -18
  44. data/bin/commands/chat.rb +150 -144
  45. data/bin/commands/chat_scheduledMessages.rb +19 -13
  46. data/bin/commands/conversations.rb +233 -227
  47. data/bin/commands/dialog.rb +15 -9
  48. data/bin/commands/dnd.rb +46 -40
  49. data/bin/commands/emoji.rb +14 -7
  50. data/bin/commands/files.rb +110 -105
  51. data/bin/commands/files_comments.rb +15 -9
  52. data/bin/commands/files_remote.rb +73 -67
  53. data/bin/commands/functions_workflows_steps.rb +22 -0
  54. data/bin/commands/functions_workflows_steps_responses.rb +22 -0
  55. data/bin/commands/migration.rb +16 -10
  56. data/bin/commands/oauth.rb +18 -12
  57. data/bin/commands/oauth_v2.rb +28 -22
  58. data/bin/commands/openid_connect.rb +26 -20
  59. data/bin/commands/pins.rb +33 -26
  60. data/bin/commands/reactions.rb +52 -46
  61. data/bin/commands/reminders.rb +53 -47
  62. data/bin/commands/rtm.rb +15 -9
  63. data/bin/commands/search.rb +43 -37
  64. data/bin/commands/stars.rb +38 -32
  65. data/bin/commands/team.rb +47 -39
  66. data/bin/commands/team_billing.rb +13 -7
  67. data/bin/commands/team_preferences.rb +13 -7
  68. data/bin/commands/team_profile.rb +14 -8
  69. data/bin/commands/tooling_tokens.rb +14 -8
  70. data/bin/commands/usergroups.rb +64 -58
  71. data/bin/commands/usergroups_users.rb +27 -21
  72. data/bin/commands/users.rb +111 -105
  73. data/bin/commands/users_admin.rb +28 -22
  74. data/bin/commands/users_prefs.rb +13 -7
  75. data/bin/commands/users_profile.rb +26 -20
  76. data/bin/commands/views.rb +47 -41
  77. data/bin/commands/workflows.rb +36 -30
  78. data/bin/slack +48 -43
  79. data/lib/slack/version.rb +1 -1
  80. data/lib/slack/web/api/endpoints/admin_analytics.rb +1 -1
  81. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +1 -1
  82. data/lib/slack/web/api/endpoints/admin_conversations.rb +78 -0
  83. data/lib/slack/web/api/endpoints/admin_roles.rb +73 -0
  84. data/lib/slack/web/api/endpoints/chat.rb +2 -2
  85. data/lib/slack/web/api/endpoints/conversations.rb +1 -1
  86. data/lib/slack/web/api/endpoints/emoji.rb +2 -0
  87. data/lib/slack/web/api/endpoints/files.rb +0 -2
  88. data/lib/slack/web/api/endpoints/functions_workflows_steps.rb +28 -0
  89. data/lib/slack/web/api/endpoints/functions_workflows_steps_responses.rb +28 -0
  90. data/lib/slack/web/api/endpoints/pins.rb +2 -0
  91. data/lib/slack/web/api/endpoints/team.rb +11 -1
  92. data/lib/slack/web/api/endpoints/usergroups.rb +1 -1
  93. data/lib/slack/web/api/endpoints/users_profile.rb +1 -1
  94. data/lib/slack/web/api/endpoints.rb +6 -0
  95. data/lib/slack/web/api/errors.rb +62 -0
  96. data/lib/slack/web/api/templates/command.erb +18 -12
  97. data/lib/tasks/web.rake +0 -6
  98. data/slack-ruby-client.gemspec +0 -1
  99. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +31 -0
  100. data/spec/slack/web/api/endpoints/admin_roles_spec.rb +30 -0
  101. data/spec/slack/web/api/endpoints/functions_workflows_steps_responses_spec.rb +13 -0
  102. data/spec/slack/web/api/endpoints/functions_workflows_steps_spec.rb +13 -0
  103. metadata +13 -19
  104. data/bin/commands.rb +0 -69
  105. data/lib/slack/web/api/templates/commands.erb +0 -6
data/bin/commands/dnd.rb CHANGED
@@ -1,50 +1,56 @@
1
1
  # frozen_string_literal: true
2
2
  # This file was auto-generated by lib/tasks/web.rake
3
3
 
4
- desc 'Dnd methods.'
5
- command 'dnd' do |g|
6
- g.desc "Ends the current user's Do Not Disturb session immediately."
7
- g.long_desc %( Ends the current user's Do Not Disturb session immediately. )
8
- g.command 'endDnd' do |c|
9
- c.action do |_global_options, options, _args|
10
- puts JSON.dump($client.dnd_endDnd(options))
11
- end
12
- end
4
+ module Slack
5
+ module Cli
6
+ class App
7
+ desc 'Dnd methods.'
8
+ command 'dnd' do |g|
9
+ g.desc "Ends the current user's Do Not Disturb session immediately."
10
+ g.long_desc %( Ends the current user's Do Not Disturb session immediately. )
11
+ g.command 'endDnd' do |c|
12
+ c.action do |_global_options, options, _args|
13
+ puts JSON.dump(@client.dnd_endDnd(options))
14
+ end
15
+ end
13
16
 
14
- g.desc "Ends the current user's snooze mode immediately."
15
- g.long_desc %( Ends the current user's snooze mode immediately. )
16
- g.command 'endSnooze' do |c|
17
- c.action do |_global_options, options, _args|
18
- puts JSON.dump($client.dnd_endSnooze(options))
19
- end
20
- end
17
+ g.desc "Ends the current user's snooze mode immediately."
18
+ g.long_desc %( Ends the current user's snooze mode immediately. )
19
+ g.command 'endSnooze' do |c|
20
+ c.action do |_global_options, options, _args|
21
+ puts JSON.dump(@client.dnd_endSnooze(options))
22
+ end
23
+ end
21
24
 
22
- g.desc "Retrieves a user's current Do Not Disturb status."
23
- g.long_desc %( Retrieves a user's current Do Not Disturb status. )
24
- g.command 'info' do |c|
25
- c.flag 'team_id', desc: 'Encoded team id where passed in user param belongs, required if org token is used. If no user param is passed, then a team which has access to the app should be passed.'
26
- c.flag 'user', desc: 'User to fetch status for (defaults to current user).'
27
- c.action do |_global_options, options, _args|
28
- puts JSON.dump($client.dnd_info(options))
29
- end
30
- end
25
+ g.desc "Retrieves a user's current Do Not Disturb status."
26
+ g.long_desc %( Retrieves a user's current Do Not Disturb status. )
27
+ g.command 'info' do |c|
28
+ c.flag 'team_id', desc: 'Encoded team id where passed in user param belongs, required if org token is used. If no user param is passed, then a team which has access to the app should be passed.'
29
+ c.flag 'user', desc: 'User to fetch status for (defaults to current user).'
30
+ c.action do |_global_options, options, _args|
31
+ puts JSON.dump(@client.dnd_info(options))
32
+ end
33
+ end
31
34
 
32
- g.desc 'Turns on Do Not Disturb mode for the current user, or changes its duration.'
33
- g.long_desc %( Turns on Do Not Disturb mode for the current user, or changes its duration. )
34
- g.command 'setSnooze' do |c|
35
- c.flag 'num_minutes', desc: 'Number of minutes, from now, to snooze until.'
36
- c.action do |_global_options, options, _args|
37
- puts JSON.dump($client.dnd_setSnooze(options))
38
- end
39
- end
35
+ g.desc 'Turns on Do Not Disturb mode for the current user, or changes its duration.'
36
+ g.long_desc %( Turns on Do Not Disturb mode for the current user, or changes its duration. )
37
+ g.command 'setSnooze' do |c|
38
+ c.flag 'num_minutes', desc: 'Number of minutes, from now, to snooze until.'
39
+ c.action do |_global_options, options, _args|
40
+ puts JSON.dump(@client.dnd_setSnooze(options))
41
+ end
42
+ end
40
43
 
41
- g.desc 'Retrieves the Do Not Disturb status for up to 50 users on a team.'
42
- g.long_desc %( Retrieves the Do Not Disturb status for up to 50 users on a team. )
43
- g.command 'teamInfo' do |c|
44
- c.flag 'users', desc: 'Comma-separated list of users to fetch Do Not Disturb status for.'
45
- c.flag 'team_id', desc: 'Encoded team id where passed in users belong, required if org token is used.'
46
- c.action do |_global_options, options, _args|
47
- puts JSON.dump($client.dnd_teamInfo(options))
44
+ g.desc 'Retrieves the Do Not Disturb status for up to 50 users on a team.'
45
+ g.long_desc %( Retrieves the Do Not Disturb status for up to 50 users on a team. )
46
+ g.command 'teamInfo' do |c|
47
+ c.flag 'users', desc: 'Comma-separated list of users to fetch Do Not Disturb status for.'
48
+ c.flag 'team_id', desc: 'Encoded team id where passed in users belong, required if org token is used.'
49
+ c.action do |_global_options, options, _args|
50
+ puts JSON.dump(@client.dnd_teamInfo(options))
51
+ end
52
+ end
53
+ end
48
54
  end
49
55
  end
50
56
  end
@@ -1,13 +1,20 @@
1
1
  # frozen_string_literal: true
2
2
  # This file was auto-generated by lib/tasks/web.rake
3
3
 
4
- desc 'Emoji methods.'
5
- command 'emoji' do |g|
6
- g.desc 'Lists custom emoji for a team.'
7
- g.long_desc %( Lists custom emoji for a team. )
8
- g.command 'list' do |c|
9
- c.action do |_global_options, options, _args|
10
- puts JSON.dump($client.emoji_list(options))
4
+ module Slack
5
+ module Cli
6
+ class App
7
+ desc 'Emoji methods.'
8
+ command 'emoji' do |g|
9
+ g.desc 'Lists custom emoji for a team.'
10
+ g.long_desc %( Lists custom emoji for a team. )
11
+ g.command 'list' do |c|
12
+ c.flag 'include_categories', desc: 'Include a list of categories for Unicode emoji and the emoji in each category.'
13
+ c.action do |_global_options, options, _args|
14
+ puts JSON.dump(@client.emoji_list(options))
15
+ end
16
+ end
17
+ end
11
18
  end
12
19
  end
13
20
  end
@@ -1,120 +1,125 @@
1
1
  # frozen_string_literal: true
2
2
  # This file was auto-generated by lib/tasks/web.rake
3
3
 
4
- desc 'Files methods.'
5
- command 'files' do |g|
6
- g.desc 'Finishes an upload started with files.getUploadURLExternal'
7
- g.long_desc %( Finishes an upload started with files.getUploadURLExternal )
8
- g.command 'completeUploadExternal' do |c|
9
- c.flag 'files', desc: 'Array of file ids and their corresponding (optional) titles.'
10
- c.flag 'channel_id', desc: 'Channel ID where the file will be shared. If not specified the file will be private.'
11
- c.flag 'initial_comment', desc: 'The message text introducing the file in specified channels.'
12
- c.flag 'thread_ts', desc: "Provide another message's ts value to upload this file as a reply. Never use a reply's ts value; use its parent instead."
13
- c.action do |_global_options, options, _args|
14
- puts JSON.dump($client.files_completeUploadExternal(options))
15
- end
16
- end
4
+ module Slack
5
+ module Cli
6
+ class App
7
+ desc 'Files methods.'
8
+ command 'files' do |g|
9
+ g.desc 'Finishes an upload started with files.getUploadURLExternal'
10
+ g.long_desc %( Finishes an upload started with files.getUploadURLExternal )
11
+ g.command 'completeUploadExternal' do |c|
12
+ c.flag 'files', desc: 'Array of file ids and their corresponding (optional) titles.'
13
+ c.flag 'channel_id', desc: 'Channel ID where the file will be shared. If not specified the file will be private.'
14
+ c.flag 'initial_comment', desc: 'The message text introducing the file in specified channels.'
15
+ c.flag 'thread_ts', desc: "Provide another message's ts value to upload this file as a reply. Never use a reply's ts value; use its parent instead."
16
+ c.action do |_global_options, options, _args|
17
+ puts JSON.dump(@client.files_completeUploadExternal(options))
18
+ end
19
+ end
17
20
 
18
- g.desc 'Deletes a file.'
19
- g.long_desc %( Deletes a file. )
20
- g.command 'delete' do |c|
21
- c.flag 'file', desc: 'ID of file to delete.'
22
- c.action do |_global_options, options, _args|
23
- puts JSON.dump($client.files_delete(options))
24
- end
25
- end
21
+ g.desc 'Deletes a file.'
22
+ g.long_desc %( Deletes a file. )
23
+ g.command 'delete' do |c|
24
+ c.flag 'file', desc: 'ID of file to delete.'
25
+ c.action do |_global_options, options, _args|
26
+ puts JSON.dump(@client.files_delete(options))
27
+ end
28
+ end
26
29
 
27
- g.desc 'Change the properties of a file (undocumented)'
28
- g.long_desc %( Change the properties of a file )
29
- g.command 'edit' do |c|
30
- c.flag 'file', desc: 'ID of the file to be edited'
31
- c.flag 'title', desc: 'New title of the file'
32
- c.flag 'filetype', desc: 'New filetype of the file. See https://api.slack.com/types/file#file_types for a list of all supported types.'
33
- c.action do |_global_options, options, _args|
34
- puts JSON.dump($client.files_edit(options))
35
- end
36
- end
30
+ g.desc 'Change the properties of a file (undocumented)'
31
+ g.long_desc %( Change the properties of a file )
32
+ g.command 'edit' do |c|
33
+ c.flag 'file', desc: 'ID of the file to be edited'
34
+ c.flag 'title', desc: 'New title of the file'
35
+ c.flag 'filetype', desc: 'New filetype of the file. See https://api.slack.com/types/file#file_types for a list of all supported types.'
36
+ c.action do |_global_options, options, _args|
37
+ puts JSON.dump(@client.files_edit(options))
38
+ end
39
+ end
37
40
 
38
- g.desc 'Gets a URL for an edge external file upload'
39
- g.long_desc %( Gets a URL for an edge external file upload )
40
- g.command 'getUploadURLExternal' do |c|
41
- c.flag 'filename', desc: 'Name of the file being uploaded.'
42
- c.flag 'length', desc: 'Size in bytes of the file being uploaded.'
43
- c.flag 'alt_txt', desc: 'Description of image for screen-reader.'
44
- c.flag 'snippet_type', desc: 'Syntax type of the snippet being uploaded.'
45
- c.action do |_global_options, options, _args|
46
- puts JSON.dump($client.files_getUploadURLExternal(options))
47
- end
48
- end
41
+ g.desc 'Gets a URL for an edge external file upload'
42
+ g.long_desc %( Gets a URL for an edge external file upload )
43
+ g.command 'getUploadURLExternal' do |c|
44
+ c.flag 'filename', desc: 'Name of the file being uploaded.'
45
+ c.flag 'length', desc: 'Size in bytes of the file being uploaded.'
46
+ c.flag 'alt_txt', desc: 'Description of image for screen-reader.'
47
+ c.flag 'snippet_type', desc: 'Syntax type of the snippet being uploaded.'
48
+ c.action do |_global_options, options, _args|
49
+ puts JSON.dump(@client.files_getUploadURLExternal(options))
50
+ end
51
+ end
49
52
 
50
- g.desc 'Gets information about a file.'
51
- g.long_desc %( Gets information about a file. )
52
- g.command 'info' do |c|
53
- c.flag 'file', desc: 'Specify a file by providing its ID.'
54
- c.flag 'cursor', desc: "Parameter for pagination. File comments are paginated for a single file. Set cursor equal to the next_cursor attribute returned by the previous request's response_metadata. This parameter is optional, but pagination is mandatory: the default value simply fetches the first 'page' of the collection of comments. See pagination for more details."
55
- c.flag 'limit', desc: "The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the list hasn't been reached."
56
- c.action do |_global_options, options, _args|
57
- puts JSON.dump($client.files_info(options))
58
- end
59
- end
53
+ g.desc 'Gets information about a file.'
54
+ g.long_desc %( Gets information about a file. )
55
+ g.command 'info' do |c|
56
+ c.flag 'file', desc: 'Specify a file by providing its ID.'
57
+ c.flag 'cursor', desc: "Parameter for pagination. File comments are paginated for a single file. Set cursor equal to the next_cursor attribute returned by the previous request's response_metadata. This parameter is optional, but pagination is mandatory: the default value simply fetches the first 'page' of the collection of comments. See pagination for more details."
58
+ c.flag 'limit', desc: "The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the list hasn't been reached."
59
+ c.action do |_global_options, options, _args|
60
+ puts JSON.dump(@client.files_info(options))
61
+ end
62
+ end
60
63
 
61
- g.desc 'List for a team, in a channel, or from a user with applied filters.'
62
- g.long_desc %( List for a team, in a channel, or from a user with applied filters. )
63
- g.command 'list' do |c|
64
- c.flag 'channel', desc: 'Filter files appearing in a specific channel, indicated by its ID.'
65
- c.flag 'files', desc: '.'
66
- c.flag 'show_files_hidden_by_limit', desc: 'Show truncated file info for files hidden due to being too old, and the team who owns the file being over the file limit.'
67
- c.flag 'team_id', desc: 'encoded team id to list files in, required if org token is used.'
68
- c.flag 'ts_from', desc: 'Filter files created after this timestamp (inclusive).'
69
- c.flag 'ts_to', desc: 'Filter files created before this timestamp (inclusive).'
70
- c.flag 'types', desc: 'Filter files by type (see below). You can pass multiple values in the types argument, like types=spaces,snippets.The default value is all, which does not filter the list.'
71
- c.flag 'user', desc: 'Filter files created by a single user.'
72
- c.action do |_global_options, options, _args|
73
- puts JSON.dump($client.files_list(options))
74
- end
75
- end
64
+ g.desc 'List for a team, in a channel, or from a user with applied filters.'
65
+ g.long_desc %( List for a team, in a channel, or from a user with applied filters. )
66
+ g.command 'list' do |c|
67
+ c.flag 'channel', desc: 'Filter files appearing in a specific channel, indicated by its ID.'
68
+ c.flag 'show_files_hidden_by_limit', desc: 'Show truncated file info for files hidden due to being too old, and the team who owns the file being over the file limit.'
69
+ c.flag 'team_id', desc: 'encoded team id to list files in, required if org token is used.'
70
+ c.flag 'ts_from', desc: 'Filter files created after this timestamp (inclusive).'
71
+ c.flag 'ts_to', desc: 'Filter files created before this timestamp (inclusive).'
72
+ c.flag 'types', desc: 'Filter files by type (see below). You can pass multiple values in the types argument, like types=spaces,snippets.The default value is all, which does not filter the list.'
73
+ c.flag 'user', desc: 'Filter files created by a single user.'
74
+ c.action do |_global_options, options, _args|
75
+ puts JSON.dump(@client.files_list(options))
76
+ end
77
+ end
76
78
 
77
- g.desc 'Revokes public/external sharing access for a file'
78
- g.long_desc %( Revokes public/external sharing access for a file )
79
- g.command 'revokePublicURL' do |c|
80
- c.flag 'file', desc: 'File to revoke.'
81
- c.action do |_global_options, options, _args|
82
- puts JSON.dump($client.files_revokePublicURL(options))
83
- end
84
- end
79
+ g.desc 'Revokes public/external sharing access for a file'
80
+ g.long_desc %( Revokes public/external sharing access for a file )
81
+ g.command 'revokePublicURL' do |c|
82
+ c.flag 'file', desc: 'File to revoke.'
83
+ c.action do |_global_options, options, _args|
84
+ puts JSON.dump(@client.files_revokePublicURL(options))
85
+ end
86
+ end
85
87
 
86
- g.desc 'Share an existing file in a channel (undocumented)'
87
- g.long_desc %( Share an existing file in a channel )
88
- g.command 'share' do |c|
89
- c.flag 'file', desc: 'ID of the file to be shared'
90
- c.flag 'channel', desc: 'Channel to share the file in. Works with both public (channel ID) and private channels (group ID).'
91
- c.action do |_global_options, options, _args|
92
- puts JSON.dump($client.files_share(options))
93
- end
94
- end
88
+ g.desc 'Share an existing file in a channel (undocumented)'
89
+ g.long_desc %( Share an existing file in a channel )
90
+ g.command 'share' do |c|
91
+ c.flag 'file', desc: 'ID of the file to be shared'
92
+ c.flag 'channel', desc: 'Channel to share the file in. Works with both public (channel ID) and private channels (group ID).'
93
+ c.action do |_global_options, options, _args|
94
+ puts JSON.dump(@client.files_share(options))
95
+ end
96
+ end
95
97
 
96
- g.desc 'Enables a file for public/external sharing.'
97
- g.long_desc %( Enables a file for public/external sharing. )
98
- g.command 'sharedPublicURL' do |c|
99
- c.flag 'file', desc: 'File to share.'
100
- c.action do |_global_options, options, _args|
101
- puts JSON.dump($client.files_sharedPublicURL(options))
102
- end
103
- end
98
+ g.desc 'Enables a file for public/external sharing.'
99
+ g.long_desc %( Enables a file for public/external sharing. )
100
+ g.command 'sharedPublicURL' do |c|
101
+ c.flag 'file', desc: 'File to share.'
102
+ c.action do |_global_options, options, _args|
103
+ puts JSON.dump(@client.files_sharedPublicURL(options))
104
+ end
105
+ end
104
106
 
105
- g.desc 'Uploads or creates a file.'
106
- g.long_desc %( Uploads or creates a file. )
107
- g.command 'upload' do |c|
108
- c.flag 'channels', desc: 'Comma-separated list of channel names or IDs where the file will be shared.'
109
- c.flag 'content', desc: 'File contents via a POST variable. If omitting this parameter, you must provide a file.'
110
- c.flag 'file', desc: 'File contents via multipart/form-data. If omitting this parameter, you must submit content.'
111
- c.flag 'filename', desc: 'Filename of file.'
112
- c.flag 'filetype', desc: 'A file type identifier.'
113
- c.flag 'initial_comment', desc: 'The message text introducing the file in specified channels.'
114
- c.flag 'thread_ts', desc: "Provide another message's ts value to upload this file as a reply. Never use a reply's ts value; use its parent instead."
115
- c.flag 'title', desc: 'Title of file.'
116
- c.action do |_global_options, options, _args|
117
- puts JSON.dump($client.files_upload(options))
107
+ g.desc 'Uploads or creates a file.'
108
+ g.long_desc %( Uploads or creates a file. )
109
+ g.command 'upload' do |c|
110
+ c.flag 'channels', desc: 'Comma-separated list of channel names or IDs where the file will be shared.'
111
+ c.flag 'content', desc: 'File contents via a POST variable. If omitting this parameter, you must provide a file.'
112
+ c.flag 'file', desc: 'File contents via multipart/form-data. If omitting this parameter, you must submit content.'
113
+ c.flag 'filename', desc: 'Filename of file.'
114
+ c.flag 'filetype', desc: 'A file type identifier.'
115
+ c.flag 'initial_comment', desc: 'The message text introducing the file in specified channels.'
116
+ c.flag 'thread_ts', desc: "Provide another message's ts value to upload this file as a reply. Never use a reply's ts value; use its parent instead."
117
+ c.flag 'title', desc: 'Title of file.'
118
+ c.action do |_global_options, options, _args|
119
+ puts JSON.dump(@client.files_upload(options))
120
+ end
121
+ end
122
+ end
118
123
  end
119
124
  end
120
125
  end
@@ -1,15 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
  # This file was auto-generated by lib/tasks/web.rake
3
3
 
4
- desc 'FilesComments methods.'
5
- command 'files_comments' do |g|
6
- g.desc 'Deletes an existing comment on a file.'
7
- g.long_desc %( Deletes an existing comment on a file. )
8
- g.command 'delete' do |c|
9
- c.flag 'file', desc: 'File to delete a comment from.'
10
- c.flag 'id', desc: 'The comment to delete.'
11
- c.action do |_global_options, options, _args|
12
- puts JSON.dump($client.files_comments_delete(options))
4
+ module Slack
5
+ module Cli
6
+ class App
7
+ desc 'FilesComments methods.'
8
+ command 'files_comments' do |g|
9
+ g.desc 'Deletes an existing comment on a file.'
10
+ g.long_desc %( Deletes an existing comment on a file. )
11
+ g.command 'delete' do |c|
12
+ c.flag 'file', desc: 'File to delete a comment from.'
13
+ c.flag 'id', desc: 'The comment to delete.'
14
+ c.action do |_global_options, options, _args|
15
+ puts JSON.dump(@client.files_comments_delete(options))
16
+ end
17
+ end
18
+ end
13
19
  end
14
20
  end
15
21
  end
@@ -1,78 +1,84 @@
1
1
  # frozen_string_literal: true
2
2
  # This file was auto-generated by lib/tasks/web.rake
3
3
 
4
- desc 'FilesRemote methods.'
5
- command 'files_remote' do |g|
6
- g.desc 'Adds a file from a remote service'
7
- g.long_desc %( Adds a file from a remote service )
8
- g.command 'add' do |c|
9
- c.flag 'external_id', desc: 'Creator defined GUID for the file.'
10
- c.flag 'external_url', desc: 'URL of the remote file.'
11
- c.flag 'title', desc: 'Title of the file being shared.'
12
- c.flag 'filetype', desc: 'type of file.'
13
- c.flag 'indexable_file_contents', desc: 'A text file (txt, pdf, doc, etc.) containing textual search terms that are used to improve discovery of the remote file.'
14
- c.flag 'preview_image', desc: 'Preview of the document via multipart/form-data.'
15
- c.action do |_global_options, options, _args|
16
- puts JSON.dump($client.files_remote_add(options))
17
- end
18
- end
4
+ module Slack
5
+ module Cli
6
+ class App
7
+ desc 'FilesRemote methods.'
8
+ command 'files_remote' do |g|
9
+ g.desc 'Adds a file from a remote service'
10
+ g.long_desc %( Adds a file from a remote service )
11
+ g.command 'add' do |c|
12
+ c.flag 'external_id', desc: 'Creator defined GUID for the file.'
13
+ c.flag 'external_url', desc: 'URL of the remote file.'
14
+ c.flag 'title', desc: 'Title of the file being shared.'
15
+ c.flag 'filetype', desc: 'type of file.'
16
+ c.flag 'indexable_file_contents', desc: 'A text file (txt, pdf, doc, etc.) containing textual search terms that are used to improve discovery of the remote file.'
17
+ c.flag 'preview_image', desc: 'Preview of the document via multipart/form-data.'
18
+ c.action do |_global_options, options, _args|
19
+ puts JSON.dump(@client.files_remote_add(options))
20
+ end
21
+ end
19
22
 
20
- g.desc 'Retrieve information about a remote file added to Slack'
21
- g.long_desc %( Retrieve information about a remote file added to Slack )
22
- g.command 'info' do |c|
23
- c.flag 'external_id', desc: 'Creator defined GUID for the file.'
24
- c.flag 'file', desc: 'Specify a file by providing its ID.'
25
- c.action do |_global_options, options, _args|
26
- puts JSON.dump($client.files_remote_info(options))
27
- end
28
- end
23
+ g.desc 'Retrieve information about a remote file added to Slack'
24
+ g.long_desc %( Retrieve information about a remote file added to Slack )
25
+ g.command 'info' do |c|
26
+ c.flag 'external_id', desc: 'Creator defined GUID for the file.'
27
+ c.flag 'file', desc: 'Specify a file by providing its ID.'
28
+ c.action do |_global_options, options, _args|
29
+ puts JSON.dump(@client.files_remote_info(options))
30
+ end
31
+ end
29
32
 
30
- g.desc 'Retrieve information about a remote file added to Slack'
31
- g.long_desc %( Retrieve information about a remote file added to Slack )
32
- g.command 'list' do |c|
33
- c.flag 'channel', desc: 'Filter files appearing in a specific channel, indicated by its ID.'
34
- c.flag 'cursor', desc: "Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first 'page' of the collection. See pagination for more detail."
35
- c.flag 'limit', desc: 'The maximum number of items to return.'
36
- c.flag 'ts_from', desc: 'Filter files created after this timestamp (inclusive).'
37
- c.flag 'ts_to', desc: 'Filter files created before this timestamp (inclusive).'
38
- c.action do |_global_options, options, _args|
39
- puts JSON.dump($client.files_remote_list(options))
40
- end
41
- end
33
+ g.desc 'Retrieve information about a remote file added to Slack'
34
+ g.long_desc %( Retrieve information about a remote file added to Slack )
35
+ g.command 'list' do |c|
36
+ c.flag 'channel', desc: 'Filter files appearing in a specific channel, indicated by its ID.'
37
+ c.flag 'cursor', desc: "Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first 'page' of the collection. See pagination for more detail."
38
+ c.flag 'limit', desc: 'The maximum number of items to return.'
39
+ c.flag 'ts_from', desc: 'Filter files created after this timestamp (inclusive).'
40
+ c.flag 'ts_to', desc: 'Filter files created before this timestamp (inclusive).'
41
+ c.action do |_global_options, options, _args|
42
+ puts JSON.dump(@client.files_remote_list(options))
43
+ end
44
+ end
42
45
 
43
- g.desc 'Remove a remote file.'
44
- g.long_desc %( Remove a remote file. )
45
- g.command 'remove' do |c|
46
- c.flag 'external_id', desc: 'Creator defined GUID for the file.'
47
- c.flag 'file', desc: 'Specify a file by providing its ID.'
48
- c.action do |_global_options, options, _args|
49
- puts JSON.dump($client.files_remote_remove(options))
50
- end
51
- end
46
+ g.desc 'Remove a remote file.'
47
+ g.long_desc %( Remove a remote file. )
48
+ g.command 'remove' do |c|
49
+ c.flag 'external_id', desc: 'Creator defined GUID for the file.'
50
+ c.flag 'file', desc: 'Specify a file by providing its ID.'
51
+ c.action do |_global_options, options, _args|
52
+ puts JSON.dump(@client.files_remote_remove(options))
53
+ end
54
+ end
52
55
 
53
- g.desc 'Share a remote file into a channel.'
54
- g.long_desc %( Share a remote file into a channel. )
55
- g.command 'share' do |c|
56
- c.flag 'channels', desc: 'Comma-separated list of channel IDs where the file will be shared.'
57
- c.flag 'external_id', desc: 'The globally unique identifier (GUID) for the file, as set by the app registering the file with Slack. Either this field or file or both are required.'
58
- c.flag 'file', desc: 'Specify a file registered with Slack by providing its ID. Either this field or external_id or both are required.'
59
- c.action do |_global_options, options, _args|
60
- puts JSON.dump($client.files_remote_share(options))
61
- end
62
- end
56
+ g.desc 'Share a remote file into a channel.'
57
+ g.long_desc %( Share a remote file into a channel. )
58
+ g.command 'share' do |c|
59
+ c.flag 'channels', desc: 'Comma-separated list of channel IDs where the file will be shared.'
60
+ c.flag 'external_id', desc: 'The globally unique identifier (GUID) for the file, as set by the app registering the file with Slack. Either this field or file or both are required.'
61
+ c.flag 'file', desc: 'Specify a file registered with Slack by providing its ID. Either this field or external_id or both are required.'
62
+ c.action do |_global_options, options, _args|
63
+ puts JSON.dump(@client.files_remote_share(options))
64
+ end
65
+ end
63
66
 
64
- g.desc 'Updates an existing remote file.'
65
- g.long_desc %( Updates an existing remote file. )
66
- g.command 'update' do |c|
67
- c.flag 'external_id', desc: 'Creator defined GUID for the file.'
68
- c.flag 'external_url', desc: 'URL of the remote file.'
69
- c.flag 'file', desc: 'Specify a file by providing its ID.'
70
- c.flag 'filetype', desc: 'type of file.'
71
- c.flag 'indexable_file_contents', desc: 'File containing contents that can be used to improve searchability for the remote file.'
72
- c.flag 'preview_image', desc: 'Preview of the document via multipart/form-data.'
73
- c.flag 'title', desc: 'Title of the file being shared.'
74
- c.action do |_global_options, options, _args|
75
- puts JSON.dump($client.files_remote_update(options))
67
+ g.desc 'Updates an existing remote file.'
68
+ g.long_desc %( Updates an existing remote file. )
69
+ g.command 'update' do |c|
70
+ c.flag 'external_id', desc: 'Creator defined GUID for the file.'
71
+ c.flag 'external_url', desc: 'URL of the remote file.'
72
+ c.flag 'file', desc: 'Specify a file by providing its ID.'
73
+ c.flag 'filetype', desc: 'type of file.'
74
+ c.flag 'indexable_file_contents', desc: 'File containing contents that can be used to improve searchability for the remote file.'
75
+ c.flag 'preview_image', desc: 'Preview of the document via multipart/form-data.'
76
+ c.flag 'title', desc: 'Title of the file being shared.'
77
+ c.action do |_global_options, options, _args|
78
+ puts JSON.dump(@client.files_remote_update(options))
79
+ end
80
+ end
81
+ end
76
82
  end
77
83
  end
78
84
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+ # This file was auto-generated by lib/tasks/web.rake
3
+
4
+ module Slack
5
+ module Cli
6
+ class App
7
+ desc 'FunctionsWorkflowsSteps methods.'
8
+ command 'functions_workflows_steps' do |g|
9
+ g.desc "List the steps of a specific function of a workflow's versions"
10
+ g.long_desc %( List the steps of a specific function of a workflow's versions )
11
+ g.command 'list' do |c|
12
+ c.flag 'function_id', desc: '.'
13
+ c.flag 'workflow', desc: 'The workflow encoded ID or workflow reference.'
14
+ c.flag 'workflow_id', desc: 'The workflow ID, starts with Wf*.'
15
+ c.action do |_global_options, options, _args|
16
+ puts JSON.dump(@client.functions_workflows_steps_list(options))
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+ # This file was auto-generated by lib/tasks/web.rake
3
+
4
+ module Slack
5
+ module Cli
6
+ class App
7
+ desc 'FunctionsWorkflowsStepsResponses methods.'
8
+ command 'functions_workflows_steps_responses' do |g|
9
+ g.desc 'Download form responses of a workflow'
10
+ g.long_desc %( Download form responses of a workflow )
11
+ g.command 'export' do |c|
12
+ c.flag 'step_id', desc: '.'
13
+ c.flag 'workflow', desc: 'The workflow encoded ID or workflow reference.'
14
+ c.flag 'workflow_id', desc: 'The workflow ID, starts with Wf*.'
15
+ c.action do |_global_options, options, _args|
16
+ puts JSON.dump(@client.functions_workflows_steps_responses_export(options))
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end