Instant Messaging Plugin

Skip to end of metadata
Go to start of metadata

Plugin Information

Plugin ID instant-messaging Changes In Latest Release
Since Latest Release
Latest Release
Latest Release Date
Required Core
Dependencies
1.35 (archives)
May 02, 2015
1.565
matrix-project (version:1.4)
ci-game (version:1.16, optional)
mailer (version:1.7)
analysis-core (version:1.0, optional)
Source Code
Issue Tracking
Pull Requests
Maintainer(s)
GitHub
Open Issues
Pull Requests
Christoph Kutzinski (id: kutzi)
Kohsuke Kawaguchi (id: kohsuke)
Usage Installations 2014-May 5322
2014-Jun 5280
2014-Jul 5476
2014-Aug 5467
2014-Sep 5577
2014-Oct 5623
2014-Nov 5574
2014-Dec 5465
2015-Jan 5583
2015-Feb 5545
2015-Mar 5753
2015-Apr 5620

This plugin provides generic support for build notifications and a 'bot' via instant messaging protocols. This plugin itself is of no use for end users. Please use one of the derived plugins like the Jabber or the IRC plugin!

Plugins that Use Instant Messaging Plugin

Page: GCM Notification Plugin — Sends build notifications to Android devices using the Google Cloud Messaging service.
Page: IRC Plugin — This plugin enables Jenkins to send build notífications via IRC and lets you interact with Jenkins via an IRC bot. Note that you also need to install the instant-messaging plugin .
Page: Jabber Plugin — Integrates Jenkins with the Jabber/XMPP instant messaging protocol. Note that you also need to install the instant-messaging plugin.
Page: MyPeople Plugin
Page: Skype Plugin — Integrates Jenkins with Skype for instant messaging. Requires extra manual installation steps!!!

Features

Build Notifications

You can configure per job to get notifications for finished or started builds (optional). Notifications can be send to chatrooms or individual users (aka. private messages in IRC).

You can choose from a number of strategies for which build outcomes notification will be send:

  • all
  • failure - notifications for failed and unstable builds
  • failure and fixed - notifications for failed, unstable builds and the first fixed build after that
  • change - sends notification every time the build outcome changes (e.g. from stable to unstable)

Notify culprits and fixers

If your job is build from a SCM,  you can choose to notify:

  • users who broke the build i.e. commiters to the first failed or unstable build
  • culprits from a previous build i.e. commiters to a previous failed/unstable build and the current build is still failing/unstable
  • fixers i.e. commiters to the first stable build after a failed/unstable build
  • upstream committers: see below
Notifying upstream committers

For this feature to work you need to fingerprint your build artifacts. For Maven jobs this should work out-of-the-box. For other job types see the Blame Upstream Committers plugin for how to configure it (haven't tried it myself yet, though)

The following happens if this option is enabled:

If a build fails and there are no committers to the job itself the IM plugin looks for committers to upstream builds. If there are any, all of them are notified. If there are no committers to the immediate upstream builds, the plugin looks one level higher and notifies possible committers there. And so on, if needed.

Manage jobs via a 'bot'

You can control various features of jobs via a bot. To do so you can send commands to it within a chatroom (or as private messages).

To execute a command send the command and its parameters send it to the bot in chatroom (or as a private message) and prefix it with the command prefix which is configured in the global configuration.

For example to schedule a build for the My project job if the prefix is ! send:

!build 'My project'

Most commands can be invoked on a single job, all jobs in a view or all configured jobs. Notable commands are:

  • status: displays the status of the build i.e. last build result and last successful build
  • health: displays the build health as computed from the last build results, test results, (compiler warnings, findbugs warnings, ...)
  • build: schedules a new build of a job
  • abort: aborts a currently running build
  • help: gets a list of all available commands

Issues/Gotchas

  • This plugin serializes all builds for a job which is configured with the Execute concurrent builds option. Means: build n will never finish before build n+1. Build n+1 will always wait until n finishes - even if n+1 would have finished long before n. This is required because the plugin needs to determine the build result trend  (e.g. for FIXED, STILL FAILING, STILL UNSTABLE) for the notifications.

Changelog

Version 1.34 (2015-03-14)

  • Require Java 7. From this version on Java 7 is required to run the plugin. This is in line with Jenkins requiring Java 7 in newer versions, too.
  • Fixed: plugin prevents proper shutdown of Jenkins (issue #27359)

Version 1.30 (August 30th, 2014)

  • Fixed incompability with Jenkins 1.577+

Version 1.29 (June 8th, 2014)

  • Fix spurious NPE if previous build is still running (issue #23315)

Version 1.28 (October 17th 2013)

  • Links to failed tests need to be URL encoded (issue #19944)

Version 1.26 (August, 10th 2013)

  • Added support to address jobs by display name in bot commands (issue #17565)
  • Support default values of parameters (issue #19140)
  • Support all 'simple' parameter types (boolean, string password, run, ...)

Version 1.25 (January, 1st 2013)

  • Added missing permission checks for abort and comment bot commands (issue #16232)

Version 1.23, 1.24

No user visible changes.

Version 1.22

  • Fixed an incompatibility between Jabber and IRC plugin (issue #10589)
  • Store passwords scrambled in config files to prevent accidental exposure (issue #13607)

Version 1.21

  • Support authentication in Jenkins with non-password credentials issue #11562
  • New configuration option to disable all commands for the bot in chat rooms issue #11606

Version 1.20

Version 1.19

  • fixed: number of notifications for Matrix jobs doesn't work issue #8923

Version 1.18

  • new chat notifier to print summary + build parameters
  • other minor changes

Version 1.17

  • Fixed: permissions didn't apply for the build and userstat bot commands issue #9694

Version 1.16

  • added new bot command to show the currently building jobs issue #9560

Version 1.15

  • added option to configure the number of notifications for Matrix jobs: only for parent, only for configurations, both issue #8923

Version 1.14

  • improvement: don't send 'oh no, you've broken ...' notifications for builds which have improved from FAILURE to UNSTABLE issue #9942
  • improved notification of upstream committers - i.e. notifies all upstream committers since the previous successful build
  • fixed other minor issues

Version 1.13

  • fixed: NoSuchMethodError when running with newer Hudson versions (>= 1.343) JENKINS-8113

Version 1.12

  • fixed: NoSuchMethodError when running with newer Hudson versions (>> 1.327) JENKINS-8113 (didn't work)

Versions 1.11

  • new feature: new chat notifier which prints the failing tests, too JENKINS-7035

Version 1.10

  • improvement: bot commands are now extensible and open for other plugins (see class BotCommand).
  • improvement: added an extension point to customize the message the bot sends to chats for notification (see class BuildToChatNotifier).

Version 1.9

  • fixed: disconnects (and no reconnects) when changing the global config (issue #6993)
  • improved behaviour when plugin is disabled. I.e. doesn't log unnecessary stuff.
  • fixed: plugins configure option not visible JENKINS-5978 JENKINS-5233

Version 1.8

  • fixed: notify upstream commiter would have notified committers of 'old' builds (JENKINS-6712 )
  • improvement: print useful project names for matrix jobs (JENKINS-6560 )
  • fixed: don't delay Hudson startup (JENKINS-4346 )
  • feature: userstat command for bot (JENKINS-6147 )
  • fixed: don't count offline computer for the executors count (JENKINS-6387 )

Version 1.7

  • allow to pass build parameters with the build command (JENKINS-5058 )

Version 1.5

  • internal restructuring to support password-protected chatrooms in ircbot

Version 1.4

Labels

Edit
plugin-notifier plugin-notifier Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Add Comment