{% extends "zerver/portico.html" %} {# Login page. #} {% block portico_content %}

Useful development URLs

Below is a list of useful tools and data sets available only in the Zulip development environment that are often useful when contributing to Zulip. Most of these require you to run a command to build/generate the relevant content. This table specifies which command to use to update the data served by each page (since several of these, like test coverage, require a special command to be run to generate the data). Make sure your development server is still running when you visit these!

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
/docs/index.html ./tools/build-docs Developer documentation (ReadTheDocs) built locally
/emails ./scripts/setup/inline_email_css.py
Run the command if you made changes to source.html email templates.
View outgoing and example emails.
/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
/webpack/5xx.html ./manage.py collectstatic --noinput 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
/devtools/integrations None needed Test incoming webhook integrations
/devtools/register_user None needed Creates a new user
/devtools/register_realm None needed Creates a new realm

Useful management commands

Development-specific management commands live in zilencer/management/commands. Highlights include:

We also have documentation on testing LDAP, Google & GitHub authentication in the development environment.

{% endblock %}