-
-
Notifications
You must be signed in to change notification settings - Fork 959
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Web Hooks #7604
Comments
This issue has been added to the backlog. It is not scheduled on the Weblate roadmap, but it eventually might be implemented. In case you need this feature soon, please consider helping or push it by funding the development. |
Things to decide before we start implementing this:
There is also https://github.com/WeblateOrg/fedora_messaging/ which is slightly related (it allows notification of Weblate events to external systems). |
discussion dump
|
Moving ahead on issue. 🤞
|
#9937 made me think again about this. Maybe we don't really need a separate model for integrations, but use add-ons as base for implementing webhooks and others because it would be beneficial to have add-ons at project level as well. In the end the major difference between add-ons and integrations would be that add-ons have hard-coded list of events, while it is possible to customize this with integrations. Also, add-ons are currently called synchronously (unless implemented in the add-on itself), while we want webhooks to be done asynchronously. But I don't see why integration could not be a BaseAddon subclass implementing the differences. There is even an existing (simple) implementation for this at https://github.com/porscheinformatik/weblate-addon-webhook. Can you please write down the pros and cons for both approaches? |
Good thought, I worked on this and follows the overview of pros and cons What is expected functionality?
Path 1
Path 2
Let me know what you think and if I missed something. @nijel |
Thanks for writing this down. I think using add-ons here is the way to go as that will make it more straightforward to configure it in a single place. Otherwise, there would be a lot of duplication between integrations and add-ons. The good thing here is that it can be separated into independent steps: For the actual webhook add-on I think we need the following:
Does that make sense? |
Sounds good to me. I am following the issues step wise and then will add the web hook part. Will ask more in the specific issues. |
There is really no ordering in those issues, they can be implemented independently. |
Thank you for working on this (I can see your recent PR for #10051, #10052 and #10053). Also with regard to #10054, there is a proposed activity in Fedora to develop a gateway from webhooks to Fedora Messaging (webhook2fedmsg): Do you think there is a room for some collaboration or coordination between you and Fedora, I guess this May (maybe sooner) to August? I would like to see 'weblate fedora messaging' to be an 'external service pilot' of the webhook@fedmsg, considering this matter is open on both sides for several years. |
Even if Fedora goes the webhook2fedmsg way, we will still aim to integrate Fedora messaging stuff as described in #10054 as there are users for that outside Fedora (AFAIR they use it as generic AMQP publisher). Anyway, we're always open to collaborating. |
Michal Čihař píše v St 13. 03. 2024 v 00:53 -0700:
Even if Fedora goes the webhook2fedmsg way, we will still
aim to integrate Fedora messaging stuff as described in
#10054 as there are users for that outside Fedora
Ok, fine. I am looking forward to it.
(AFAIR they use it as generic AMQP publisher).
Yes, as far as I understand it correctly.
Anyway, we're always open to collaborating.
We always did appreciate it. :)
Thank you for your reply.
… —
Reply to this email directly, view it on GitHub, or
unsubscribe.
You are receiving this because you commented.Message ID:
***@***.***>
|
Describe the problem
The issue that I've encountered is due to the complexity of systems that integrates with the Weblate through the REST API. Right now we need to go through every single translation in the project to sync with the external system.
Describe the solution you'd like
The solution could be the implementation of WebHooks. Every hook could have a type which could be something like "Translation Added", "Translation Approved", "Suggestion Added", "Suggestions Accepted", etc. On every hook type, Weblate could call a configured endpoint with a specific payload of the change.
In addition to that, there could be a configurable retry mechanism and request batching.
The text was updated successfully, but these errors were encountered: