mirror of https://github.com/zulip/zulip.git
docs: Update links for other repository branch renames.
GitHub redirects these, but we should use the canonical URLs. Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
parent
0dcb84a2e8
commit
1ce12191aa
|
@ -391,7 +391,7 @@ CSS](https://github.com/zulip/zulip/).
|
||||||
being built into Zulip. And then for built-in bots, one should be able to click a few
|
being built into Zulip. And then for built-in bots, one should be able to click a few
|
||||||
buttons of configuration on the web to set them up and include them in
|
buttons of configuration on the web to set them up and include them in
|
||||||
your organization. We've developed a number of example bots
|
your organization. We've developed a number of example bots
|
||||||
in the (`zulip_bots`](https://github.com/zulip/python-zulip-api/tree/master/zulip_bots)
|
in the [`zulip_bots`](https://github.com/zulip/python-zulip-api/tree/main/zulip_bots)
|
||||||
PyPI package.
|
PyPI package.
|
||||||
**Skills recommended**: Python and JavaScript/CSS, plus devops
|
**Skills recommended**: Python and JavaScript/CSS, plus devops
|
||||||
skills (Linux deployment, Docker, Puppet etc.) are all useful here.
|
skills (Linux deployment, Docker, Puppet etc.) are all useful here.
|
||||||
|
|
|
@ -90,5 +90,5 @@ assignee(s) if they are still working on the issue.
|
||||||
If you wish to help develop and contribute to **@zulipbot**, check out the
|
If you wish to help develop and contribute to **@zulipbot**, check out the
|
||||||
[zulip/zulipbot](https://github.com/zulip/zulipbot) repository on GitHub and read
|
[zulip/zulipbot](https://github.com/zulip/zulipbot) repository on GitHub and read
|
||||||
the project's [contributing
|
the project's [contributing
|
||||||
guidelines](https://github.com/zulip/zulipbot/blob/master/.github/CONTRIBUTING.md#contributing) for
|
guidelines](https://github.com/zulip/zulipbot/blob/main/.github/CONTRIBUTING.md#contributing) for
|
||||||
more information.
|
more information.
|
||||||
|
|
|
@ -259,7 +259,7 @@ above.
|
||||||
bindings don't have a dedicated method for a specific API call,
|
bindings don't have a dedicated method for a specific API call,
|
||||||
you may either use `client.call_endpoint` or add a dedicated
|
you may either use `client.call_endpoint` or add a dedicated
|
||||||
function to the [zulip PyPI
|
function to the [zulip PyPI
|
||||||
package](https://github.com/zulip/python-zulip-api/tree/master/zulip).
|
package](https://github.com/zulip/python-zulip-api/tree/main/zulip).
|
||||||
Ultimately, the goal is for every endpoint to be documented the
|
Ultimately, the goal is for every endpoint to be documented the
|
||||||
latter way, but it's useful to be able to write working
|
latter way, but it's useful to be able to write working
|
||||||
documentation for an endpoint that isn't supported by
|
documentation for an endpoint that isn't supported by
|
||||||
|
@ -312,7 +312,7 @@ above.
|
||||||
in `zerver/openapi/zulip.yaml`, which mentions the API feature level
|
in `zerver/openapi/zulip.yaml`, which mentions the API feature level
|
||||||
at which they were added.
|
at which they were added.
|
||||||
|
|
||||||
[javascript-examples]: https://github.com/zulip/zulip-js/tree/master/examples
|
[javascript-examples]: https://github.com/zulip/zulip-js/tree/main/examples
|
||||||
|
|
||||||
## Why a custom system?
|
## Why a custom system?
|
||||||
|
|
||||||
|
|
|
@ -138,7 +138,7 @@ soon as it attempted to send them to the client; if that specific HTTP
|
||||||
response didn't reach the client due to a network TCP failure, then
|
response didn't reach the client due to a network TCP failure, then
|
||||||
those events could be lost).
|
those events could be lost).
|
||||||
|
|
||||||
[api-bindings-code]: https://github.com/zulip/python-zulip-api/blob/master/zulip/zulip/__init__.py
|
[api-bindings-code]: https://github.com/zulip/python-zulip-api/blob/main/zulip/zulip/__init__.py
|
||||||
|
|
||||||
The queue servers are a very high-traffic system, processing at a
|
The queue servers are a very high-traffic system, processing at a
|
||||||
minimum one request for every message delivered to every Zulip client.
|
minimum one request for every message delivered to every Zulip client.
|
||||||
|
|
|
@ -240,7 +240,7 @@ the **zform** to the client rendering it.
|
||||||
|
|
||||||
|
|
||||||
First,
|
First,
|
||||||
[here](https://github.com/zulip/python-zulip-api/blob/master/zulip_bots/zulip_bots/bots/trivia_quiz/trivia_quiz.py)
|
[here](https://github.com/zulip/python-zulip-api/blob/main/zulip_bots/zulip_bots/bots/trivia_quiz/trivia_quiz.py)
|
||||||
is the code that produces the JSON.
|
is the code that produces the JSON.
|
||||||
|
|
||||||
``` py
|
``` py
|
||||||
|
|
|
@ -192,7 +192,7 @@ running it manually.
|
||||||
|
|
||||||
* Edit the `<>` sections according to your preferences.
|
* Edit the `<>` sections according to your preferences.
|
||||||
|
|
||||||
[supervisord-config-file]: https://raw.githubusercontent.com/zulip/python-zulip-api/master/zulip_botserver/zulip-botserver-supervisord.conf
|
[supervisord-config-file]: https://raw.githubusercontent.com/zulip/python-zulip-api/main/zulip_botserver/zulip-botserver-supervisord.conf
|
||||||
|
|
||||||
1. Update *supervisord* to read the configuration file:
|
1. Update *supervisord* to read the configuration file:
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ them. Zulip supports several other types of integrations.
|
||||||
(examples: SVN, Git), where we can get the service to call our integration
|
(examples: SVN, Git), where we can get the service to call our integration
|
||||||
(by shelling out or otherwise), passing in the required data. Our preferred
|
(by shelling out or otherwise), passing in the required data. Our preferred
|
||||||
model for these is to ship these integrations in the
|
model for these is to ship these integrations in the
|
||||||
[Zulip Python API distribution](https://github.com/zulip/python-zulip-api/tree/master/zulip),
|
[Zulip Python API distribution](https://github.com/zulip/python-zulip-api/tree/main/zulip),
|
||||||
within the `integrations` directory there.
|
within the `integrations` directory there.
|
||||||
|
|
||||||
1. **Plugin integrations** (examples:
|
1. **Plugin integrations** (examples:
|
||||||
|
|
|
@ -7,7 +7,7 @@ to messages in Zulip.
|
||||||
|
|
||||||
This guide will show you how to run an existing Zulip bot
|
This guide will show you how to run an existing Zulip bot
|
||||||
found in [zulip_bots/bots](
|
found in [zulip_bots/bots](
|
||||||
https://github.com/zulip/python-zulip-api/tree/master/zulip_bots/zulip_bots/bots).
|
https://github.com/zulip/python-zulip-api/tree/main/zulip_bots/zulip_bots/bots).
|
||||||
|
|
||||||
You'll need:
|
You'll need:
|
||||||
|
|
||||||
|
|
|
@ -114,7 +114,7 @@ we have a little tool to help you out: `zulip-terminal`
|
||||||
* [Install all requirements](#installing-a-development-version-of-the-zulip-bots-package).
|
* [Install all requirements](#installing-a-development-version-of-the-zulip-bots-package).
|
||||||
|
|
||||||
* Run `zulip-terminal` to test one of the bots in
|
* Run `zulip-terminal` to test one of the bots in
|
||||||
[`zulip_bots/bots`](https://github.com/zulip/python-zulip-api/tree/master/zulip_bots/zulip_bots/bots).
|
[`zulip_bots/bots`](https://github.com/zulip/python-zulip-api/tree/main/zulip_bots/zulip_bots/bots).
|
||||||
|
|
||||||
Example invocations are below:
|
Example invocations are below:
|
||||||
|
|
||||||
|
@ -374,7 +374,7 @@ every call to `put` and `get`, respectively.
|
||||||
|
|
||||||
Bots, like most software that you want to work, should have unit tests. In this section,
|
Bots, like most software that you want to work, should have unit tests. In this section,
|
||||||
we detail our framework for writing unit tests for bots. We require that bots in the main
|
we detail our framework for writing unit tests for bots. We require that bots in the main
|
||||||
[`python-zulip-api`](https://github.com/zulip/python-zulip-api/tree/master/zulip_bots/zulip_bots/bots)
|
[`python-zulip-api`](https://github.com/zulip/python-zulip-api/tree/main/zulip_bots/zulip_bots/bots)
|
||||||
repository include a reasonable set of unit tests, so that future developers can easily
|
repository include a reasonable set of unit tests, so that future developers can easily
|
||||||
refactor them.
|
refactor them.
|
||||||
|
|
||||||
|
@ -385,7 +385,7 @@ refactor them.
|
||||||
### A simple example
|
### A simple example
|
||||||
|
|
||||||
Let's have a look at a simple test suite for the [`helloworld`](
|
Let's have a look at a simple test suite for the [`helloworld`](
|
||||||
https://github.com/zulip/python-zulip-api/tree/master/zulip_bots/zulip_bots/bots/helloworld)
|
https://github.com/zulip/python-zulip-api/tree/main/zulip_bots/zulip_bots/bots/helloworld)
|
||||||
bot.
|
bot.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
|
@ -419,7 +419,7 @@ The best way to learn about bot tests is to read all the existing tests in the
|
||||||
Once you have written a test suite, you want to verify that everything works as expected.
|
Once you have written a test suite, you want to verify that everything works as expected.
|
||||||
|
|
||||||
* To test a bot in [Zulip's bot directory](
|
* To test a bot in [Zulip's bot directory](
|
||||||
https://github.com/zulip/python-zulip-api/tree/master/zulip_bots/zulip_bots/bots):
|
https://github.com/zulip/python-zulip-api/tree/main/zulip_bots/zulip_bots/bots):
|
||||||
`tools/test-bots <botname>`
|
`tools/test-bots <botname>`
|
||||||
|
|
||||||
* To run all bot tests: `tools/test-bots`
|
* To run all bot tests: `tools/test-bots`
|
||||||
|
@ -429,13 +429,13 @@ Once you have written a test suite, you want to verify that everything works as
|
||||||
This section shows advanced testing techniques for more complicated bots that have
|
This section shows advanced testing techniques for more complicated bots that have
|
||||||
configuration files or interact with third-party APIs.
|
configuration files or interact with third-party APIs.
|
||||||
*The code for the bot testing library can be found [here](
|
*The code for the bot testing library can be found [here](
|
||||||
https://github.com/zulip/python-zulip-api/blob/master/zulip_bots/zulip_bots/test_lib.py).*
|
https://github.com/zulip/python-zulip-api/blob/main/zulip_bots/zulip_bots/test_lib.py).*
|
||||||
|
|
||||||
|
|
||||||
#### Testing bots with config files
|
#### Testing bots with config files
|
||||||
|
|
||||||
Some bots, such as [Giphy](
|
Some bots, such as [Giphy](
|
||||||
https://github.com/zulip/python-zulip-api/tree/master/zulip_bots/zulip_bots/bots/giphy),
|
https://github.com/zulip/python-zulip-api/tree/main/zulip_bots/zulip_bots/bots/giphy),
|
||||||
support or require user configuration options to control how the bot works.
|
support or require user configuration options to control how the bot works.
|
||||||
|
|
||||||
To test such a bot, you can use the following pattern:
|
To test such a bot, you can use the following pattern:
|
||||||
|
@ -449,7 +449,7 @@ system and gives your test "dummy data" instead.
|
||||||
#### Testing bots with internet access
|
#### Testing bots with internet access
|
||||||
|
|
||||||
Some bots, such as [Giphy](
|
Some bots, such as [Giphy](
|
||||||
https://github.com/zulip/python-zulip-api/tree/master/zulip_bots/zulip_bots/bots/giphy),
|
https://github.com/zulip/python-zulip-api/tree/main/zulip_bots/zulip_bots/bots/giphy),
|
||||||
depend on a third-party service, such as the Giphy web app, in order to work. Because
|
depend on a third-party service, such as the Giphy web app, in order to work. Because
|
||||||
we want our test suite to be reliable and not add load to these third-party APIs, tests
|
we want our test suite to be reliable and not add load to these third-party APIs, tests
|
||||||
for these services need to have "test fixtures": sample HTTP request/response pairs to
|
for these services need to have "test fixtures": sample HTTP request/response pairs to
|
||||||
|
@ -476,7 +476,7 @@ fixtures:
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
For an example, check out the [giphy bot](
|
For an example, check out the [giphy bot](
|
||||||
https://github.com/zulip/python-zulip-api/tree/master/zulip_bots/zulip_bots/bots/giphy).
|
https://github.com/zulip/python-zulip-api/tree/main/zulip_bots/zulip_bots/bots/giphy).
|
||||||
|
|
||||||
*Tip: You can use [requestbin](https://requestbin.com/) or a similar
|
*Tip: You can use [requestbin](https://requestbin.com/) or a similar
|
||||||
tool to capture payloads from the service your bot is interacting
|
tool to capture payloads from the service your bot is interacting
|
||||||
|
@ -484,7 +484,7 @@ with.*
|
||||||
|
|
||||||
#### Examples
|
#### Examples
|
||||||
|
|
||||||
Check out our [bots](https://github.com/zulip/python-zulip-api/tree/master/zulip_bots/zulip_bots/bots)
|
Check out our [bots](https://github.com/zulip/python-zulip-api/tree/main/zulip_bots/zulip_bots/bots)
|
||||||
to see examples of bot tests.
|
to see examples of bot tests.
|
||||||
|
|
||||||
## Common problems
|
## Common problems
|
||||||
|
|
|
@ -108,4 +108,4 @@ server. You'll need to get a certificate file (should end in `.crt` or
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[linux]: https://chromium.googlesource.com/chromium/src.git/+/master/docs/linux/cert_management.md
|
[linux]: https://chromium.googlesource.com/chromium/src.git/+/main/docs/linux/cert_management.md
|
||||||
|
|
|
@ -174,7 +174,7 @@ paths:
|
||||||
description: |
|
description: |
|
||||||
The highest event ID in this queue that you've received and
|
The highest event ID in this queue that you've received and
|
||||||
wish to acknowledge. See the [code for
|
wish to acknowledge. See the [code for
|
||||||
`call_on_each_event`](https://github.com/zulip/python-zulip-api/blob/master/zulip/zulip/__init__.py)
|
`call_on_each_event`](https://github.com/zulip/python-zulip-api/blob/main/zulip/zulip/__init__.py)
|
||||||
in the [zulip Python
|
in the [zulip Python
|
||||||
module](https://github.com/zulip/python-zulip-api) for an
|
module](https://github.com/zulip/python-zulip-api) for an
|
||||||
example implementation of correctly processing each event
|
example implementation of correctly processing each event
|
||||||
|
|
|
@ -787,7 +787,7 @@ def login_page(
|
||||||
# context_data attribute. This attribute doesn't exist otherwise. It is
|
# context_data attribute. This attribute doesn't exist otherwise. It is
|
||||||
# added in SimpleTemplateResponse class, which is a derived class of
|
# added in SimpleTemplateResponse class, which is a derived class of
|
||||||
# HttpResponse. See django.template.response.SimpleTemplateResponse,
|
# HttpResponse. See django.template.response.SimpleTemplateResponse,
|
||||||
# https://github.com/django/django/blob/master/django/template/response.py#L19.
|
# https://github.com/django/django/blob/2.0/django/template/response.py#L19
|
||||||
update_login_page_context(request, template_response.context_data)
|
update_login_page_context(request, template_response.context_data)
|
||||||
|
|
||||||
assert isinstance(template_response, HttpResponse)
|
assert isinstance(template_response, HttpResponse)
|
||||||
|
|
|
@ -57,7 +57,7 @@ Get Zulip notifications from your Trello boards!
|
||||||
|
|
||||||
1. You can delete `zulip_trello.py` from your computer if you'd like.
|
1. You can delete `zulip_trello.py` from your computer if you'd like.
|
||||||
|
|
||||||
[2]: https://raw.githubusercontent.com/zulip/python-zulip-api/master/zulip/integrations/trello/zulip_trello.py
|
[2]: https://raw.githubusercontent.com/zulip/python-zulip-api/main/zulip/integrations/trello/zulip_trello.py
|
||||||
|
|
||||||
{!congrats.md!}
|
{!congrats.md!}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue