diff --git a/rbtools/commands/post.py b/rbtools/commands/post.py
index 52bed7874ff703558f6aea7e66b54969c9a4a62d..3b12c9d2bd956e2ca62f213c30f276199ec1403e 100644
--- a/rbtools/commands/post.py
+++ b/rbtools/commands/post.py
@@ -3,8 +3,10 @@ from __future__ import print_function, unicode_literals
 import logging
 import os
 import re
+import subprocess
 import sys
 
+
 from rbtools.api.errors import APIError
 from rbtools.commands import Command, CommandError, Option, OptionGroup
 from rbtools.utils.commands import get_review_request
@@ -93,6 +95,12 @@ class Post(Command):
                        help='Uploads a new diff, but does not update '
                             'fields from the change description '
                             '(Perforce/Plastic only).'),
+                Option('--no-pre-post-hook',
+                       dest='no_pre_post_hook',
+                       action='store_true',
+                       default=False,
+                       added_in='0.8.0',
+                       help='Disable pre-post hook in .reviewboardrc.'),
             ]
         ),
         Command.server_options,
@@ -366,6 +374,19 @@ class Post(Command):
 
         On success the review request id and url are returned.
         """
+        if ('PRE_POST_HOOK' in self.config and
+            not self.options.no_pre_post_hook):
+            p = subprocess.Popen(self.config["PRE_POST_HOOK"], shell=True,
+                                 stdout=sys.stdout,
+                                 stderr=sys.stdout)
+            output, error = p.communicate()
+
+            if p.returncode != 0:
+                logging.error(self.config["PRE_POST_HOOK"] +
+                              " command return an error")
+                if not confirm('Do you want to post your review (Yes/No)?'):
+                    raise CommandError('Review request has been cancelled.')
+
         supports_posting_commit_ids = \
             self.tool.capabilities.has_capability('review_requests',
                                                   'commit_ids')
