Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions methods/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@ $ mvn compile exec:java -Dexec.mainClass=chat.ChatPostMessage # Make the reques

- **[blocks.validate](https://docs.slack.dev/reference/methods/blocks.validate)**: Validates blocks, messages, and views Block Kit JSON payloads. [Implementation](./src/main/java/blocks/BlocksValidate.java).

### canvases

- **[canvases.create](https://docs.slack.dev/reference/methods/canvases.create)**: Create canvas for a user. [Implementation](./src/main/java/canvases/CanvasesCreate.java).
- **[canvases.getContent](https://docs.slack.dev/reference/methods/canvases.getContent)**: Get the content of a canvas as markdown (default) or HTML. [Implementation](./src/main/java/canvases/CanvasesGetContent.java).

### chat

- **[chat.postMessage](https://docs.slack.dev/reference/methods/chat.postmessage)**: Sends a message to a channel. [Implementation](./src/main/java/chat/ChatPostMessage.java).
Expand Down
33 changes: 33 additions & 0 deletions methods/src/main/java/canvases/CanvasesCreate.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package canvases;

import com.slack.api.Slack;
import com.slack.api.methods.MethodsClient;
import com.slack.api.methods.SlackApiException;
import com.slack.api.methods.request.canvases.CanvasesCreateRequest;
import com.slack.api.methods.response.canvases.CanvasesCreateResponse;
import com.slack.api.model.canvas.CanvasDocumentContent;
import java.io.IOException;

public class CanvasesCreate {

public static void main(String[] args) throws IOException, SlackApiException {
// Read a token from an environment variable
String token = System.getenv("SLACK_TOKEN");

// Initialize
MethodsClient methods = Slack.getInstance().methods(token);

// Call the canvases.create method
CanvasesCreateRequest request = CanvasesCreateRequest.builder()
.title("Your Brilliant Title")
.documentContent(CanvasDocumentContent.builder()
.type("markdown")
.markdown("> standalone canvas!")
.build())
.build();
CanvasesCreateResponse response = methods.canvasesCreate(request);

// Inspect the response
System.out.println(response);
}
}
29 changes: 29 additions & 0 deletions methods/src/main/java/canvases/CanvasesGetContent.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package canvases;

import com.slack.api.Slack;
import com.slack.api.methods.MethodsClient;
import com.slack.api.methods.SlackApiException;
import com.slack.api.methods.request.canvases.CanvasesGetContentRequest;
import com.slack.api.methods.response.canvases.CanvasesGetContentResponse;
import java.io.IOException;

public class CanvasesGetContent {

public static void main(String[] args) throws IOException, SlackApiException {
// Read a token from an environment variable
String token = System.getenv("SLACK_TOKEN");

// Initialize
MethodsClient methods = Slack.getInstance().methods(token);

// Call the canvases.getContent method
CanvasesGetContentRequest request = CanvasesGetContentRequest.builder()
.canvasId("F1234ABCD")
.contentType("markdown")
.build();
CanvasesGetContentResponse response = methods.canvasesGetContent(request);

// Inspect the response
System.out.println(response);
}
}
22 changes: 22 additions & 0 deletions methods/src/main/java/canvases/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"display_information": {
"name": "Slack API Methods",
"description": "Example implementations to call \"canvases\" methods"
},
"features": {
"bot_user": {
"display_name": "Slack API Methods",
"always_online": true
}
},
"oauth_config": {
"scopes": {
"bot": ["canvases:read", "canvases:write"]
}
},
"settings": {
"org_deploy_enabled": true,
"socket_mode_enabled": false,
"token_rotation_enabled": false
}
}
Loading