Minibot is a IRC bot employed by the Minishift team to work on the #minishift channel on irc.freenode.net.
Minibot drives the daily stand-ups of the Minishift team on #minishift on irc.freenode.net. For this it utilizes the hubot-standup plugin.
In order to add and remove users to the stand-up hubot-auth is used.
To add a user to the stand-ups:
minibot <user> has a minishift member role
To remove a user from the stand-ups:
minibot <user> doesn’t have a minishift member role
To list the roles of a user:
minibot what roles does <user> have
Sprint backlogs in comma separated format can be added to Minibot brain via a webhook:
curl -X POST http://<IP>:9009/hubot/sprint -d sprint=134 -d data="$(cat sprint-134.csv)"
Once uploaded the backlog can be printed via the Minibot command:
minibot print sprint <id>
An issue can be marked as completed by:
minibot mark issue <issue-id> of sprint <sprint-id> completed
To see which sprints Minibot knows about:
minibot list known sprints
You can ask for pull request artifacts from a CentOS CI pull request build by:
minibot artifacts for pr <pr-id>
At the moment Travis CI, AppVeyor and Circle CI send notifications to Minibot. The required webhooks are configured in .travis.yml, appveyor.yml resp. circle.yml in the Minishift repository.
Other than that the following hubot scripts are installed:
In order to develop on Minibot you need to set the environment variables MINIBOT_REDIS_URL
and MINIBOT_IRC_PASS
.
$ make build
$ make run
The testdata directory contains some sample JSON payload files to test the Minibot webhook integration. To test a webhook, execute the following against your local instance of Minibot:
$ cd testdata
$ curl http://<IP>:9009/hubot/travis-ci --data-urlencode [email protected]
# or
$ curl http://<IP>:9009/hubot/circleci -H "Content-Type: application/json" -d @circleci.json
# or
$ curl http://<IP>:9009/hubot/appveyor -H "Content-Type: application/json" -d @appveyor.json
where:
- <IP> is the IP of your Docker daemon