Exploding BPMN is like the game Exploding Kittens but with BPMN symbols. The game is modeled in BPMN and executed in Camunda 8 SaaS.
The Slack application provides two commands:
/how-to-play-exploding-bpmn- prints a basic manual/exploding-bpmn- creates a new game- provide the player names as argument (e.g.
/exploding-bpmn @me @player2 @player3) - use a player name like
bot_*to add a bot (e.g./exploding-bpmn @me bot_1 bot_2) - the game is played in private chats with the app
- provide the player names as argument (e.g.
- Creating a new Slack App: https://api.slack.com/apps
- Activate Incoming Webhooks
- Enable Interactive Components
- Setting request url to
${BASE_URL}/slack/action
- Create Slash Commands
- New command
/exploding-bpmnwith request url${BASE_URL}/slack/command/new-game - New command
/how-to-play-exploding-bpmnwith request url${BASE_URL}/slack/command/how-to-play
- Configure the Scopes (i.e. permissions) under
OAuth & Permissions
chat:writechat:write.publicim:writecommandsincoming_webhook
- Store the OAuth Token for Your Workspace from
OAuth & Permissions - Installing the app to the workspace
The docker image is built and pushed using Jib.
mvn clean deploy
# check the k8s cluster
kubectx -c
# create a new namespace
kubectl create namespace exploding-bpmn
# switch to namespace
kubens exploding-bpmn
# deploy resource definition
cd k8s
kubectl apply -f exploding-bpmn-app-secret.yaml
kubectl apply -f exploding-bpmn-app.yml
# check the status
kubectl get pods
# check the logs
kubectl logs exploding-bpmn-app
# get the public IP address
kubectl get services
- Open the Slack app
- Set the public IP address for Interactivity Request URL
- Set the public IP address for Slash commands
- Download and run ngrok
- Setting request URLs to
ngrok.io - Start the application
- Start a new game by creating a new instance of
exploding-kittens
- with a variable
playerNames(e.g.["player1","player2"])
Environment variables:
SLACK_TOKENZEEBE_CLIENT_CLOUD_CLUSTERIDZEEBE_CLIENT_CLOUD_CLIENTIDZEEBE_CLIENT_CLOUD_CLIENTSECRETZEEBE_CLIENT_CLOUD_BASEURL(default:zeebe.ultrawombat.com)ZEEBE_CLIENT_CLOUD_REGION(default:bru-3)ZEEBE_CLIENT_CLOUD_AUTHURL(default:https://login.cloud.ultrawombat.com/oauth/token)