Skip to content

An extensible plugin for TFS that sends notifications to Slack, HipChat and IRC

License

Notifications You must be signed in to change notification settings

kria/TfsNotificationRelay

Repository files navigation

TfsNotificationRelay

TfsNotificationRelay is an extensible plugin for Team Foundation Server that sends notifications to Slack, HipChat and IRC.

Build status

Integrations

  • Slack
  • HipChat
  • IRC
  • SMTP
  • Microsoft Teams

Third-party Integrations

Features

  • Notify multiple targets
  • Rule-based event filtering
  • Regex filtering on collection, project, repository, branch etc.
  • Configurable notification format
  • Notification links back to event in TFS web
  • Extensible to support other targets

Supported Events

  • XAML Build completion
  • vNext Build completion*
  • Build quality change
  • Work item update
  • Team project creation/deletion
  • Release creation*
  • Release deployment*
  • Git
    • Push and force-push
    • Pull request*
    • Comment on Pull request*
    • Comment on Commit*
    • Repository created
    • Repository renamed/deleted*
    • Branch created/deleted
    • Tag created/deleted (both lightweight and annotated)
    • Ref updated
  • TFVC
    • Checkin
    • Comment on changeset*

*TFS 2015 only

Screenshots

Slack screenshot

HipChat screenshot

TFS version support

Since the TFS API changes quite frequently, there are multiple editions of TfsNotificationRelay. Make sure you pick the correct one for your system.

  • TfsNotificationRelay for TFS 2013 (2013.2+)
  • TfsNotificationRelay for TFS 2015 (2015.2+)
  • TfsNotificationRelay for TFS 2017
  • TfsNotificationRelay for TFS 2017.1
  • TfsNotificationRelay for TFS 2017.2

Discontinued support (last builds available in v1.16.0):

  • TfsNotificationRelay for TFS 2015 RTM
  • TfsNotificationRelay for TFS 2015.1

Download

Download from releases.

Installation & Configuration

See the wiki on how to install and configure TfsNotificationRelay.

Building

Visual Studio 2015 is required since TfsNotificationRelay uses C# 6. All needed TFS dependecies are included, so you should be able to just clone and build.

Branches

Branch Description Status
master TfsNotificationRelay for TFS 2017.2 master status
tfs2017.1 TfsNotificationRelay for TFS 2017.1 tfs2017.1 status
tfs2017 TfsNotificationRelay for TFS 2017 tfs2017 status
tfs2015 TfsNotificationRelay for TFS 2015.2+ tfs2015 status
tfs2013 TfsNotificationRelay for TFS 2013.2+ tfs2013 status

Extending TfsNotificationRelay

TfsNotificationRelay can easily be extended to send notifications to other services. Notifier modules referenced in the configuration file will be loaded dynamically at run time, so TfsNotificationRelay doesn't have to be recompiled.

  1. Start a new class library project.
  2. Add a reference to DevCore.TfsNotificationRelay.dll.
  3. Create a class that implements the single method in INotifier. Take a look at the SlackNotifier class for pointers.
  4. Build and drop in your new dll in the Plugins directory on the server.
  5. Add a new bot element in DevCore.TfsNotificationRelay.dll.config with the correct assembly-qualified type name and settings.

License

Copyright (C) 2014-2017 Kristian Adrup

TfsNotificationRelay is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See included file COPYING for details.