A Puppet report handler for sending notifications of Puppet runs to HipChat.
hipchat >= 0.12.0
NOTE FOR OPEN SOURCE PUPPET 3 USERS: The Hipchat gem requires
ruby >= 1.9.3 this
does not apply to Puppet Enterprise and AIO / Puppet4 installations which provide
their own ruby installation > 1.9.3
hipchatgem on your Puppet master
$ sudo gem install hipchat
NOTE FOR PUPPET ENTERPRISE USERS: You must install the
hipchat gem using the
puppet-bundled gem library:
$ /opt/puppet/bin/gem install hipchat
NOTE FOR AIO package 2.0.0+ USERS: You must install the
hipchat gem using the
puppetserver gem utility:
$ /opt/puppetlabs/bin/puppetserver gem install hipchat
Install puppet-hipchat as a module in your Puppet master's module path.
Create a HipChat API key here with a type of Admin. Record the API key that is generated.
Alternitively if you are using an on premise hipchat installation, generate an integration key.
hipchat_roomvariables in the
hipchat.yamlfile with your Hipchat connection details and copy the file to
/etc/puppet/or for Puppet Enterpise and AIO 2.0.0+
If you are using an on premise hipchat installation, also update
hipchat_serverwith the url to the hipchat server.
Enable pluginsync and reports on your master and clients in
[master] report = true reports = hipchat pluginsync = true [agent] report = true pluginsync = true
Run the Puppet client and sync the report as a plugin
An option to notify users in the room
You can also change the default notification color from yellow to red, green, purple or random.
hipchat_statusesshould be an array of statuses to send notifications for and defaults to
'all'to receive notifications from all Puppet runs.
In order to send notifications through proxy server set
hipchat_proxyto your HTTP proxy URL using this format:
If you use Puppetboard set
hipchat_puppetboardto the base URL of your Puppetboard installation, e.g.
'http://puppetboard.example.com'and a link to the node's latest report will be send with the message to HipChat. An example file is included.
NOTE FOR PUPPETBOARD 0.1.2+ USERS: if you are using environments other than production you will need to either configure puppetboard default environment to * or set
hipchat_serverto append /%2A, ex:
:hipchat_server: http://hipchat.test.local/%2Aotherwise you will receive a not found error for nodes in environments which are not production.
To temporarily disable HipChat notifications add a file named
hipchat_disabledin the same path as
hipchat.yaml. Removing it will re-enable notifications.
$ touch /etc/puppet/hipchat_disabled
Modern hipchat installations may not support the default v1 api set
hipchat_api_versionto v2 for modern api support.
Maintainer: James Powis
Original author: James Turnbull firstname.lastname@example.org
Author:: James Turnbull (<email@example.com>) Copyright:: Copyright (c) 2011 James Turnbull License:: Apache License, Version 2.0 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.