IRC Bot

The primary Jenkins IRC Channel (#jenkins on the Freenode network) uses an administrator bot "jenkins-admin" so that some of the project operation work can be done by the community. This bot is available for anyone in the channel with "voice", which is an IRC jargon for those users who are trusted.

Available actions

Actions should be addressed to the jenkins-admin bot as if you are speaking directly to the robot.

IRC Management

Grant voice to a user

Any of the following variations will work for granting voice to a user named USER:

jenkins-admin: Make USER voice
jenkins-admin: Give USER voice
jenkins-admin: Grant USER voice
jenkins-admin: Add USER voice

Ungrant voice to a user

Any of the following variations will work for removing voice from a user named USER:

jenkins-admin: Remove USER voice
jenkins-admin: Delete USER voice
jenkins-admin: Ungrant USER voice

Get help

jenkins-admin: help

Get the version of the bot

jenkins-admin: version

Kick a user

Only should be used when dealing with spammers or otherwise highly abusive participants to the IRC channel.

jenkins-admin: kick USER

GitHub Repo Management

The following actions are used for managing repositories in the jenkinsci organization on GitHub.

Grant a committer access

jenkins-admin: Make USER a committer
jenkins-admin: Give USER a commit access
jenkins-admin: Grant USER a commit access

Where USER is the GitHub user ID. This command adds the said user into the Everyone team, which has access to all the plugins. Can be only invoked by people with voice or channel-op access.

jenkins-admin: Make USER a committer of/to REPO
jenkins-admin: Give USER a commit access of/to REPO
jenkins-admin: Grant USER a commit access of/to REPO

This adds the user just to the specific repository. This reduces the amount of pull request related e-mails that the user gets, but this needs to be repeated for each repository.

Fork an existing repository on GitHub

jenkins-admin: Fork USER/REPO [on github]
jenkins-admin: Fork USER/REPO [on github] as NEW_REPO_NAME
jenkins-admin: Fork GITHUB_REPO_URL [on github] as NEW_REPO_NAME

This will fork a repository into Jenkins. The said user will be added as a committer to all the Jenkins repositories.

By convention, plugin repositories in Jenkins has the "PLUGINID-plugin" name, so please use the "as NEW_REPO_NAME" clause to adjust the repository name. A prefix of "jenkins" or any other irrelevant information should be removed.

For example:

jenkins-admin: fork example/jenkins-foobar as foobar-plugin
jenkins-admin: fork https://github.com/somebody/foobar-plugin

Create a new repository on GitHub

jenkins-admin: Create REPO on github
jenkins-admin: Create REPO on github for SOMEONE

In the latter form, the specified someone will get the commit access to the repository right away.

Issue Tracker Management

Create an issue tracker component

jenkins-admin: Create COMPONENT in the issue tracker for USER
jenkins-admin: Create COMPONENT in the bug database for USER

Where COMPONENT is the subcomponent name in the issue tracker (normally the name of the plugin), and USER is the jenkins-ci.org user ID who gets the initial notification when a new bug is filed.

Set default assignee of issue tracker component

jenkins-admin: Set USER as default assignee of COMPONENT
jenkins-admin: Make USER the lead of COMPONENT

Where COMPONENT is the subcomponent name in the issue tracker (normally the name of the plugin), and USER is the jenkins-ci.org user ID who gets the initial notification when a new bug is filed.

Remove the default assignee

jenkins-admin: Remove the default assignee of COMPONENT
jenkins-admin: Remove lead of COMPONENT

Rename the component

jenkins-admin: Rename component COMPONENT to NEW_NAME

Modify the component description

jenkins-admin: Set description of COMPONENT to "DESCRIPTION"
jenkins-admin: Set the description for component COMPONENT to "DESCRIPTION"

Remove the component

The command removes the specified component. All its issues will be moved to COMPONENT2

jenkins-admin: Remove component COMPONENT1 and move its issues to COMPONENT2
jenkins-admin: Delete component COMPONENT1 and move its issues to COMPONENT2