Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mongey/kafka-connect-slack
Kafka Connect Sink for posting to Slack
https://github.com/mongey/kafka-connect-slack
kafka-connect kafka-connector slack
Last synced: 14 days ago
JSON representation
Kafka Connect Sink for posting to Slack
- Host: GitHub
- URL: https://github.com/mongey/kafka-connect-slack
- Owner: Mongey
- Created: 2018-12-27T18:42:35.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-25T19:11:00.000Z (almost 2 years ago)
- Last Synced: 2023-03-01T12:56:41.422Z (over 1 year ago)
- Topics: kafka-connect, kafka-connector, slack
- Language: Kotlin
- Homepage:
- Size: 70.3 KB
- Stars: 7
- Watchers: 2
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# kafka-connect-slack
A [kafka-connect](https://kafka.apache.org/documentation/#connect) sink connector, for formatting, and sending messages to Slack[![CircleCI](https://circleci.com/gh/Mongey/kafka-connect-slack.svg?style=svg&circle-token=fec0eab73b18b427a484bd2ae4736deec30c7173)](https://circleci.com/gh/Mongey/kafka-connect-slack)
![](https://mongey.net/post/kafka-connect-slack/posting.gif)
## :electric_plug: Installation
Download the [latest jar](https://circleci.com/gh/Mongey/kafka-connect-slack/) and place it in your [kafka-connect plugins](https://docs.confluent.io/current/connect/userguide.html#installing-plugins) folder.## :hammer_and_wrench: Configuration
```hcl
resource "kafka-connect_connector" "slack_sink" {
name = "slack_sink"config = {
"name" = "slack_sink"
"connector.class" = "net.mongey.kafka.connect.SlackSinkConnector"
"topics" = "paid-orders"
"slack.token" = "${var.slack_token}"
"slack.channel" = "shipping-requests"
"message.template" = "${customer.firstname} created a new order"
}
}
```* `slack.token` is the slack token for the connector to use.
* `slack.channel` defines what channel to send the message into. (Optional)
* `slack.username` defines the user to send the message to. (Optional)
* `message.template` defines the template to use for the message.### :memo: `message.template`
Interpolate fields from the message using `${field_name}`.
Nested fields are accessible using a `.` e.g. `${customer.address.city}`