Use Iter8 to send a message to a Slack channel¶
Iter8 provides a slack
task that sends a message to a Slack channel using a webhook.
Example¶
In this example, you will run the Your first performance test but at the end of the experiment, Iter8 will send a message on Slack.
The message will simply contain an experiment summary in text form. However, you can easily construct a more sophisticated message by providing your own payload template.
This task could provide important updates on an experiment over Slack, for example a summary at the end of an experiment.
To summarize what will happen, you will create a new channel on Slack and configure a webhook, set up and run an experiment, and check if a message was sent to the channel.
The slack
task requires the URL of the Slack webhook. To see a full list of the github
task parameters, see here.
- Create a new channel in your Slack organization.
- Create a Slack app, enable incoming webhooks, and create a new incoming webhook. See here.
- Ensure that you have a Kubernetes cluster and the
kubectl
CLI. You can create a local Kubernetes cluster using tools like Kind or Minikube. -
Install the Iter8 controller
helm install --repo https://iter8-tools.github.io/iter8 --version 0.1.11 iter8 controller
helm install --repo https://iter8-tools.github.io/iter8 --version 0.1.11 iter8 controller \ --set clusterScoped=true
kubectl apply -k 'https://github.com/iter8-tools/iter8.git/kustomize/controller/namespaceScoped?ref=v0.16.6'
kubectl apply -k 'https://github.com/iter8-tools/iter8.git/kustomize/controller/clusterScoped?ref=v0.16.6'
-
Deploy the sample HTTP service in the Kubernetes cluster.
kubectl create deploy httpbin --image=kennethreitz/httpbin --port=80 kubectl expose deploy httpbin --port=80
- Launch the experiment with the
slack
task with the appropriate values.iter8 k launch \ --set "tasks={http,slack}" \ --set http.url=http://httpbin.default/get \ --set slack.url=<Slack webhook> \ --set slack.method=POST
- Verify that the message has been sent after the experiment has completed.
Some variations and extensions of the slack
task
The default slack
task payload sends an experiment summary.
However, you do not need to use the default payload. You can provide your own payload by overriding the default of the payloadTemplateURL
.
For example, you can also use Slack's Block Kit to create more sophisticated messages. You can use markdown, create different sections, or add interactivity, such as buttons.