RBGateway -Preliminary architecture for supporting webhooks

Review Request #8112 — Created April 10, 2016 and discarded

Information

rb-gateway
master

Reviewers

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/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

events_test.go
Test get receivers
Test send
Test subscribe/unsubscribe

Description From Last Updated

This won't compile with an extraneous import.

brenniebrennie

"check" Comments should be proper sentences.

brenniebrennie

These comments should be below, on the items.

brenniebrennie
reviewbot
  1. Tool: Pyflakes
    Ignored Files:
        git_events.go
        webhook_events.go
        webhook.go
    
    
    
    Tool: PEP8 Style Checker
    Ignored Files:
        git_events.go
        webhook_events.go
        webhook.go
    
    
  2. 
      
AQ
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
brennie
  1. 
      
  2. rb-gateway_events.go (Diff revision 2)
     
     
    Show all issues

    This won't compile with an extraneous import.

  3. routes.go (Diff revision 2)
     
     
    Show all issues

    "check"

    Comments should be proper sentences.

  4. webhook.go (Diff revision 2)
     
     
     
     
     
     
    Show all issues

    These comments should be below, on the items.

  5. 
      
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
AQ
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
reviewbot
  1. 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
    
    
  2. 
      
AQ
reviewbot
  1. 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
    
    
  2. 
      
david
Review request changed
Status:
Discarded