Add support in Review Board for service integrations.

Review Request #7949 — Created Feb. 7, 2016 and submitted

Information

Review Board
release-2.6.x

Reviewers

This makes use of the new Djblets Integrations framework, allowing
extensions to register service integrations for Review Board. These
integrations work sort of like extensions, in that they can listen for
events and act upon them, but are primarily designed to interact with
third-party services.

Integrations can contain any number of admin-provided configurations.
This would allow, for example, a Slack integration to post notifications
about review requests to different Slack channels or even teams,
depending on the review groups or repositories.

Modified the Slack extension to use integrations, and configured it
for a couple different channels. Saw that it posted to both channels
when updating review requests.

Checked that the styles for the pages were correct.


Description From Last Updated

'django_reset' imported but unused

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot

'PIPELINE_CSS' imported but unused

reviewbotreviewbot

'PIPELINE_JS' imported but unused

reviewbotreviewbot

'django_reset' imported but unused

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot

'PIPELINE_CSS' imported but unused

reviewbotreviewbot

'PIPELINE_JS' imported but unused

reviewbotreviewbot

Given that this is in Review Board, can we make the language about "any supporting application" more specific?

daviddavid

Docstring?

daviddavid

'django_reset' imported but unused

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot

'PIPELINE_JS' imported but unused

reviewbotreviewbot

'PIPELINE_CSS' imported but unused

reviewbotreviewbot

'django_reset' imported but unused

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/integrations/base.py
        reviewboard/integrations/urls.py
        reviewboard/settings.py
        reviewboard/integrations/forms.py
        reviewboard/extensions/hooks.py
        reviewboard/staticbundles.py
        reviewboard/integrations/models.py
        reviewboard/integrations/__init__.py
        reviewboard/admin/urls.py
        reviewboard/integrations/views.py
    
    Ignored Files:
        reviewboard/static/rb/css/pages/admin-integrations.less
        reviewboard/static/rb/css/pages/admin.less
        reviewboard/templates/admin/base_site.html
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/integrations/base.py
        reviewboard/integrations/urls.py
        reviewboard/settings.py
        reviewboard/integrations/forms.py
        reviewboard/extensions/hooks.py
        reviewboard/staticbundles.py
        reviewboard/integrations/models.py
        reviewboard/integrations/__init__.py
        reviewboard/admin/urls.py
        reviewboard/integrations/views.py
    
    Ignored Files:
        reviewboard/static/rb/css/pages/admin-integrations.less
        reviewboard/static/rb/css/pages/admin.less
        reviewboard/templates/admin/base_site.html
    
    
  2. reviewboard/settings.py (Diff revision 1)
     
     
    Show all issues
     'django_reset' imported but unused
    
  3. reviewboard/settings.py (Diff revision 1)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  4. reviewboard/settings.py (Diff revision 1)
     
     
    Show all issues
     'PIPELINE_CSS' imported but unused
    
  5. reviewboard/settings.py (Diff revision 1)
     
     
    Show all issues
     'PIPELINE_JS' imported but unused
    
  6. 
      
chipx86
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/integrations/base.py
        reviewboard/integrations/urls.py
        reviewboard/settings.py
        reviewboard/integrations/forms.py
        reviewboard/integrations/models.py
        reviewboard/staticbundles.py
        reviewboard/extensions/hooks.py
        reviewboard/integrations/__init__.py
        reviewboard/admin/urls.py
        reviewboard/integrations/views.py
        docs/manual/conf.py
    
    Ignored Files:
        reviewboard/static/rb/css/pages/admin.less
        docs/manual/extending/coderef/index.rst
        reviewboard/static/rb/css/pages/admin-integrations.less
        reviewboard/templates/admin/base_site.html
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/integrations/base.py
        reviewboard/integrations/urls.py
        reviewboard/settings.py
        reviewboard/integrations/forms.py
        reviewboard/integrations/models.py
        reviewboard/staticbundles.py
        reviewboard/extensions/hooks.py
        reviewboard/integrations/__init__.py
        reviewboard/admin/urls.py
        reviewboard/integrations/views.py
        docs/manual/conf.py
    
    Ignored Files:
        reviewboard/static/rb/css/pages/admin.less
        docs/manual/extending/coderef/index.rst
        reviewboard/static/rb/css/pages/admin-integrations.less
        reviewboard/templates/admin/base_site.html
    
    
  2. reviewboard/settings.py (Diff revision 2)
     
     
    Show all issues
     'django_reset' imported but unused
    
  3. reviewboard/settings.py (Diff revision 2)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  4. reviewboard/settings.py (Diff revision 2)
     
     
    Show all issues
     'PIPELINE_CSS' imported but unused
    
  5. reviewboard/settings.py (Diff revision 2)
     
     
    Show all issues
     'PIPELINE_JS' imported but unused
    
  6. 
      
chipx86
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/integrations/base.py
        reviewboard/integrations/urls.py
        reviewboard/settings.py
        reviewboard/integrations/forms.py
        reviewboard/integrations/models.py
        reviewboard/staticbundles.py
        reviewboard/extensions/hooks.py
        reviewboard/integrations/__init__.py
        reviewboard/admin/urls.py
        reviewboard/integrations/views.py
        docs/manual/conf.py
    
    Ignored Files:
        reviewboard/static/rb/css/pages/admin.less
        docs/manual/extending/coderef/index.rst
        reviewboard/static/rb/css/pages/admin-integrations.less
        reviewboard/templates/admin/base_site.html
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/integrations/base.py
        reviewboard/integrations/urls.py
        reviewboard/settings.py
        reviewboard/integrations/forms.py
        reviewboard/integrations/models.py
        reviewboard/staticbundles.py
        reviewboard/extensions/hooks.py
        reviewboard/integrations/__init__.py
        reviewboard/admin/urls.py
        reviewboard/integrations/views.py
        docs/manual/conf.py
    
    Ignored Files:
        reviewboard/static/rb/css/pages/admin.less
        docs/manual/extending/coderef/index.rst
        reviewboard/static/rb/css/pages/admin-integrations.less
        reviewboard/templates/admin/base_site.html
    
    
  2. reviewboard/settings.py (Diff revision 3)
     
     
    Show all issues
     'django_reset' imported but unused
    
  3. reviewboard/settings.py (Diff revision 3)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  4. reviewboard/settings.py (Diff revision 3)
     
     
    Show all issues
     'PIPELINE_JS' imported but unused
    
  5. reviewboard/settings.py (Diff revision 3)
     
     
    Show all issues
     'PIPELINE_CSS' imported but unused
    
  6. 
      
david
  1. 
      
  2. reviewboard/extensions/hooks.py (Diff revision 3)
     
     
     
    Show all issues

    Given that this is in Review Board, can we make the language about "any supporting application" more specific?

  3. reviewboard/integrations/views.py (Diff revision 3)
     
     
    Show all issues

    Docstring?

  4. 
      
chipx86
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/integrations/base.py
        reviewboard/integrations/urls.py
        reviewboard/settings.py
        reviewboard/integrations/forms.py
        reviewboard/integrations/models.py
        reviewboard/staticbundles.py
        reviewboard/extensions/hooks.py
        reviewboard/integrations/__init__.py
        reviewboard/admin/urls.py
        reviewboard/integrations/views.py
        docs/manual/conf.py
    
    Ignored Files:
        reviewboard/static/rb/css/pages/admin.less
        docs/manual/extending/coderef/index.rst
        reviewboard/static/rb/css/pages/admin-integrations.less
        reviewboard/templates/admin/base_site.html
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/integrations/base.py
        reviewboard/integrations/urls.py
        reviewboard/settings.py
        reviewboard/integrations/forms.py
        reviewboard/integrations/models.py
        reviewboard/staticbundles.py
        reviewboard/extensions/hooks.py
        reviewboard/integrations/__init__.py
        reviewboard/admin/urls.py
        reviewboard/integrations/views.py
        docs/manual/conf.py
    
    Ignored Files:
        reviewboard/static/rb/css/pages/admin.less
        docs/manual/extending/coderef/index.rst
        reviewboard/static/rb/css/pages/admin-integrations.less
        reviewboard/templates/admin/base_site.html
    
    
  2. reviewboard/settings.py (Diff revision 4)
     
     
    Show all issues
     'django_reset' imported but unused
    
  3. reviewboard/settings.py (Diff revision 4)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  4. 
      
david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-3.0.x (7deb822)