Skip to main content

Mercurial hook to report incoming changesets to Campfire chatroom

Project description

hgcampfire

hgcampfire provides a Mercurial hook to notify a Campfire chatroom about changesets coming in to a repository.

Usage

Add the following to your Mercurial config (in a system, user, or repo-level hgrc file), replacing the API key, URL, and room ID:

[campfire]
api_key = CAMPFIRE_AUTH_TOKEN_FOR_THE_USER_NOTIFICATIONS_WILL_COME_FROM
url = https://myorg.campfirenow.com
room = 123456

[hooks]
changegroup.campfire = python:hgcampfire.notify

These configs can of course be separated into different hgrc files, for instance if you want to specify the Campfire data user-wide, but apply the actual hook only to certain repositories.

Customization

You can modify the template hgcampfire uses for its notification by setting the template config value in the [campfire] section. The default value is {user} pushed:\n{changesets}. This template has the following context available to it: root is the repository root path, user is the value of the $USER environment variable, and changesets is the list of changesets pushed.

You can also modify the template hgcampfire uses to report each changeset, by setting the cset_template config value in the [campfire] section. This should be a Mercurial changeset template, of the same form you’d pass to –template. The default value is * "{desc}" by {author}.

You can also choose to exclude certain types of changesets from the notifications. By default all commits will be included in the notification. Within the [campfire] section you can set the following properties:

only_branch=default
include_nonmerges=False
include_single_branch_merges=False
include_multi_branch_merges=False
exclude_merges_from_branch=branch_regex

The only_branch setting will only announce changesets that are on the named branch. By default it does not do any limiting on the branch name. The include_nonmerges setting will include or exclude normal non-merge changesets. The include_single_branch_merges setting will include or exclude changesets that are merges where the two parents of the merge are on the same branch. The include_multi_branch_merges setting will include or exclude changesets where the two parents of the merge are on different branches. By default all of the include_* settings are set to True. So you should only need to mention them in your configuration if you do not want that type of changeset to be displayed, in which case you should set its value to False.

The exclude_merges_from_branch option takes a regular expression and, if one is provided, will not include merges which came from a branch with a name that matches the regular expression. To be more clear, it checks if the 2nd parent of the merge commit exists on a branch whose name matches the pattern.

CHANGES

0.3.2 (2012.10.03)

  • add option to avoid announcing merges coming from a branch that matches a regular expression

0.3 (2012.03.16)

  • add controls to limit types of changesets that get announced - add option to show only changesets on a certain branch - add option to not show single branch merges - add option to not show multi branch merges - add option to not show normal non-merge changesets

0.2.3 (2010.10.25)

  • document that Campfire’s API now requires HTTPS.

0.2.2 (2010.06.10)

  • don’t let Python 2.5 and earlier raise HTTPError on 201 response code

  • list multiple changesets in most-recent-first order

0.2.1 (2010.06.08)

  • don’t force the message type to TextMessage

0.2.0 (2010.06.08)

  • initial working version.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hgcampfire-0.3.2.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

hgcampfire-0.3.2-py2.7.egg (7.2 kB view details)

Uploaded Source

File details

Details for the file hgcampfire-0.3.2.tar.gz.

File metadata

  • Download URL: hgcampfire-0.3.2.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for hgcampfire-0.3.2.tar.gz
Algorithm Hash digest
SHA256 ef877bb76f1a84cdcbcb96807d8d3256be79963e5509e6f2ddd0f857ea0f75ce
MD5 c80a156bc9bda3c5aa93eacd2473ba70
BLAKE2b-256 80192e6b1d7059d46eb15cbb3d43fb67a06abc9eef57a66414ec382e8433aaa7

See more details on using hashes here.

File details

Details for the file hgcampfire-0.3.2-py2.7.egg.

File metadata

File hashes

Hashes for hgcampfire-0.3.2-py2.7.egg
Algorithm Hash digest
SHA256 ef84548b4487c3389305ed7a798c5fd6aab7b031221045ede5083d2d8a8d8e17
MD5 097d50b7554141dc9e08b9dd74b9943f
BLAKE2b-256 093ebb9b9e9381a8332bf74bf9fe0e6b1d255a3bb48203e455b00653db683b51

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page