diff --git a/extension/reviewbotext/admin.py b/extension/reviewbotext/admin.py
index 55484cf14a8a5478617b2a7cb593e849c0a5613a..49989cde034b53b62b7ee0555140c557d7ea13ed 100644
--- a/extension/reviewbotext/admin.py
+++ b/extension/reviewbotext/admin.py
@@ -1,7 +1,9 @@
-from django.conf.urls import url
+"""Admin site definitions."""
+
 from django.contrib import admin
 from django.http import HttpResponse
 from django.template.context import RequestContext
+from django.urls import path
 from reviewboard.extensions.base import get_extension_manager
 
 from reviewbotext.extension import ReviewBotExtension
@@ -77,7 +79,7 @@ class ToolAdmin(admin.ModelAdmin):
         urls = super(ToolAdmin, self).get_urls()
 
         my_urls = [
-            url('^refresh/$',
+            path('refresh/',
                 self.admin_site.admin_view(self.refresh_tools_view)),
         ]
         return my_urls + urls
diff --git a/extension/reviewbotext/admin_urls.py b/extension/reviewbotext/admin_urls.py
index f4bdb1a1ee9c1a2f42469fe7ee7cb33df371165f..cb80675ae85edf3a74181af2cdc09a86df00cbc9 100644
--- a/extension/reviewbotext/admin_urls.py
+++ b/extension/reviewbotext/admin_urls.py
@@ -1,4 +1,6 @@
-from django.conf.urls import url
+"""Admin URL definitions for Review Bot."""
+
+from django.urls import path
 
 from reviewbotext.views import (ConfigureUserView,
                                 ConfigureView,
@@ -6,9 +8,9 @@ from reviewbotext.views import (ConfigureUserView,
 
 
 urlpatterns = [
-    url(r'^$', ConfigureView.as_view(), name='reviewbot-configure'),
-    url(r'^user/$', ConfigureUserView.as_view(),
-        name='reviewbot-configure-user'),
-    url(r'^worker-status/$', WorkerStatusView.as_view(),
-        name='reviewbot-worker-status'),
+    path('', ConfigureView.as_view(), name='reviewbot-configure'),
+    path('user/', ConfigureUserView.as_view(),
+         name='reviewbot-configure-user'),
+    path('worker-status/', WorkerStatusView.as_view(),
+         name='reviewbot-worker-status'),
 ]
diff --git a/extension/reviewbotext/tests/test_worker_status_view.py b/extension/reviewbotext/tests/test_worker_status_view.py
index bb6d7b448ef506b6b6cda4e41b1d05e3743673f6..0fcbe7c155fcce87755825144a88b9bd3c232265 100644
--- a/extension/reviewbotext/tests/test_worker_status_view.py
+++ b/extension/reviewbotext/tests/test_worker_status_view.py
@@ -4,13 +4,7 @@ import json
 from collections import OrderedDict
 
 import kgb
-
-try:
-    # Django >= 1.11, Review Board >= 4.0
-    from django.urls import reverse
-except ImportError:
-    # Django 1.6, Review Board 3.0
-    from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from reviewbotext.tests.testcase import TestCase
 
