slackapi / slack-api-specs Goto Github PK
View Code? Open in Web Editor NEWOpen API specifications for platform products by Slack
License: MIT License
Open API specifications for platform products by Slack
License: MIT License
Describe your issue here.
x
in one of the [ ]
)x
in each of the [ ]
)I'm registering a callback with the following code:
app.message(/ping/, (e) => { console.log(e) })
It is not printing anything if I'm on group chat. I see the message on the debug console, but it fails with error: Conversation not found.
[DEBUG] bolt-app {"token":"k7PRs87qbRwzm4A4LAtOCSGb","team_id":"T0JV0MYCE","api_app_id":"A01Q2UP4HQQ","event":{"client_msg_id":"0b3149e4-1243-4a27-be4c-2aecb715cab9","type":"app_mention","text":"<@U01PDC4EB8B> ping","user":"UR62DEJCX","ts":"1614363797.012900","team":"T0JV0MYCE","blocks":[{"type":"rich_text","block_id":"fxp","elements":[{"type":"rich_text_section","elements":[{"type":"user","user_id":"U01PDC4EB8B"},{"type":"text","text":" ping"}]}]}],"channel":"G01PJFVB4GK","event_ts":"1614363797.012900"},"type":"event_callback","event_id":"Ev01PQKP3RNY","event_time":1614363797,"authorizations":[{"enterprise_id":null,"team_id":"T0JV0MYCE","user_id":"U01PDC4EB8B","is_bot":true,"is_enterprise_install":false}],"is_ext_shared_channel":false,"event_context":"1-app_mention-T0JV0MYCE-G01PJFVB4GK"}
[DEBUG] socket-mode:SocketModeClient:0 calling ack events_api
[DEBUG] socket-mode:SocketModeClient:0 send() in state: connected,ready
[DEBUG] socket-mode:SocketModeClient:0 sending message on websocket: {"envelope_id":"889495a0-c7ce-4ad4-a7cd-5329ba5c7295","payload":{}}
[DEBUG] bolt-app Conversation context failed loading for ID: G01PJFVB4GK, error: Conversation not found
Bolt-js version 3.2.0, node.js v12.13.0, Ubuntu 18.04
The callback to be called
Nothing happened.
There are lots of information on how I'm trying to debug this on slackapi/bolt-js#817. I tried to pinpoint the error by listening directly to slack_event
, exactly the same as the bolt-js listens to callbacks to check what's wrong. What I did found is that body.event.type
of that callback is something_mention
, and that what the API is expecting is message
. I don't know if the API is supposed to send message
as the event type - what I do know is that when I mention the bot with @bot ping
(bot
being the bot's name) on public channels, private channels, and direct messages, I receive a message
event. When I mention on group chat (a chat with my user, another user, and the bot) I don't receive a message
and instead receive a mention
.
I copy/pasted the contents of https://api.slack.com/specs/openapi/v2/slack_web.json into Swagger Editor (auto-conversion of JSON to YAML) and have found that there are 85 validation errors throw:
https://app.swaggerhub.com/apis/krissirk/slack-web/1.0#/
Similar to the impact reported in this GitHub issue, the presence of these issues in the spec inhibits our customers' ability to consume the JSON as-is and successfully make callouts + work with the API response in the Salesforce External Services feature.
As an example, the "chat_postMessage" operation 200 response references "objs_message" object, which contains a seemingly malformed property definition "bot_id":
This property definition doesn't specify "type" and it's using an array for "items". As a result, our callout runtime from Salesforce Flow fails to process the response as it does not match the spec.
There are four other "bot_id" references defined in the spec as
"bot_id": { "$ref": "#/definitions/defs_bot_id" }
If the above definition is used instead of
"bot_id": { "items": [ { "$ref": "#/definitions/defs_bot_id" }, { "title": "Nil bot_id set when display_as_bot is false", "type": "null" } ] }
within "objs_message"
, or (just like the Swagger validator indicates) it could be made an “object” with the "title" and "reference" under it, our callout runtime will succeed.
x
in one of the [ ]
)x
in each of the [ ]
)Filling out the following details about bugs will help us solve your issue sooner.
Swagger Tools; Salesforce Platform
No validation errors when the spec is viewed in Swagger Editor. Codegen with the spec as input succeeds. Salesforce automation via External Services + Flow succeeds.
85 validation errors reported by Swagger Editor.
Error throw by API response in debug during demo - skip to ~15:00 of https://www.salesforce.com/video/19792276.
Following this comment - don’t waste people’s time or efforts. It the project is unmaintained and the product is proprietary. Clearly the “incredible machine” is broken as well.
x
in one of the [ ]
)x
in each of the [ ]
)The docs for new slack apps say to use the new Socket Mode
and that the RTM
client mode is deprecated:
https://api.slack.com/rtm
New mode is described here: https://api.slack.com/apis/connections/socket
Yet there don't seem to be any schemas for apps.connections.open
as the first step in connecting with the new mode: https://api.slack.com/methods/apps.connections.open
x
in one of the [ ]
)x
in each of the [ ]
)Filling out the following details about bugs will help us solve your issue sooner.
No schema seems to be defined for https://api.slack.com/methods/apps.connections.open
Documented schema available - if new apps are automatically pushed over to Socket Mode instead.
Operation chat.postEphemeral
(line 7184) does not specify all of the parameters as declared in the text docs, specifically:
x
in one of the [ ]
)x
in each of the [ ]
)The response type of the chat.update
endpoint is underspecified:
slack-api-specs/web-api/slack_web_openapi_v2_without_examples.json
Lines 11662 to 11696 in 760ee98
Specifically, the types of message.attachments
and message.blocks
are set to a generic object
type. I think these could be specified more narrowly, ideally using one of the already existing definitions such as #/definitions/objs_message
or #/definitions/blocks
.
x
in one of the [ ]
)x
in each of the [ ]
)event payload of the message
event is missing the team
property when the message contains files (i.e. subtype is file_share
).
x
in one of the [ ]
)x
in each of the [ ]
)Development environment: Mac OS 11.2, Node.js 14.15.4, Bolt.js 3.4.0
message
eventThe event payload in steps 3 and 5 both include the team
property
The event payload in step 3 includes the team
property and the one in step 5 doesn't
Cannot get an oauth token using the API Spec because of invalid scopes. ### Is this spec still valid and being maintained? Some of the scopes mentioned in the Web API Spec aren't even listed as possible scopes for the app I am building.
x
in one of the [ ]
)x
in each of the [ ]
)When I try to get an oauth token, using this spec file, I get the following error -
Invalid permissions requested
Invalid scopes: none, rtm:stream, tokens.basic
Describe your issue here.
The response for team.billableInfo
only includes the okay not the actual values.
x
in one of the [ ]
)x
in each of the [ ]
)Filling out the following details about bugs will help us solve your issue sooner.
Development environment:
What you expected to happen
What actually happened
Logs, screenshots, screencast, sample project, funny gif, etc.
If attaching logs, please remove user data and tokens.
Is this repo still being maintained? It doesn't seem to include all published endpoints. For example, it's missing chat.scheduleMessage
x
in one of the [ ]
)x
in each of the [ ]
)Describe your issue here.
x
in one of the [ ]
)x
in each of the [ ]
)Filling out the following details about bugs will help us solve your issue sooner.
Development environment: Node (Bolt, WebAPI)
Also reproduced with HTTP requests
conversations.list
with type public_channel
: returns public channelsconversations.list
with type private_channel
: returns private channels the bot has access toconversations.list
with type public_channel,private_channel
(or private_channel,public_channel
)A list of both public channels and private channels the app was invited in (results from 2. and 3. joined)
The same result as 2., only public channels are listed.
It looks like the /users.list
response miss the definition of the object response_metadata
and its next_cursor
property.
FYI, the property is mentionned in the openapi example and in the official API documentation. To fix this, you probably only need to add this definition in the schema (inspired from next_cursor defintion in other endpoints):
"response_metadata": {
"properties": {
"next_cursor": {
"type": "string",
"x-examples": [
"dXNlcjpVMEc5V0ZYTlo="
]
}
},
"required": [
"next_cursor"
],
"type": "object"
}
x
in one of the [ ]
)x
in each of the [ ]
)Receiving duplicate_external_id
error from views.open
endpoint when the modal was previously open and then closed by any means other than explicitly clicking the close or submit buttons.
x
in one of the [ ]
)x
in each of the [ ]
)production
views.open
to open a modal with external_id: 'foo'
.external_id: 'foo'
again.The modal should open again.
The modal does not open, and I get the duplicate_external_id
error code.
Path /files.info
, method get
has timezone_count_failed
as one of the errors in the spec enum but it's not documented at https://api.slack.com/methods/files.info
x
in one of the [ ]
)x
in each of the [ ]
)Filling out the following details about bugs will help us solve your issue sooner.
Development environment:
What you expected to happen
What actually happened
Logs, screenshots, screencast, sample project, funny gif, etc.
If attaching logs, please remove user data and tokens.
I am working with Slack Swagger for my project. I am using NSwag to create a client out of the swagger file.
The generated client file does not contain the properties for 'objs_conversation' definition. This is because, in swagger file, it does not contain 'properties' and 'data type' properties directly. Instead it contains only 'items' (which then contains 3 definitions).
Swagger definition for the same - https://justpaste.it/388lf
Questions
x
in one of the [ ]
)x
in each of the [ ]
)I am using NSwag to create a client out of the swagger file.
The generated client file does not contain the properties for 'objs_conversation' definition. This is because, in swagger file, it does not contain 'properties' and 'data type' properties directly. Instead it contains only 'items' (which then contains 3 definitions).
Swagger definition for the same - https://justpaste.it/388lf
All environments
Generate the c# client using NSwag from the swagger file.
'objs_conversation' to contains properties. (3 different objects under 'objs_converstion' is confusing and how would we be able to differentiate? it could be with three different names)
It is empty
The documentation already supports Block Kit. However, the changes to parameters/response are not yet reflected in this repository. Do you have any plans to work on it in the short term? If I can do something for it, I am keen to be involved in it.
x
in one of the [ ]
)x
in each of the [ ]
)It would be great to work with an OpenAPI 3.0 specification for the Web API in a future version of the spec.
x
in one of the [ ]
)x
in each of the [ ]
)Filling out the following details about bugs will help us solve your issue sooner.
Development environment:
What you expected to happen
What actually happened
Logs, screenshots, screencast, sample project, funny gif, etc.
If attaching logs, please remove user data and tokens.
I think the readme section on Postman may need to be updated. I am running Postman Canary (v8 -- the closest I can find to an exact version is this millisecond timestamp: 1612567779979) and was able to import the collection from https://api.slack.com/specs/openapi/v2/slack_web.json without modification. I experienced no difficulty and the {{baseUrl}} variable worked as expected without my needing to set the value.
I don't know if this is an improvement in Postman 8 or when this started working as this was my first attempt, but figured you might want to know that this is now (or will soon be for non-Canary users) simple to import.
x
in one of the [ ]
)x
in each of the [ ]
)See the Description for details. Do with this what you will. Hope it helps.
In addition to the scopes, indicate which of User or Bot token is required for a given operation in the OAS, a detail that is currently only available in the dev docs (e.g. https://api.slack.com/methods/reminders.add).
x
in one of the [ ]
)x
in each of the [ ]
)Filling out the following details about bugs will help us solve your issue sooner.
Development environment:
What you expected to happen
What actually happened
Logs, screenshots, screencast, sample project, funny gif, etc.
If attaching logs, please remove user data and tokens.
I am unable to manage emoji directly through the api. It would be nice to offer a way to create, edit, update, delete emoji directly through the api. This would offer the opportunity build some awesome integrations that could make emoji for you automatically. Haven't you wanted an emoji that didn't exist and wanted to be able to make it with something like /giphy?
Imagine this workflow:
Jeb> I need a rock emoji but we don't have one
Bill> Look at this tool I made to make them for you
Bill> /emojify rock
Emojify> Here's some rock pictures... which one do you want to make into the rock
emoji?
Bill> That one ---->>> ()
Emojify> Here is your new emoji 🪨 Enjoy!
Bill> Thanks Emojify
Jeb> You're awesome Emojify
Please make a rich emoji api so I or someone else can build this integration :)
x
in one of the [ ]
)x
in each of the [ ]
)Type of one of the objs_user_profile
properties is incorrect.
property fields
has a type which is an array ("type": ["object", "null", "array"]
) which is incorrect according to OpenAPI 2.0 docs, where type can be only a string
It is similar to #8
x
in one of the [ ]
)x
in each of the [ ]
)openapi-generator seems to be unable to process Web API spec. Same goes for swagger-codegen
x
in one of the [ ]
)x
in each of the [ ]
)Filling out the following details about bugs will help us solve your issue sooner.
Development environment:
Mac OS X 10.14.3 with Homebrew
openapi-generator 3.3.4
brew install openapi-generator
openapi-generator generate -i ../slack-api-spec/web-api/slack_web_openapi_v2.json -g go
Client code generated.
% openapi-generator generate -i ../slack-api-spec/web-api/slack_web_openapi_v2.json -g go --skip-validate-spec
[main] WARN io.swagger.util.PropertyDeserializer - no property from null, null, {ENUM=null, TITLE=null, DESCRIPTION=null, DEFAULT=null, PATTERN=null, DESCRIMINATOR=null, MIN_ITEMS=null, MAX_ITEMS=null, MIN_PROPERTIES=null, MAX_PROPERTIES=null, MIN_LENGTH=null, MAX_LENGTH=null, MINIMUM=null, MAXIMUM=null, EXCLUSIVE_MINIMUM=null, EXCLUSIVE_MAXIMUM=null, UNIQUE_ITEMS=null, EXAMPLE=null, TYPE=null, FORMAT=null, READ_ONLY=null, VENDOR_EXTENSIONS={}, MULTIPLE_OF=null}
[main] WARN io.swagger.util.PropertyDeserializer - no property from null, null, {ENUM=null, TITLE=null, DESCRIPTION=null, DEFAULT=null, PATTERN=null, DESCRIMINATOR=null, MIN_ITEMS=null, MAX_ITEMS=null, MIN_PROPERTIES=null, MAX_PROPERTIES=null, MIN_LENGTH=null, MAX_LENGTH=null, MINIMUM=null, MAXIMUM=null, EXCLUSIVE_MINIMUM=null, EXCLUSIVE_MAXIMUM=null, UNIQUE_ITEMS=null, EXAMPLE=null, TYPE=null, FORMAT=null, READ_ONLY=null, VENDOR_EXTENSIONS={}, MULTIPLE_OF=null}
[main] WARN io.swagger.util.PropertyDeserializer - no property from null, null, {ENUM=null, TITLE=null, DESCRIPTION=null, DEFAULT=null, PATTERN=null, DESCRIMINATOR=null, MIN_ITEMS=null, MAX_ITEMS=null, MIN_PROPERTIES=null, MAX_PROPERTIES=null, MIN_LENGTH=null, MAX_LENGTH=null, MINIMUM=null, MAXIMUM=null, EXCLUSIVE_MINIMUM=null, EXCLUSIVE_MAXIMUM=null, UNIQUE_ITEMS=null, EXAMPLE=null, TYPE=null, FORMAT=null, READ_ONLY=null, VENDOR_EXTENSIONS={}, MULTIPLE_OF=null}
[main] WARN io.swagger.util.PropertyDeserializer - no property from null, null, {ENUM=null, TITLE=null, DESCRIPTION=null, DEFAULT=null, PATTERN=null, DESCRIMINATOR=null, MIN_ITEMS=null, MAX_ITEMS=null, MIN_PROPERTIES=null, MAX_PROPERTIES=null, MIN_LENGTH=null, MAX_LENGTH=null, MINIMUM=null, MAXIMUM=null, EXCLUSIVE_MINIMUM=null, EXCLUSIVE_MAXIMUM=null, UNIQUE_ITEMS=null, EXAMPLE=null, TYPE=null, FORMAT=null, READ_ONLY=null, VENDOR_EXTENSIONS={}, MULTIPLE_OF=null}
[main] WARN o.o.c.config.CodegenConfigurator - There were issues with the specification, but validation has been explicitly disabled.
Errors:
-attribute definitions.objs_file_object_with_id_only.title is unexpected
-attribute definitions.objs_file_object_with_id_only.additionalProperties is unexpected
-attribute definitions.objs_file_object_with_id_only.type is unexpected
Warnings:
-Unused model: defs_comment_id
-Unused model: defs_ok_false
-Unused model: objs_team
-Unused model: defs_ts
-Unused model: defs_invite_id
-Unused model: defs_room_id
-Unused model: objs_inviting_user
-Unused model: defs_team
-Unused model: defs_group_id
-Unused model: defs_ok_true
-Unused model: objs_file_object_with_id_only
-Unused model: defs_dm_id
-Unused model: defs_bot_id
-Unused model: objs_reaction
-Unused model: objs_comment
-Unused model: defs_topic_purpose_creator
-Unused model: objs_channel
-Unused model: defs_pinned_info
-Unused model: defs_app_id
-Unused model: objs_group
-Unused model: objs_file
-Unused model: objs_im
-Unused model: objs_paging
-Unused model: objs_team_profile_field
-Unused model: objs_conversation
-Unused model: objs_user
-Unused model: objs_dnd
-Unused model: prefs_prefs
-Unused model: objs_scopes
-Unused model: defs_file_id
-Unused model: objs_comments
-Unused model: defs_channel
-Unused model: defs_user_id
-Unused model: objs_message
-Unused model: objs_user_profile
-Unused model: team_prefs_prefs
-Unused model: objs_user_profile_short
-Unused model: defs_channel_name
-Unused model: defs_channel_id
-Unused model: objs_user_profile_shortest
[main] INFO o.o.c.ignore.CodegenIgnoreProcessor - No .openapi-generator-ignore file found.
[main] INFO o.o.c.languages.AbstractGoCodegen - Environment variable GO_POST_PROCESS_FILE not defined so Go code may not be properly formatted. To define it, try `export GO_POST_PROCESS_FILE="/usr/local/bin/gofmt -w"` (Linux/Mac)
[main] INFO o.o.c.languages.AbstractGoCodegen - NOTE: To enable file post-processing, 'enablePostProcessFile' must be set to `true` (--enable-post-process-file for CLI).
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] WARN o.o.codegen.utils.ModelUtils - Multiple schemas found, returning only the first one
[main] INFO o.o.codegen.DefaultGenerator - Model objs_comments not generated since it's an alias to array (without property)
[main] INFO o.o.codegen.DefaultGenerator - Model defs_pinned_info not generated since it's an alias to map (without property)
Exception in thread "main" java.lang.RuntimeException: Could not process model 'team_prefs_prefs'.Please make sure that your schema is correct!
at org.openapitools.codegen.DefaultGenerator.generateModels(DefaultGenerator.java:457)
at org.openapitools.codegen.DefaultGenerator.generate(DefaultGenerator.java:888)
at org.openapitools.codegen.cmd.Generate.run(Generate.java:355)
at org.openapitools.codegen.OpenAPIGenerator.main(OpenAPIGenerator.java:62)
Caused by: java.lang.NullPointerException
at org.openapitools.codegen.utils.ModelUtils.isArraySchema(ModelUtils.java:343)
at org.openapitools.codegen.languages.AbstractGoCodegen.getTypeDeclaration(AbstractGoCodegen.java:263)
at org.openapitools.codegen.languages.AbstractGoCodegen.getTypeDeclaration(AbstractGoCodegen.java:266)
at org.openapitools.codegen.DefaultCodegen.fromProperty(DefaultCodegen.java:2006)
at org.openapitools.codegen.DefaultCodegen.addVars(DefaultCodegen.java:3455)
at org.openapitools.codegen.DefaultCodegen.addVars(DefaultCodegen.java:3425)
at org.openapitools.codegen.DefaultCodegen.addVars(DefaultCodegen.java:3412)
at org.openapitools.codegen.DefaultCodegen.fromModel(DefaultCodegen.java:1708)
at org.openapitools.codegen.DefaultGenerator.processModels(DefaultGenerator.java:1126)
at org.openapitools.codegen.DefaultGenerator.generateModels(DefaultGenerator.java:452)
... 3 more
Is there any plans to supply Swagger specifications for the RTM messages? It would be very useful for SDKs out there to be able to generate code from official specifications instead of scraping the documentation website (which a lot of them are doing right now).
Examples of this happening:
x
in one of the [ ]
)x
in each of the [ ]
)Hello Slack folks!
I was trying to implement the new modal views in one of my apps, but the views.open, views.push, and views.update methods are not available in slack-ruby/slack-ruby-client . After reading the source for that library, it looks like the methods are missing because they are not in the OpenAPI spec.
Is support for these new methods coming? Is there a timeline for implementation? I'm wondering if I should abandon slack-ruby-client
and just write my own instead.
Thanks!
x
in one of the [ ]
)x
in each of the [ ]
)I just want to know the latest status of /groups.close
. In this spec document, the endpoint seems to be no longer listed.
x
in one of the [ ]
)x
in each of the [ ]
)The https://api.slack.com/methods/search.messages endpoint response is not specified:
slack-api-specs/web-api/slack_web_openapi_v2_without_examples.json
Lines 18823 to 18929 in 760ee98
We only have the "ok" field, not all the data fields of the results.
This is an issue when trying to generate compatible client (jolicode/slack-php-api#59).
x
in one of the [ ]
)x
in each of the [ ]
)Hi Slack team,
Pressing enter key in multi_select view causes view to crash. See details in below bug section.
x
in one of the [ ]
)x
in each of the [ ]
)I am using views API to create a Modal that contains a multi_external_select element. When I type and try to select an item from options list via keyboard pressing enter key turns modal into "We can't fully display this message" dialog.
Development environment:
Mac OS Mojave Slack app
Web slack app on Google Chrome
The option I press enter on should be added to selected options
Dialog turns into "We can't fully display this message" dialog and the content is lost
Missing examples, default values and required fields in all the requests containing data with type in: formData, for example: chat_postMessage
"operationId": "chat_postMessage", "parameters": [ { "description": "A JSON-based array of structured attachments, presented as a URL-encoded string.", "in": "formData", "name": "attachments", "type": "string" },
There are two errors in the spec that look like typos:
team.info
it lists token_revokedno_permission
as an error, which looks like two adjacent errors jammed together.reactions.list
it has account_inactiv
instead of account_inactive
.I can submit a PR if you'd like.
x
in one of the [ ]
)x
in each of the [ ]
)See description above.
In the specification of the Web API endpoint /conversations.open
, the type of the created
field in the response is string
, while it is integer
in definitions/objs_conversation
. I think this should be corrected to integer
for consistency. The Slack API documentation also shows this field to be of integer type.
There should be a rest endpoint for slackbot responses. I'd like to get list of slackbot responses, both triggers and values. I'd like to create new responses or manage currently defined ones.
x
in one of the [ ]
)x
in each of the [ ]
)Describe your issue here.
x
in one of the [ ]
)x
in each of the [ ]
)The response from /stars.list
API should include items
for normal cases. Thus, responses.200.schema.properties
/ responses.200.examples
should have items
under the hierarchy.
I am willing to send a pull request to fix this if needed.
I found the discrepancy when reading slack_web_openapi_v2.json
.
None.
I've mentioned in the Bug Report
part.
I've mentioned in the Bug Report
part.
None.
The add reminders method (as well as complete
and delete
) only accepts a User token; however, I can assign the reminders:write scope to the Bot token, which would never come into play - why include the Bot token here?
Further, even when you do provide a User token and call the method via the Web API, the "Slackbot" is what adds the reminder in Slack, which is confusing. What is the interplay between the User and Bot token in this case of managing reminders via the API?
x
in one of the [ ]
)x
in each of the [ ]
)Filling out the following details about bugs will help us solve your issue sooner.
Development environment:
What you expected to happen
What actually happened
Logs, screenshots, screencast, sample project, funny gif, etc.
If attaching logs, please remove user data and tokens.
“token” is designated as a required header parameter for many methods in the OpenAPI spec for the Web API (e.g. "operationId": "chat_postMessage"), but this input behaves as optional and is not actually needed when a request is made with a valid token for Authorization: Bearer. Please update the spec to ensure any occurrence of the header parameter of name "token" is properly designated as true or false...and included in the spec conjunction with the Authorization header behavior.
x
in one of the [ ]
)x
in each of the [ ]
)Filling out the following details about bugs will help us solve your issue sooner.
Development environment:
Both of the following calls work, proving that the token parameter is not required:
/* No token parameter */
curl --location --request POST 'https://slack.com/api/chat.postMessage'
--header 'Content-Type: application/x-www-form-urlencoded'
--header 'Authorization: Bearer xoxb-'
--data-urlencode 'channel='
--data-urlencode 'as_user=1'
--data-urlencode 'text=hello'
/* Invalid token parameter */
curl --location --request POST 'https://slack.com/api/chat.postMessage'
--header 'token: garbage'
--header 'Content-Type: application/x-www-form-urlencoded'
--header 'Authorization: Bearer xoxb-'
--data-urlencode 'channel='
--data-urlencode 'as_user=1'
--data-urlencode 'text=hello'
If the token header parameter is actually required, I'd expect both of the above requests to fail.
Both requests succeed
Logs, screenshots, screencast, sample project, funny gif, etc.
If attaching logs, please remove user data and tokens.
Describe your issue here.
x
in one of the [ ]
)x
in each of the [ ]
)Filling out the following details about bugs will help us solve your issue sooner.
Development environment:
{"ok":false,"error":"curl_error","code":0,"curl_errno":28,"curl_error":"Operation timed out after 3000 milliseconds with 0 bytes received","total_time":2.999589,"url":"http:\/\/<domain>\/thanks"}
I expect the view_submission event
Request didn't reach my API
Logs, screenshots, screencast, sample project, funny gif, etc.
If attaching logs, please remove user data and tokens.
There are a number of deprecated endpoints defined in the schema according the Slack methods documentation (specifically channels
, im
, groups
, and mpim
).
Since OpenAPI Specification has a deprecated
boolean field, it would be helpful to include that to note which endpoints will not see further updates and will likely eventually be sunset.
x
in one of the [ ]
)x
in each of the [ ]
)I'm not sure if we reached the correct repository, we created a Slack App and used https://api.slack.com/messaging/sending to send messages to a channel. This message contains a very long link, which we can't shorten anymore.
Slack is always returning HTTP 413 "Message too long". How to overcome this problem?
x
in one of the [ ]
)x
in each of the [ ]
)The set of allowed values for the parse
field used by chat.postMessage
and chat.update
are underspecified and slightly contradictory:
slack-api-specs/web-api/slack_web_openapi_v2_without_examples.json
Lines 11633 to 11638 in 760ee98
On the one hand, the documentation string claims that parse
Accepts either
none
orfull
.
On the other hand, it also claims that the field
Defaults to
client
which makes me think that the field accepts client
, full
, and none
(or are even more values allowed?).
Also, I didn’t find any good documentation on the full list of allowed values for this field, let alone their semantics.
The only mention of the parse
field I could find in the documentation simply states that
You can specify values for parse and link_names to change formatting behavior.
—https://api.slack.com/methods/chat.postMessage#formatting
with no further explanation.
I think that both the specification and the documentation should be improved.
x
in one of the [ ]
)x
in each of the [ ]
)Describe your issue here.
x
in one of the [ ]
)x
in each of the [ ]
)Currently conversation.replies method gives the list of all the replies for a given ts. But there is no way to identify or get the list of messages which have been responded.
The only way to do this at the moment is to get all the parent messages from the conversations.history method and then loop through those messages and call conversation.replies api to check if they have a reply or not. Now following this will mean that we will have to make an api call for every message, which will result in a lot of api calls.
Use case:
We need to get all the messages that someone has responded back in the last X hours.
Possible solution:
In the conversations.history method if we can add a boolean that says has_reply
that can help in identifying all the messages with replies, then that can help a lot in reducing the number of api calls.
Have a way to get all the parent messages along with their replies for a duration the downside of this will be a too heavy response body in case a message has a lot of replies, but that can be controlled by pagination i suppose.
groups_create_child is documented as a POST
instead of a GET
.
x
in one of the [ ]
)x
in each of the [ ]
)You need to update the documentation for this API to be a GET
.
See details here:
https://api.slack.com/methods/groups.createChild
I'd like to suggest the creation of a new surface: sidebar.
x
in one of the [ ]
)x
in each of the [ ]
)The idea is to be able to customize the sidebar of a specific channel.
Example of usage:
The sidebar could request new content every time it's opened.
The app could also push new content (like the incoming webhook).
It could also display buttons/actions
Please, let me know what do you think,
The consumes definition for chat.postMessage may be application/json, but there is no JSON spec to choose from; the parameters are all formData parameter. JSON needs a request body parameter in OAS 2.0 (in OAS 3.0, any input parameter can be JSON).
x
in one of the [ ]
)x
in each of the [ ]
)Filling out the following details about bugs will help us solve your issue sooner.
all
JSON input defined in the schema
What actually happened
Logs, screenshots, screencast, sample project, funny gif, etc.
If attaching logs, please remove user data and tokens.
I've found a bug in the api specs. When you retrieve an user profile using slack api and the user fields are empty, fields are an empty array. And when they are not, it's an object.
According to the openapi specs user profile fields must be an object.
When fields are not empty, slack api returns an object like:
"fields": { "somekey": { "value": "somevalue", "alt": "", "label": "somelabel" } }
But when fields are empty, slack api returns an empty array:
"fields": []
This is really annoying when you are using a strongly typed language.
Everywhere
"fields": {}
"fields": []
Specification seems to be invalid from what I can tell. I tried opening it in the online Swagger Editor at https://editor.swagger.io and I get the following errors:
Errors
Semantic error at definitions.objs_user.properties.tz.type
Schema "type" key must be a string
Jump to line 12541
Semantic error at definitions.objs_user_profile.properties.fields.type
Schema "type" key must be a string
Jump to line 12776
Semantic error at definitions.objs_team_profile_field.properties.possible_values.type
Schema "type" key must be a string
Jump to line 12827
Semantic error at definitions.objs_team_profile_field.properties.options.type
Schema "type" key must be a string
Jump to line 12840
Semantic error at definitions.objs_user_profile_short.properties.first_name.type
Schema "type" key must be a string
Jump to line 13164
Semantic error at definitions.objs_user_profile_shortest.properties.first_name.type
Schema "type" key must be a string
Jump to line 13622
Most of these look like this in the specification:
"type": [
"null",
"string"
]
I think Swagger/OpenAPI uses another schema to mark fields as nullable.
x
in one of the [ ]
)x
in each of the [ ]
)Whether we are using the API from a client or server application, it may happen that the application using the slack API successfully sent a message, but that the connection got interrupted during the request, thus resulting in the application considering the post as a failure even though the slack API received and processed the request successfully. Usually, in case of failures, applications often perform retries (with back-off policy), this can result in duplicate messages. To avoid this, a new optional field can be added to the slack API, and if there is already a message posted with this ID, then the API could result in a 409 status code result instead of re-posting the msg.
x
in one of the [ ]
)x
in each of the [ ]
)Filling out the following details about bugs will help us solve your issue sooner.
Development environment:
What you expected to happen
What actually happened
Logs, screenshots, screencast, sample project, funny gif, etc.
If attaching logs, please remove user data and tokens.
We are trying to implement interactivity select with the external datasource as described here - https://api.slack.com/reference/block-kit/block-elements#external_select
Our select inside actions:
{
"blocks": [{
"type": "actions",
"elements": [{
"type": "external_select",
"action_id": "subprocess",
"placeholder": {
"type": "plain_text",
"text": "Subprocess"
},
"min_query_length": 4
}]
}]
}
Request for external options:
{
"type": "block_suggestion",
"action_id": "subprocess",
"block_id": "+7x/Z",
"value": "4367",
"message": {
"bot_id": "BNQSQ2ZDK",
"type": "message",
"text": "This content can't be displayed.",
"user": "UNQCZ5C4U",
"ts": "1570463370.018100",
"team": "T2V37EATG",
"blocks": [{
"type": "actions",
"block_id": "+7x/Z",
"elements": [{
"type": "external_select",
"action_id": "subprocess",
"placeholder": {
"type": "plain_text",
"text": "Subproess",
"emoji": true
},
"min_query_length": 4
}]
}]
}
}
Our response to POST with code 200 as application/json:
{
"options": [{
"text": {
"type": "plain_text",
"text": "Scoring"
},
"value": "Scoring"
}, {
"text": {
"type": "plain_text",
"text": "Delivery"
},
"value": "Delivery"
}]
}
After this response we have the error: {ok: false, error: "invalid_response_json"}
on Slack client.
What is the correct response format for this method?
x
in one of the [ ]
)x
in each of the [ ]
)I noticed that the API spec is missing default
values that are present in the HTML reference.
For example: https://api.slack.com/methods/users.list has a parameter limit
with a Default: 0
.
However, the OpenAPI spec is missing this default:
{
"description": "The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached.",
"in": "query",
"name": "limit",
"type": "integer"
},
x
in one of the [ ]
)x
in each of the [ ]
)Would it be possible to add token
types (bot/user/etc) to the spec output for API methods?
Describe your issue here.
x
in one of the [ ]
)x
in each of the [ ]
)go to https://editor.swagger.io/
import the schema
view the errors
Errors
Structural error at definitions.objs_channel.properties.latest.items
should be object
Jump to line 190
Structural error at definitions.objs_conversation.items
should be object
Jump to line 315
Structural error at definitions.objs_group.properties.latest.items
should be object
Jump to line 1059
Structural error at definitions.objs_message.properties.bot_id.items
should be object
Jump to line 1204
Structural error at definitions.objs_resources.properties.excluded_ids.items.items
should be object
Jump to line 1386
Structural error at definitions.objs_resources.properties.ids.items.items
should be object
Jump to line 1392
Structural error at definitions.objs_subteam.properties.auto_type.items
should be object
Jump to line 1426
Structural error at definitions.objs_subteam.properties.deleted_by.items
should be object
Jump to line 1441
Structural error at definitions.objs_user.items
should be object
Jump to line 1612
Semantic error at definitions.objs_user_profile.properties.fields.type
Schema "type" key must be a string
Jump to line 1797
Structural error at definitions.objs_user_profile.properties.fields.type
should be equal to one of the allowed values
allowedValues: array, boolean, integer, number, object, string
Jump to line 1797
Structural error at paths./channels.history.get.responses.200.schema.properties.channel_actions_ts.items
should be object
Jump to line 6122
Structural error at paths./channels.replies.get.responses.200.schema.properties.messages.items.items
should be object
Jump to line 7196
Structural error at paths./conversations.history.get.responses.200.schema.properties.channel_actions_ts.items
should be object
Jump to line 9434
Structural error at paths./conversations.open.post.responses.200.schema.properties.channel.items
should be object
Jump to line 10534
Structural error at paths./conversations.replies.get.responses.200.schema.properties.messages.items.items
should be object
Jump to line 10863
Structural error at paths./files.info.get.responses.200.schema.properties.content_html.type
should be equal to one of the allowed values
allowedValues: array, boolean, integer, number, object, string
Jump to line 12189
Structural error at paths./groups.history.get.responses.200.schema.properties.channel_actions_ts.items
should be object
Jump to line 13591
Structural error at paths./im.history.get.responses.200.schema.properties.channel_actions_ts.items
should be object
Jump to line 14909
Structural error at paths./im.replies.get.responses.200.schema.properties.messages.items.items
should be object
Jump to line 15375
Structural error at paths./mpim.history.get.responses.200.schema.properties.channel_actions_ts.items
should be object
Jump to line 15791
Structural error at paths./mpim.replies.get.responses.200.schema.properties.messages.items.items
should be object
Jump to line 16183
Structural error at paths./pins.list.get.responses.200.schema.items
should be object
Jump to line 16738
Semantic error at paths./pins.list.get.responses.200.schema.items.0.properties.items.items
`items` must be an object
Jump to line 16742
Structural error at paths./reactions.get.get.responses.200.schema.items
should be object
Jump to line 17088
Structural error at paths./reactions.list.get.responses.200.schema.properties.items.items.items
should be object
Jump to line 17300
Structural error at paths./stars.list.get.responses.200.schema.properties.items.items.items
should be object
Jump to line 18352
Structural error at paths./users.identity.get.responses.200.schema.items
should be object
Jump to line 20426
Trying to use this project to generate a client library with the provided spec and a lot of schemas aren't translated into code.
is this something that can be fixed?
What can we do to get your OpenAPI imported into Postman and published as a collection to the Postman network (https://explore.postman.com/)? Would offer one click access beyond the instructions on the README -- Plus it would be access via the network by 12 Million developers.
x
in one of the [ ]
)x
in each of the [ ]
)A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.