# The PR Bot -- currently for modules only

**URL:** <https://forum.ansible.com/t/the-pr-bot-currently-for-modules-only/20648>\
**Category:** Ansible Developer\
**Created:** [February 22, 2016, 2:57pm UTC](https://forum.ansible.com/t/the-pr-bot-currently-for-modules-only/20648 "2016-02-22T14:57:40Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Greg\_DeKoenigsberg1](https://avatars.discourse-cdn.com/v4/letter/g/838e76/32.png) [@Greg\_DeKoenigsberg1](https://forum.ansible.com/u/Greg_DeKoenigsberg1)\
**Post date:** [February 22, 2016, 2:57pm UTC](https://forum.ansible.com/t/the-pr-bot-currently-for-modules-only/20648/1 "2016-02-22T14:57:40Z")

</div>

For those of you who don't know, Robyn and I don't actually do all of  
the triage of all of these PRs by ourselves. We have a semi-autonomous  
bot that helps.

Here's the code:

[https://github.com/ansibull/ansibullbot](https://github.com/ansibull/ansibullbot)

Basically, every time we run it, it walks through every PR and figures  
out "what should I do with this?"

There are two files, MAINTAINERS-CORE.txt and MAINTAINERS-EXTRAS.txt,  
that list all of the maintainers of record of each module. The bot  
pings the owner of the module when a new PR comes in, tags the module  
with "shipit" when the module owner says so, etc., etc.

Right now, this runs in semi-autonomous mode, because there are still  
a bunch of corner cases we don't catch. I would like to get it into a  
fully-autonomous mode, because sometimes Robyn and I disappear to a  
conference for a week and are too exhausted to run the damned thing.

Anyway, it exists. I would say "patches definitely welcome" -- and  
they are, but since you have to have commit access to make it work, it  
can only be run by a small handful of people. We're working on  
improving that too.

--g

---

<div class="post-metadata">

**Author:** ![Rene\_Moser](https://avatars.discourse-cdn.com/v4/letter/r/7bcc69/32.png) [@Rene\_Moser](https://forum.ansible.com/u/Rene_Moser)\
**Post date:** [February 22, 2016, 10:04pm UTC](https://forum.ansible.com/t/the-pr-bot-currently-for-modules-only/20648/2 "2016-02-22T22:04:02Z")

</div>

Hi Greg

I just extended the ansibullbot  
[https://github.com/ansible/ansibullbot/pull/35](https://github.com/ansible/ansibullbot/pull/35)

I implemented github private token support, useful if you enabled 2fa  
(you should...). You can then just pass --ghtoken \<token\> to the cli.  
Find more about gh token here  
[https://help.github.com/articles/creating-an-access-token-for-command-line-use/](https://help.github.com/articles/creating-an-access-token-for-command-line-use/)

Further I implemented support for "namespaces":

e.g. cloud/cloudstack/: resmo

This means I would also be added as maintainer for any PR in this namespace.

What do you think? Questions?

René

---

<div class="post-metadata">

**Author:** ![Greg\_DeKoenigsberg1](https://avatars.discourse-cdn.com/v4/letter/g/838e76/32.png) [@Greg\_DeKoenigsberg1](https://forum.ansible.com/u/Greg_DeKoenigsberg1)\
**Post date:** [February 22, 2016, 10:33pm UTC](https://forum.ansible.com/t/the-pr-bot-currently-for-modules-only/20648/3 "2016-02-22T22:33:02Z")

</div>

> Hi Greg
> 
> I just extended the ansibullbot  
> [https://github.com/ansible/ansibullbot/pull/35](https://github.com/ansible/ansibullbot/pull/35)
> 
> I implemented github private token support, useful if you enabled 2fa  
> (you should...). You can then just pass --ghtoken \<token\> to the cli.  
> Find more about gh token here  
> [https://help.github.com/articles/creating-an-access-token-for-command-line-use/](https://help.github.com/articles/creating-an-access-token-for-command-line-use/)

You will notice that there's a ticket for this, so I can close it now. 🙂

> Further I implemented support for "namespaces":
> 
> e.g. cloud/cloudstack/: resmo
> 
> This means I would also be added as maintainer for any PR in this namespace.
> 
> What do you think? Questions?

This is awesome. Merged the PR. Thanks!

--g
