Quick start
Botkube provides a quick start repository to start developing Botkube source and executor plugins in Go. It has all batteries included; example plugins:
- The
echo
executor that sends back the command that was specified, - The
ticker
source that emits an event each time the configured time duration elapses, - The
forwarder
source that echos the message sent as an incoming webhook request.
and two example release jobs:
Use template​
-
Navigate to
botkube-plugins-template
. -
Click "Use this template", next "Create a new repository"
This creates your own plugin repository with a single commit.
-
After a few seconds, the
.github/workflows/setup.yml
job will create a new commit. This job removes Kubeshop related files, such as:CONTRIBUTING.md
CODE_OF_CONDUCT.md
LICENSE
SECURITY.md
.github/CODEOWNERS
Additionally, it updates links in README.md to point to your own repository instead of Kubeshop's one. In case of job failure, you need to make and commit those changes manually.
This job runs only once, later you can remove it or disable it.
-
Decide which release job you prefer, the GitHub releases, or GitHub pages. Once decided, remove one the above workflow in your new repository:
- GitHub releases, defined at
.github/workflows/release.yml
in your GitHub repository. - GitHub Pages, defined at
.github/workflows/pages-release.yml
in your GitHub repository.
If you pick the GitHub Pages, a further configuration is needed:
- In project settings, enable publishing GitHub Pages via GitHub Action.
- Adjust the
github-pages
deployment environment. You can either:- remove the deployment environment if you don't need any protection rules
- add an environment protection rule so that you can deploy pages on each new tag. If you use tagging like
vX.Y.Z
, you can add thev*
rule. As an alternative, can select All branches from the dropdown.
- GitHub releases, defined at
-
Add LICENSE file and update the README.md file to describe the plugins that you created.