Add a new integration for Slack.

Review Request #8372 — Created Aug. 31, 2016 and submitted

chipx86
rbintegrations
master
6817a6b...
rbintegrations
This adds a new Review Board 3.0-compatible integration for Slack. This
is built upon the original rbslack extension, but enhances the message
sent to Slack to include additional information, such as the first file
attachment on a review request (or newest one on an update), the
description on a review request, change description on updates,
body_top/first comment text on reviews/replies, trophies, and more.

This new integration takes advantage of the new conditions support in
Review Board 3.0 to allow admins to create multiple custom Slack
configurations, meaning that one server can post to different Slack
channels or even Slack teams, depending on whatever criteria they
choose.

Unit tests were added that cover all the ways we might send a message,
ensuring we won't unexpectedly break as things evolve.

Unit tests pass.

Tested every type of message manually.

Loading file attachments...

Description From Last Updated

I know this isn't part of this patch, but there's a typo here - "serivce" -> "service".

mike_conleymike_conley

Col: 80 E501 line too long (80 > 79 characters)

reviewbotreviewbot

Docstring.

brenniebrennie

This can be a tuple.

brenniebrennie

The title should be localized.

daviddavid

The title should be localized.

daviddavid

Needs a trailing comma

daviddavid

Mark for localization?

daviddavid
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        rbintegrations/slack/tests.py
        rbintegrations/extension.py
        rbintegrations/testing/testcases.py
        rbintegrations/slack/forms.py
        rbintegrations/slack/integration.py
    
    Ignored Files:
        rbintegrations/static/images/slack/icon@2x.png
        rbintegrations/testing/__init__.py
        rbintegrations/slack/__init__.py
        rbintegrations/static/images/slack/icon.png
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        rbintegrations/slack/tests.py
        rbintegrations/extension.py
        rbintegrations/testing/testcases.py
        rbintegrations/slack/forms.py
        rbintegrations/slack/integration.py
    
    Ignored Files:
        rbintegrations/static/images/slack/icon@2x.png
        rbintegrations/testing/__init__.py
        rbintegrations/slack/__init__.py
        rbintegrations/static/images/slack/icon.png
    
    
  2. rbintegrations/slack/tests.py (Diff revision 1)
     
     
    Col: 80
     E501 line too long (80 > 79 characters)
    
  3. 
      
mike_conley
  1. 
      
  2. rbintegrations/extension.py (Diff revision 1)
     
     

    I know this isn't part of this patch, but there's a typo here - "serivce" -> "service".

  3. 
      
chipx86
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        rbintegrations/slack/tests.py
        rbintegrations/extension.py
        rbintegrations/testing/testcases.py
        rbintegrations/slack/forms.py
        rbintegrations/slack/integration.py
    
    Ignored Files:
        rbintegrations/static/images/slack/icon@2x.png
        rbintegrations/testing/__init__.py
        rbintegrations/slack/__init__.py
        rbintegrations/static/images/slack/icon.png
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        rbintegrations/slack/tests.py
        rbintegrations/extension.py
        rbintegrations/testing/testcases.py
        rbintegrations/slack/forms.py
        rbintegrations/slack/integration.py
    
    Ignored Files:
        rbintegrations/static/images/slack/icon@2x.png
        rbintegrations/testing/__init__.py
        rbintegrations/slack/__init__.py
        rbintegrations/static/images/slack/icon.png
    
    
  2. 
      
brennie
  1. 
      
  2. rbintegrations/extension.py (Diff revision 2)
     
     

    Shouldnt this have been an add? did it get added mistakenly beforehand?

  3. rbintegrations/slack/forms.py (Diff revision 2)
     
     

    Docstring.

  4. rbintegrations/slack/integration.py (Diff revision 2)
     
     

    This can be a tuple.

  5. 
      
chipx86
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        rbintegrations/slack/tests.py
        rbintegrations/extension.py
        rbintegrations/testing/testcases.py
        rbintegrations/slack/forms.py
        rbintegrations/slack/integration.py
    
    Ignored Files:
        rbintegrations/static/images/slack/icon@2x.png
        rbintegrations/testing/__init__.py
        rbintegrations/slack/__init__.py
        rbintegrations/static/images/slack/icon.png
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        rbintegrations/slack/tests.py
        rbintegrations/extension.py
        rbintegrations/testing/testcases.py
        rbintegrations/slack/forms.py
        rbintegrations/slack/integration.py
    
    Ignored Files:
        rbintegrations/static/images/slack/icon@2x.png
        rbintegrations/testing/__init__.py
        rbintegrations/slack/__init__.py
        rbintegrations/static/images/slack/icon.png
    
    
  2. 
      
david
  1. 
      
  2. rbintegrations/slack/forms.py (Diff revision 3)
     
     

    The title should be localized.

  3. rbintegrations/slack/forms.py (Diff revision 3)
     
     

    The title should be localized.

  4. rbintegrations/slack/integration.py (Diff revision 3)
     
     

    Needs a trailing comma

  5. 
      
chipx86
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        rbintegrations/slack/tests.py
        rbintegrations/extension.py
        rbintegrations/testing/testcases.py
        rbintegrations/slack/forms.py
        rbintegrations/slack/integration.py
    
    Ignored Files:
        rbintegrations/static/images/slack/icon@2x.png
        rbintegrations/testing/__init__.py
        rbintegrations/slack/__init__.py
        rbintegrations/static/images/slack/icon.png
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        rbintegrations/slack/tests.py
        rbintegrations/extension.py
        rbintegrations/testing/testcases.py
        rbintegrations/slack/forms.py
        rbintegrations/slack/integration.py
    
    Ignored Files:
        rbintegrations/static/images/slack/icon@2x.png
        rbintegrations/testing/__init__.py
        rbintegrations/slack/__init__.py
        rbintegrations/static/images/slack/icon.png
    
    
  2. 
      
david
  1. 
      
  2. rbintegrations/extension.py (Diff revision 4)
     
     
     
     

    Mark for localization?

  3. 
      
chipx86
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to master (c463b43)
Loading...