tcWebHooks is a TeamCity plugin which sends webhook HTTP POST requests to a destination of your choice. WebHook POSTs for events are a great way to use an event driven architecture to get updates in other systems, rather than polling teamcity for build state changes.
Typical use cases include:
- Posting messages to chat systems
- Informing systems of events that should trigger an action. eg, deployment, packaging, etc
- Controlling hardware like a lava lamp, build bunny, etc.
- Anything else that would like to know about an event, rather than having to poll.
- WebUI for creating webhooks
- A customizable webhook body via various different means (templates, build properties, custom parameters)
- Can be triggered from many different events in the build lifecycle
- WebHook Templates, for specification of a payload format once and re-use across multiple webhook configurations
- A set of templates for common services. Eg, Slack and MatterMost, Flowdock, ElasticSearch
- A standard list of variables which can be used for assembling a custom payload (eg,
${buildStatusUrl}
), as well as access to the TeamCity build properties (eg,${teamcity.agent.jvm.os.name}
). - Basic Auth and Bearer Token Authentication
- Support for using a proxy for outbound requests.
- Regular Expression Filter support , which allows conditionally controlling an event based on text in the webhook properties
- A REST API for creating/modifying webhook templates (with a plan to support creating/editing webhooks in the future)
- Custom Headers for when your endpoint just expects something specific in a header
- Import and export of webhook templates for sharing via REST API
- Control of HTTP timeouts
The wiki is a good first point of call for help with getting started, and configuring tcWebHooks. If you find a bug or believe there is a missing feature, please create an issue on Github. For questions and discussions, there is also a Gitter chat setup. Please bear in mind that I also have a full time job, a wife and kids, and am probably not in your timezone. Hopefully over time we'll build up a group of people that can help if I'm not online.
Documentation | Bug and Feature Requests | Chat/Discussion |
---|---|---|
tcWebHooks Wiki | tcWebHooks Issues | tcWebHooks on Gitter |