Skip to content

minishift/minibot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minibot

Minibot is a IRC bot employed by the Minishift team to work on the #minishift channel on irc.freenode.net.

Usage

Minishift stand-ups

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

Archaeologist

The archaeologist is a role within the Minishift time who has the task to groom long standing issues. The role rotates amongst the core devs of the Minishift team and usually is held for a week (number of days are configurable via MINIBO_ARCHAEOLOGIST_DAYS). Minibot offers several commands to aid keeping track of the current archaeologist. Per default the current archaeologist is called out after a stand-up. However, there are also several commands to explicitly manage the archaeologist role.

Add a user to the list of archaeologists:

minibot <user> has an archaeologist member role

To remove a user from the list of archaeologists:

minibot <user> doesn’t an archaeologist member role

To print the current archaeologist:

minibot who is archaeologist

To skip to the next archaeologist:

minibot archaeologist next

For all supported commands

minibot archaeologist?

Sprint backlog

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

CentOS CI

You can ask for the latest master build artifacts built by CentOS CI:

minibot latest master artifacts

Or you can ask for pull request artifacts:

minibot artifacts for pr <pr-id>

CI notifications

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.

Misc

Other than that the following hubot scripts are installed:

Developing

In order to develop on Minibot you need to set the environment variables MINIBOT_REDIS_URL and MINIBOT_IRC_PASS.

Building the Minibot image

$ make build

Running the Minibot image

$ make run

Testing webhooks

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 payload@travis-ci.json
# 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

To test the CentOS CI release webhook, execute:

$ curl http://<IP>:9009/hubot/centosci -H "Content-Type: application/json" -d '{"payload":{"status":"success","message":"Minishift v1.0.0 successfully released by https://ci.centos.org/job/minishift-release/100","url":"https://github.com/minishift/minishift/releases/tag/v1.0.0"}}'

Resources

About

Containerized Hubot for #minishift on freenode.net

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • CoffeeScript 96.1%
  • Makefile 3.9%