generated from camel.apache.org/kamelet
109 lines
6.3 KiB
YAML
109 lines
6.3 KiB
YAML
|
|
apiVersion: camel.apache.org/v1
|
||
|
|
kind: Kamelet
|
||
|
|
metadata:
|
||
|
|
name: slack-source
|
||
|
|
annotations:
|
||
|
|
camel.apache.org/kamelet.support.level: "Stable"
|
||
|
|
camel.apache.org/catalog.version: "4.10.2"
|
||
|
|
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgaWQ9IkxheWVyXzEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMiA1MTI7IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMyNUQzNjY7fQoJLnN0MXtmaWxsOiNGRkZGRkY7fQoJLnN0MntmaWxsOiNGRjAwMDA7fQoJLnN0M3tmaWxsOiMzRDVBOTg7fQoJLnN0NHtmaWxsOnVybCgjU1ZHSURfMV8pO30KCS5zdDV7ZmlsbDp1cmwoI1NWR0lEXzJfKTt9Cgkuc3Q2e2ZpbGw6IzU1QURFRTt9Cgkuc3Q3e2ZpbGw6IzFFOTZDODt9Cgkuc3Q4e2ZpbGw6I0E5QzlERDt9Cgkuc3Q5e2ZpbGw6I0M4REFFQTt9Cgkuc3QxMHtmaWxsOm5vbmU7fQoJLnN0MTF7ZmlsbDojNDc4N0YzO30KCS5zdDEye2ZpbGw6I0RDNDgzQzt9Cgkuc3QxM3tmaWxsOiNGRkNFNDM7fQoJLnN0MTR7ZmlsbDojMTQ5RjVDO30KCS5zdDE1e2ZpbGw6I0NFMUU1Qjt9Cgkuc3QxNntmaWxsOiM3MkM1Q0Q7fQoJLnN0MTd7ZmlsbDojREZBMjJGO30KCS5zdDE4e2ZpbGw6IzNDQjE4Nzt9Cgkuc3QxOXtmaWxsOiMyNDhDNzM7fQoJLnN0MjB7ZmlsbDojMzkyNTM4O30KCS5zdDIxe2ZpbGw6I0JCMjQyQTt9Cgkuc3QyMntmaWxsOm5vbmU7c3Ryb2tlOiMzQ0IxODc7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fQoJLnN0MjN7ZmlsbDojMDA5QTU3O30KCS5zdDI0e2ZpbGw6I0ZDQ0QzNzt9Cgkuc3QyNXtmaWxsOiMyNzcxRjA7fQo8L3N0eWxlPjxnPjxwYXRoIGNsYXNzPSJzdDE1IiBkPSJNNTAxLjgsMjc0TDUwMS44LDI3NGMtNy42LTIzLjMtMzIuNi0zNi4xLTU2LTI4LjVMOTYuMiwzNTkuMWMtMjMuMyw3LjYtMzYuMSwzMi42LTI4LjUsNTZsMCwwICAgYzcuNiwyMy4zLDMyLjYsMzYuMSw1NiwyOC41bDM0OS42LTExMy42QzQ5Ni42LDMyMi40LDUwOS40LDI5Ny4zLDUwMS44LDI3NHoiLz48cGF0aCBjbGFzcz0ic3QxNiIgZD0iTTQ0My41LDk3LjdsLTAuMi0wLjVjLTcuNi0yMy4zLTMyLjYtMzYuMS01Ni0yOC41TDM4LjcsMTgyLjFjLTIzLjMsNy42LTM2LjEsMzIuNi0yOC41LDU2bDAuMiwwLjUgICBjNy42LDIzLjMsMzIuNiwzNi4xLDU2LDI4LjVsMzQ4LjYtMTEzLjNDNDM4LjMsMTQ2LjEsNDUxLDEyMS4xLDQ0My41LDk3Ljd6Ii8+PHBhdGggY2xhc3M9InN0MTciIGQ9Ik00NDMuNiwzODguM0wzMjkuOSwzOC43Yy03LjYtMjMuMy0zMi42LTM2LjEtNTYtMjguNXYwYy0yMy4zLDcuNi0zNi4xLDMyLjYtMjguNSw1NmwxMTMuNiwzNDkuNiAgIGM3LjYsMjMuMywzMi42LDM2LjEsNTYsMjguNWgwQzQzOC40LDQzNi43LDQ1MS4yLDQxMS42LDQ0My42LDM4OC4zeiIvPjxwYXRoIGNsYXNzPSJzdDE4IiBkPSJNMjY3LDQ0NS43TDE1My43LDk3LjFjLTcuNi0yMy4zLTMyLjYtMzYuMS01Ni0yOC41bC0wLjUsMC4yYy0yMy4zLDcuNi0zNi4xLDMyLjYtMjguNSw1NmwxMTMuMywzNDguNiAgIGM3LjYsMjMuMywzMi42LDM2LjEsNTYsMjguNWwwLjUtMC4yQzI2MS45LDQ5NC4xLDI3NC42LDQ2OSwyNjcsNDQ1Ljd6Ii8+PHJlY3QgY2xhc3M9InN0MTkiIGhlaWdodD0iODkuNCIgdHJhbnNmb3JtPSJtYXRyaXgoLTAuOTUxIDAuMzA5MSAtMC4zMDkxIC0wLjk1MSAzMzEuOTg5NiAzNDAuMjQ1KSIgd2lkdGg9Ijg5LjQiIHg9Ijk0LjQiIHk9IjE1MS43Ii8+PHJlY3QgY2xhc3M9InN0MjAiIGhlaWdodD0iODguOCIgdHJhbnNmb3JtPSJtYXRyaXgoMC45NTEgLTAuMzA5MSAwLjMwOTEgMC45NTEgLTEwNS43NDk4IDc5LjAzMDEpIiB3aWR0aD0iODkuNCIgeD0iMTUxLjgiIHk9IjMyOC44Ii8+PHJlY3QgY2xhc3M9InN0MjEiIGhlaWdodD0iODguOCIgdHJhbnNmb3JtPSJtYXRyaXgoMC45NTEgLTAuMzA5MSAwLjMwOTEgMC45NTEgLTc5LjMyNSAxMzAuODY4OSkiIHdpZHRoPSI4OC44IiB4PSIzMjguOSIgeT0iMjcxLjMiLz48L2c+PC9zdmc+"
|
||
|
|
camel.apache.org/provider: "Apache Software Foundation"
|
||
|
|
camel.apache.org/kamelet.group: "Slack"
|
||
|
|
camel.apache.org/kamelet.namespace: "Social"
|
||
|
|
labels:
|
||
|
|
camel.apache.org/kamelet.type: "source"
|
||
|
|
spec:
|
||
|
|
definition:
|
||
|
|
title: "Slack Source"
|
||
|
|
description: |-
|
||
|
|
Receive messages from a Slack channel.
|
||
|
|
required:
|
||
|
|
- channel
|
||
|
|
- token
|
||
|
|
type: object
|
||
|
|
properties:
|
||
|
|
serverUrl:
|
||
|
|
title: Server URL
|
||
|
|
description: The Slack API server endpoint URL.
|
||
|
|
type: string
|
||
|
|
default: "https://slack.com"
|
||
|
|
example: "https://slack.com"
|
||
|
|
channel:
|
||
|
|
title: Channel
|
||
|
|
description: The Slack channel to receive messages from.
|
||
|
|
type: string
|
||
|
|
example: "#myroom"
|
||
|
|
token:
|
||
|
|
title: Token
|
||
|
|
description: "The Bot User OAuth Access Token to access Slack. A Slack app that has the following permissions is required: `channels:history`, `groups:history`, `im:history`, `mpim:history`, `channels:read`, `groups:read`, `im:read`, and `mpim:read`."
|
||
|
|
type: string
|
||
|
|
format: password
|
||
|
|
x-descriptors:
|
||
|
|
- urn:camel:group:credentials
|
||
|
|
delay:
|
||
|
|
title: Delay
|
||
|
|
description: The delay between polls. If no unit provided, milliseconds is the default.
|
||
|
|
type: string
|
||
|
|
default: "60000"
|
||
|
|
example: "60s or 6000 or 1m"
|
||
|
|
naturalOrder:
|
||
|
|
title: Natural Order
|
||
|
|
description: Create exchanges in natural order (oldest to newest) or not.
|
||
|
|
type: boolean
|
||
|
|
default: false
|
||
|
|
dataTypes:
|
||
|
|
out:
|
||
|
|
default: json
|
||
|
|
headers:
|
||
|
|
types:
|
||
|
|
json:
|
||
|
|
format: "application-json"
|
||
|
|
description: Json mapping of a Slack API Message
|
||
|
|
mediaType: application/json
|
||
|
|
cloudevents:
|
||
|
|
format: "slack:application-cloudevents"
|
||
|
|
description: |-
|
||
|
|
Output data type represents Azure Storage Blob get blob response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with
|
||
|
|
respective data from the Azure container and its derived object.
|
||
|
|
headers:
|
||
|
|
CamelCloudEventID:
|
||
|
|
title: CloudEvent ID
|
||
|
|
description: The Camel exchange id set as event id
|
||
|
|
type: string
|
||
|
|
CamelCloudEventType:
|
||
|
|
title: CloudEvent Type
|
||
|
|
description: The event type
|
||
|
|
default: "org.apache.camel.event.slack.consume"
|
||
|
|
type: string
|
||
|
|
CamelCloudEventSource:
|
||
|
|
title: CloudEvent Source
|
||
|
|
description: The event source. By default, the Slack App Id with prefix "slack.".
|
||
|
|
type: string
|
||
|
|
CamelCloudEventSubject:
|
||
|
|
title: CloudEvent Subject
|
||
|
|
description: The event subject. The Slack Channel name.
|
||
|
|
type: string
|
||
|
|
CamelCloudEventTime:
|
||
|
|
title: CloudEvent Time
|
||
|
|
description: The exchange creation timestamp as event time.
|
||
|
|
type: string
|
||
|
|
types:
|
||
|
|
out:
|
||
|
|
mediaType: application/json
|
||
|
|
dependencies:
|
||
|
|
- "camel:gson"
|
||
|
|
- "camel:slack"
|
||
|
|
- "camel:kamelet"
|
||
|
|
template:
|
||
|
|
from:
|
||
|
|
uri: "slack:{{channel}}"
|
||
|
|
parameters:
|
||
|
|
serverUrl: "{{serverUrl}}"
|
||
|
|
token: "{{token}}"
|
||
|
|
delay: "{{delay}}"
|
||
|
|
naturalOrder: "{{naturalOrder}}"
|
||
|
|
steps:
|
||
|
|
- marshal:
|
||
|
|
json:
|
||
|
|
library: "Gson"
|
||
|
|
- to: "kamelet:sink"
|