templates/zerver/development/dev_tools.html
{% extends "zerver/portico.html" %} {% block title %}
Development tools | Zulip Dev{% endblock %} {# Login page. #} {% block portico_content %}
This page describes development-specific URLs and commands that may come in handy. Make sure your development server is running when you visit the pages linked below.
| URL | Command | Description |
|---|---|---|
| /devtools/integrations | None needed | Test incoming webhook integrations |
| /emails | None needed | View outgoing and example emails. |
| /digest | None needed | View sample digest email. |
| /docs/index.html | ./tools/build-docs | Developer and production documentation (ReadTheDocs) built locally |
| /stats/realm/analytics/ | ./manage.py populate_analytics_db | |
| Run the command after changing analytics data population logic. | View the /stats page with some pre-populated data |
| URL | Description |
|---|---|
| /devtools/buttons | Test button styles |
| /devtools/banners | Test banner styles |
| /devtools/inputs | Test input styles |
| URL | Command | Description |
|---|---|---|
| /coverage/index.html | ./tools/test-backend --coverage | Backend (Django) test coverage report |
| /node-coverage/index.html | ./tools/test-js-with-node --coverage | Frontend (node) test coverage report |
Development-specific management commands live in zilencer/management/commands. Highlights include:
./manage.py populate_db: Rebuilds database. Has options to, for example, create 3K users for testing../manage.py mark_all_messages_unread: Useful for testing reading messages../manage.py send_zulip_update_announcements: Send Zulip update notices drafted in zerver/lib/zulip_update_announcements.py../manage.py add_mock_conversation: Add test messages, streams, images, emoji, etc. into the dev environment. First edit zilencer/management/commands/add_mock_conversation.py to add the data you're testing.We also have documentation on testing LDAP, Google & GitHub authentication in the development environment.
{% include "zerver/development/help_center_instructions_macro.html" %}
| URL | Command | Description |
|---|---|---|
| /webpack/5xx.html | None needed | Error 5xx page served by nginx (used when Django is totally broken) |
| /errors/404 | None needed | Error 404 page served by Django |
| /errors/5xx | None needed | Error 5xx page served by Django |
| /accounts/do_confirm/invalid | None needed | Invalid confirmation link page |
./manage.py dbshell: Connect to PostgreSQL database via your terminal.provision creates a ~/.pgpass file, so psql -U zulip -h localhost works too.{% endblock %}