Skip to content
Talk to Jenkins via SlackBot
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.settings Add JBot Nov 16, 2015
RemoteBot Implement all command in IRC Bot Nov 17, 2015
images Add Usage Demo Dec 23, 2015
.gitattributes :neckbeard: Added .gitattributes & .gitignore files Oct 27, 2015
.gitignore Add Usage Demo Dec 23, 2015


The main goal of this project is to provide a smart bot, which enables the direct communication between Jenkins and Slack Channel. Users can interact with Jenkins and control various features of jobs by directly sending commands within a Slack Channel.


The project is consist of two independent Java implementations.

  • Jenkins Plugin

    The bot is running inside Jenkins as a plugin, which is built on top of Slack plugin for Jenkins and Instant Messaging Plugin. The manager of Jenkins server must install the plugin to activate the bot.

  • Remote SlackBot

    The bot can run independently of both Jenkins and Slack. The interaction of Jenkins is implemented via Remote Access API. --- Under Construction ---

Installation Guide

  • Jenkins Plugin

    1. Install the slack plugin inside Jenkins. Please contact the Jenkins server managers for help.

    2. Create a Programming Slackbot and record the global unique token.

    3. Go to "Mange Jenkins" -> "Configure System", find the "Global Slack Bot Setting" section.

      Jenkins Global Setting

    4. Type in SlackBot token provided by Slack.

    5. If the Jenkins is protected, a valid Jenkins user Id must be provided, otherwise most commnands won't work. You can also use this to restrict which commands can be executed via the bot, by removing the respective permissions for this user.

    6. Save

    7. Go to your Slack channel and try "!jenkins botsnack apple"

      Botsnack Commands

    8. "!jenkins help" command will always provide the full list of available commands.

      Help Commands

  • Remote SlackBot

    To be Finished

Usage Demo

Demo1 Demo2 Demo3 Demo4 Demo5 Demo6

Supported Commands

####Schedule a job build, with standard, custom or no quiet period build [now|[s|m|h]] [=]* schedule [now|[s|m|h]] [=]* ####Specify which job to abort abort ####Adds a description to a build comment <build-#>

####List jobs which are currently in progress cb currentlyBuilding ####Show the health of a specific job, jobs in a view or all jobs h [|-v ] health [|-v ] ####Show the status of a specific job, jobs in a view or all jobs jobs [|-v ] s [|-v ] status [|-v ] ####Show the state of the build queue q queue ####Show the test results of a specific job, jobs in a view or all jobs testresult [|-v ] ####Prints information about a Jenkins user userstat

####Defines a new alias, deletes one or lists all existing aliases alias [ []] ####Connection Test botsnack []

You can’t perform that action at this time.