Feature #29664
open
Webhook triggers in Redmine
0%
Description
To have Redmine be able to at least use POST method with web hooks upon multiple events, similarly implemented in GitLab or GitHub. This will allow to integrate Redmine into other networks, which people may use for team communication.
Trigger event examples:- On Issue Created
- On New Repository Commit
- On Forum Post
- On Wiki page edit
- On Wiki page created
- On New Document added
- On New activity
- On News posted
etc
To make it better than GitLab, you can even allow users to input custom JSON subscribe headers and subscribe body in order to make it compatible with any web hook format, else some services might have parsing problems and result in a rejected request.
Files
Related issues
Updated by Anonymous over 6 years ago
The only related feature I found: https://www.redmine.org/issues/23368 but is closed
Updated by Go MAEDA about 6 years ago
- Related to Feature #23368: webook/push notifications added
Updated by Go MAEDA about 6 years ago
- Has duplicate Feature #3971: Add new notification abitily. added
Updated by George Chester over 4 years ago
This would be really nice. I'm trying to join in Camunda BPM into a ticket so a ticket can be assigned a proecess. Webhooks would be wonderful.
Anyone got ideas?
Updated by Ferdinand S about 3 years ago
I would also benefit form this feature greatly. We use Shortcut (shortcut.com) as a Scrum tool and it would be great if we could consume Redmine webhooks in order to update user stories in Shortcut.
Is there any plan for this feature?
Updated by Jens Krämer about 21 hours ago
The attached patch implements web hook support - to call / notify external services when something happens in Redmine.
While this patch just implements the issue create / update / delete events, it was built to be easily extended for lifecycle events of other entities.
Web hooks are defined at the user level, and always run in this users' context, regardless of who triggered the actual event. Events on issues a user cannot see will not trigger this users' configured hooks. The hook payload is JSON and has type
(event), timestamp
and data
(the object involved) top level elements, using the existing issues/show
API template for consistency to render the issue data inside data
.
Each hook is defined for a list of events and projects. Whenever one of the events occurs in one of the projects, a POST request is sent to the configured URL with a payload depending on the event. Webhook signing with a pre-configured secret is implemented using the same algorithm GitHub uses .
This feature was developed and is in production use at Planio .
We'd very much like this to be integrated into Redmine, since it is really powerful when combined with platforms like Zapier or IFTTT. Zapier for example allows to define transformations (using Javascript) to change the JSON payload before triggering an action on another service and can therefore work as an adapter between Redmine and another service, even if the original payload format is not what the other service expects.
Updated by Go MAEDA about 19 hours ago
Thank you for sharing this great patch developed at Planio! I believe it would be a very valuable improvement to Redmine.
I have just one concern: currently, it seems that any user can create webhooks.
Since webhooks automatically send data to external services, some administrators might want to restrict or even disable their use for security or data protection reasons.
To support such requirements, I think it would be helpful to have permission settings to control who can create or use webhooks.