RBGateway -Preliminary architecture for supporting webhooks
Review Request #8112 — Created April 10, 2016 and discarded
Preliminary architecture for supporting webhooks
New webhook.go - defines the structure and interface for a webhook. Almost a carbon copy of webhook spec from here but with some getters and setters.
New events.go - a combinations of reviewboard's reviewboard.reviews.signals and django's django.dispatch.signal, it defines a global of all the events that rb-gateway supports.
routes.go - added 2 new api routes. 1 for registering a new webhook and 1 for accessing/editing webhooks.
config.json - supports new config keys for defining webhooks
util.go - added new functions for creating webhooks and editing them
None yet but what is planned:
webhook_test.go
Test notify in webhook
Test get json in webhook
Test getters/settersutil_test.go
Test webhook/event/repo portion of TestLoadConfig in util_test.go
Test register webhook in util
Test delete webhook in util
Test save webhook in util
Test refresh config in utilevents_test.go
Test get receivers
Test send
Test subscribe/unsubscribe
- Groups:
-
Tool: Pyflakes Ignored Files: rb-gateway_events.go webhook_events.go webhook.go routes.go Tool: PEP8 Style Checker Ignored Files: rb-gateway_events.go webhook_events.go webhook.go routes.go
- Description:
-
Preliminary architecture for supporting webhooks
+ + webhook.go - defines the basic structure and functionality for a webhook. Almost a carbon copy of webhook spec from here.
+ + webhook_events.go - similar to django's django.dispatch.signal, it defines a signal that can generate events in rb-gateway. The info for these events is sent to interested parties
+ + rb-gateway_events.go - similar to reviewboard's reviewboard.reviews.signals, it defines a global of all the events that rb-gateway supports.
+ + routes.go - added 4 new api routes. 2 for registering/deregistering webhooks and 2 for enabling/disabling webhooks.
+ + config.json - supports new config keys for configuring new webhooks and enabling webhooks
+ + util.go - add new functions for parsing the config file
-
Tool: Pyflakes Ignored Files: rb-gateway_events.go webhook_events.go webhook.go routes.go Tool: PEP8 Style Checker Ignored Files: rb-gateway_events.go webhook_events.go webhook.go routes.go
-
Tool: Pyflakes Ignored Files: rb-gateway_events.go webhook_events.go webhook.go routes.go Tool: PEP8 Style Checker Ignored Files: rb-gateway_events.go webhook_events.go webhook.go routes.go
-
Tool: PEP8 Style Checker Ignored Files: rb-gateway_events.go webhook.go util.go routes.go Tool: Pyflakes Ignored Files: rb-gateway_events.go webhook.go util.go routes.go
-
Tool: PEP8 Style Checker Ignored Files: rb-gateway_events.go webhook.go util.go routes.go Tool: Pyflakes Ignored Files: rb-gateway_events.go webhook.go util.go routes.go
- Description:
-
Preliminary architecture for supporting webhooks
~ webhook.go - defines the basic structure and functionality for a webhook. Almost a carbon copy of webhook spec from here.
~ webhook.go - defines the structure and interface for a webhook. Almost a carbon copy of webhook spec from here but with some getters and setters.
~ webhook_events.go - similar to django's django.dispatch.signal, it defines a signal that can generate events in rb-gateway. The info for these events is sent to interested parties
~ rb-gateway_events.go - a combinations of reviewboard's reviewboard.reviews.signals and django's django.dispatch.signal, it defines a global of all the events that rb-gateway supports and the signals that trigger them.
~ rb-gateway_events.go - similar to reviewboard's reviewboard.reviews.signals, it defines a global of all the events that rb-gateway supports.
~ routes.go - added 2 new api routes. 1 for registering a new webhook and 1 for accessing/editing webhooks.
~ routes.go - added 4 new api routes. 2 for registering/deregistering webhooks and 2 for enabling/disabling webhooks.
~ config.json - supports new config keys for defining webhooks
~ config.json - supports new config keys for configuring new webhooks and enabling webhooks
~ util.go - added new functions for creating webhooks and editing them
- - util.go - add new functions for parsing the config file
- Diff:
-
Revision 7 (+385 -6)
-
Tool: PEP8 Style Checker Ignored Files: rb-gateway_events.go webhook.go util.go routes.go Tool: Pyflakes Ignored Files: rb-gateway_events.go webhook.go util.go routes.go
-
Tool: PEP8 Style Checker Ignored Files: rb-gateway_events.go webhook.go util.go routes.go Tool: Pyflakes Ignored Files: rb-gateway_events.go webhook.go util.go routes.go
- Description:
-
Preliminary architecture for supporting webhooks
~ webhook.go - defines the structure and interface for a webhook. Almost a carbon copy of webhook spec from here but with some getters and setters.
~ New webhook.go - defines the structure and interface for a webhook. Almost a carbon copy of webhook spec from here but with some getters and setters.
~ rb-gateway_events.go - a combinations of reviewboard's reviewboard.reviews.signals and django's django.dispatch.signal, it defines a global of all the events that rb-gateway supports and the signals that trigger them.
~ New rb-gateway_events.go - a combinations of reviewboard's reviewboard.reviews.signals and django's django.dispatch.signal, it defines a global of all the events that rb-gateway supports and the signals that trigger them.
routes.go - added 2 new api routes. 1 for registering a new webhook and 1 for accessing/editing webhooks.
config.json - supports new config keys for defining webhooks
util.go - added new functions for creating webhooks and editing them
-
Tool: Pyflakes Ignored Files: rb-gateway_events.go webhook.go util.go routes.go Tool: PEP8 Style Checker Ignored Files: rb-gateway_events.go webhook.go util.go routes.go
-
Tool: PEP8 Style Checker Ignored Files: rb-gateway_events.go main.go util.go webhook.go routes.go Tool: Pyflakes Ignored Files: rb-gateway_events.go main.go util.go webhook.go routes.go
-
Tool: PEP8 Style Checker Ignored Files: rb-gateway_events.go main.go util.go webhook.go routes.go Tool: Pyflakes Ignored Files: rb-gateway_events.go main.go util.go webhook.go routes.go
-
Tool: PEP8 Style Checker Ignored Files: rb-gateway_events.go main.go util.go webhook.go routes.go Tool: Pyflakes Ignored Files: rb-gateway_events.go main.go util.go webhook.go routes.go
-
Tool: Pyflakes Ignored Files: rb-gateway_events.go main.go util.go webhook.go routes.go Tool: PEP8 Style Checker Ignored Files: rb-gateway_events.go main.go util.go webhook.go routes.go
-
Tool: PEP8 Style Checker Ignored Files: rb-gateway_events.go main.go util.go webhook.go routes.go Tool: Pyflakes Ignored Files: rb-gateway_events.go main.go util.go webhook.go routes.go
- Description:
-
Preliminary architecture for supporting webhooks
New webhook.go - defines the structure and interface for a webhook. Almost a carbon copy of webhook spec from here but with some getters and setters.
~ New rb-gateway_events.go - a combinations of reviewboard's reviewboard.reviews.signals and django's django.dispatch.signal, it defines a global of all the events that rb-gateway supports and the signals that trigger them.
~ New rb-gateway_events.go - a combinations of reviewboard's reviewboard.reviews.signals and django's django.dispatch.signal, it defines a global of all the events that rb-gateway supports.
routes.go - added 2 new api routes. 1 for registering a new webhook and 1 for accessing/editing webhooks.
config.json - supports new config keys for defining webhooks
util.go - added new functions for creating webhooks and editing them
- Diff:
-
Revision 15 (+506 -19)
-
Tool: PEP8 Style Checker Ignored Files: rb-gateway_events.go main.go util.go webhook.go routes.go Tool: Pyflakes Ignored Files: rb-gateway_events.go main.go util.go webhook.go routes.go
-
Tool: PEP8 Style Checker Ignored Files: rb-gateway_events.go main.go util.go webhook.go routes.go Tool: Pyflakes Ignored Files: rb-gateway_events.go main.go util.go webhook.go routes.go
-
Tool: Pyflakes Ignored Files: rb-gateway_events.go webhook.go util.go routes.go Tool: PEP8 Style Checker Ignored Files: rb-gateway_events.go webhook.go util.go routes.go
- Description:
-
Preliminary architecture for supporting webhooks
New webhook.go - defines the structure and interface for a webhook. Almost a carbon copy of webhook spec from here but with some getters and setters.
~ New rb-gateway_events.go - a combinations of reviewboard's reviewboard.reviews.signals and django's django.dispatch.signal, it defines a global of all the events that rb-gateway supports.
~ New events.go - a combinations of reviewboard's reviewboard.reviews.signals and django's django.dispatch.signal, it defines a global of all the events that rb-gateway supports.
routes.go - added 2 new api routes. 1 for registering a new webhook and 1 for accessing/editing webhooks.
config.json - supports new config keys for defining webhooks
util.go - added new functions for creating webhooks and editing them
- Testing Done:
-
+ None yet but what is planned:
+ + webhook_test.go
+ Test notify in webhook + Test get json in webhook + Test getters/setters + + util_test.go
+ Test webhook/event/repo portion of TestLoadConfig in util_test.go + Test register webhook in util + Test delete webhook in util + Test save webhook in util + Test refresh config in util + + event_test.go
+ Test get receivers + Test send + Test subscribe/unsubscribe - Diff:
-
Revision 18 (+639 -19)
-
Tool: PEP8 Style Checker Ignored Files: events.go webhook.go util.go routes.go Tool: Pyflakes Ignored Files: events.go webhook.go util.go routes.go
- Testing Done:
-
None yet but what is planned:
webhook_test.go
Test notify in webhook Test get json in webhook Test getters/setters util_test.go
Test webhook/event/repo portion of TestLoadConfig in util_test.go Test register webhook in util Test delete webhook in util Test save webhook in util Test refresh config in util ~ event_test.go
~ events_test.go
Test get receivers Test send Test subscribe/unsubscribe - Diff:
-
Revision 19 (+831 -53)
-
Tool: PEP8 Style Checker Ignored Files: webhook_test.go webhook.go sample_config.json events.go util_test.go events_test.go routes.go routes_test.go util.go git_repository_test.go Tool: Pyflakes Ignored Files: webhook_test.go webhook.go sample_config.json events.go util_test.go events_test.go routes.go routes_test.go util.go git_repository_test.go
-
Tool: PEP8 Style Checker Ignored Files: webhook_test.go webhook.go git_repository.go sample_config.json events.go repository.go util_test.go events_test.go routes.go routes_test.go util.go git_repository_test.go Tool: Pyflakes Ignored Files: webhook_test.go webhook.go git_repository.go sample_config.json events.go repository.go util_test.go events_test.go routes.go routes_test.go util.go git_repository_test.go