Commit Graph

158 Commits

Author SHA1 Message Date
Eeshan Garg 4f98a45507 docs: Rename "webhooks" to "incoming webhooks".
I only renamed references that I thought were absolutely necessary
and only if the resulting sentence structure wasn't awkward.

If the renaming resulted in awkward structure, I replaced the term
"webhook" with "integration" (but only in some very obvious cases).

Fixes #9500.
2018-05-30 18:21:13 -07:00
Robert Hönig fe6b46dfa6 docs: Consistently use Botserver instead of botserver or bot server. 2018-05-29 07:27:33 -07:00
Robert Hönig 04d68d2570 code: Rename flaskbotrc to botserverrc. 2018-05-29 10:19:17 +02:00
Yago González c25855f703 api docs: Fix broken link. 2018-05-28 10:39:25 -07:00
Yago González f84c9b919b api docs: Read parameters and response fixtures from OpenAPI files. 2018-05-26 22:49:55 +02:00
Yago González d87f0ccb4e api docs: Show Yes/No in the "Required" field of the args table. 2018-05-25 23:31:30 +02:00
Tim Abbott 34354ca62b docs: Split zulip_botserver discussion of deploying bots.
Now we have explicit documentation for the processing of deploying a
single bot, which can be cleaner and simpler.
2018-05-25 11:01:57 -07:00
Robert Hönig 53891a9bed bots: Don't name section headers in flaskbotrc.
The Botserver uses section headers in the flaskbotrc to
determine which bot to run. Silently setting the section
headers to a bot's username is confusing and makes it
harder for Botserver users to figure out how to get the
Botserver to run the bots they want. This commit empties
all flaskbotrc section headers and thus makes the assignment
of bots explicit and mandatory.
2018-05-25 10:33:40 -07:00
Robert Hönig bdf79f271d Implement and document new Botserver setup routine.
Previously, the Botserver determined which bot to run for an
outgoing webhook by dispatching on a different URL endpoint
for each bot. Now, instead, the Botserver determines which bot
to run by the section header of the bot in the flaskbotrc.
This commit makes the frontend provide the new flaskbotrc
and updates the setup steps for the Botserver in the docs.
2018-05-25 10:33:40 -07:00
vaibhav cc0d0b55f1 docs: Add documentation for outgoing webhooks.
Rewritten by some combination of @rheaparekh and @timabbott to more
clearly discuss what's actually important to users.
2018-05-25 10:30:53 -07:00
Eeshan Garg 3ed20589f2 webhooks: Add generic exception for unexpected webhook events.
UnexpectedWebhookEventType is a generic exception that we may
now raise when we encounter a webhook event that is new or one
that we simply aren't aware of.
2018-05-22 08:30:19 -07:00
Tim Abbott 9de80990ea api: Update links for new /deploying-bots page.
Also caught by test-help-documentation.
2018-05-18 16:31:52 -07:00
Tim Abbott 847fc69c79 api: Fix a badly line-wrapped link.
Caught by test-help-documentation.
2018-05-18 16:31:36 -07:00
Tim Abbott dd7507c88a docs: Add a page on deploying bots in production. 2018-05-18 16:13:17 -07:00
Yago González f0fa550001 docs: Rename rest_endpoints with dashes. 2018-05-15 09:06:56 -07:00
Eeshan Garg 3a68f998a7 integration-docs-guide: Add a more detailed writing style guide.
Most of the recommendations in this guide were written by Rishi
Gupta (rishig), with a few contributions from Eeshan Garg.
2018-05-15 10:06:08 -04:00
Eeshan Garg fa28ccb952 integration-docs-guide: Trim text documenting Markdown macros.
We were devoting too much space/text to documenting our Markdown
macro. It is much more concise to just have a description and a
link to an example doc for each major macro.
2018-05-14 20:14:08 -02:30
Tim Abbott 1f837340d1 api: Fix confusing documentation about services for botserver.
This fixes several super-confusing things in these docs.  Bot services
aren't a user-facing concept, and also, you need the URL before
creating the bot users.
2018-05-14 09:21:45 -07:00
Tim Abbott 485d5b6335 api: Fix incorrectly coded bullet for zulip_botserver config. 2018-05-14 09:21:45 -07:00
Joshua Pan e591668d60 bot-docs: Rewrite last section of "Running bots". 2018-05-14 04:27:36 -07:00
Joshua Pan 3952f94157 minor: Add missing period to bot-docs. 2018-05-14 04:27:36 -07:00
Joshua Pan 128aa8b7ee bot-docs: Remove hint on "Running bots" doc.
We already explain testing bot output in
"Writing bots" doc, and the placement of
the hint itself doesn't make sense.
2018-05-14 04:27:36 -07:00
Joshua Pan 0b112cf5e9 bot-docs: Streamline introduction to 'Running a bot'. 2018-05-14 04:27:36 -07:00
Joshua Pan 2b06e1cec7 bot-docs: Renumber list to use all 1's. 2018-05-14 04:27:36 -07:00
Aditya Bansal a00f3b5843 docs: Update for change from typing.Text to str. 2018-05-14 05:23:36 +05:30
Yago González 610f48dcbc docs: Explain how to configure the Python bindings.
The Python bindings (which are used for bots, amongst other things) can
be configured either with a .zuliprc file or with environment variables
in the host machine.

This new page in the user docs explains how to set the bindings up using
both techniques, and is a good reference on the setup required by Zulip
bots.
2018-05-13 15:09:23 -07:00
Yago González c6eee1c9da docs: Rename rest_error_handling with dashes. 2018-05-13 15:02:48 -07:00
Yago González 7ae51a4ec6 docs: Update API key-related screenshots. 2018-05-13 15:02:48 -07:00
Eeshan Garg 34d1b0ebf1 webhooks: Add helper to extract and validate HTTP event headers.
This is a part of our efforts to close #6213.
2018-05-05 15:48:37 -07:00
Eeshan Garg 7e379bbb76 writing-bots: Recommend using Python 3 to run tools/provision. 2018-05-03 10:11:49 -07:00
Tim Abbott 6cca334271 api: Document the /register API with a lot more detail. 2018-04-27 17:01:41 -07:00
Tim Abbott 9fc1458924 api: Improve documentation for real-time-events API. 2018-04-27 16:36:54 -07:00
Tim Abbott be3804f505 api: Fix incorrectly documented event types.
It's actually "subscription" and "message" (neither is plural).

While we're at it, we should also remove the "pointer" event type,
since that's of generally low interest.
2018-04-27 15:16:24 -07:00
Eeshan Garg 7d14ce2cb6 pypi packaging: Upgrade to release 0.4.6.
As a part of the upgrade, we had to update our API tests in
zerver/lib/api_test_helpers.
2018-04-27 14:50:25 -07:00
Preston Hansen e168f9938c tests: Refactor use of test and webhook data fixtures. 2018-04-19 21:50:29 -07:00
Preston Hansen 76d6c71595 tests: Move zerver/fixtures to zerver/tests/fixtures for clarity.
Fixes #9153.
2018-04-19 21:50:17 -07:00
Tim Abbott c224114287 /api: Clean up the API documentation homepage. 2018-04-16 15:54:39 -07:00
Tim Abbott d09071bbc9 /api: Add an overview doc for the REST API. 2018-04-16 15:51:13 -07:00
Tim Abbott 89704df167 /api: Move list of REST endpoints to a template. 2018-04-16 15:50:53 -07:00
Tim Abbott ea266f1b80 /api: Expand "common errors" page to more generally cover error handling. 2018-04-16 15:50:52 -07:00
Tim Abbott 57ca19392e help: Make API context available to sidebars.
I am not a fan of this API (where we need to pass context into
`render_markdown_path` directly), but it seems more robust to pass
this in directly.
2018-04-05 12:22:41 -07:00
Eeshan Garg 538746fc65 webhooks: Stop raising an exception if stream does not exist.
webhook-errors.log file is cluttered with Stream.DoesNotExist
errors, which hides the errors that we actually need to see. So,
since check_message already sends the bot_owner a PM if the webhook
bot tries to send a message to a non-existent stream, we can ignore
such exceptions.
2018-03-24 13:50:17 -07:00
Eeshan Garg af56df7723 webhooks: Enable custom topics and default PM notifications.
This commit adds a generic function called check_send_webhook_message
that does the following:
* If a stream is specified in the webhook URL, it sends a stream
  message, otherwise sends a PM to the owner of the bot.
* In the case of a stream message, if a custom topic is specified
  in the webhook URL, it uses that topic as the subject of the
  stream message.

Also, note that we need not test this anywhere except for the
helloworld webhook. Since helloworld is our default example for
webhooks, it is here to stay and it made sense that tests for a
generic function such as check_send_webhook_message be tested
with an actual generic webhook!

Fixes #8607.
2018-03-16 11:34:20 -07:00
Eeshan Garg 50a66725a1 json: Ensure consistent formatting in api/fixtures.json.
Now, the fixtures.json file:
* Has all keys sorted alphabetically.
* Has a space after every `:`.

The file was generated using json.dumps with the appropriate
formatting parameters.
2018-03-02 14:10:53 -08:00
Eeshan Garg 393b9eec99 api_docs: Move get-events-from-queue fixture to fixtures.json.
Note that this is one of the few fixtures that isn't tested against
a running server. But it still makes sense to move it to fixtures.json so
that it is rendered with indenting and a space after every `:` by
the api_code_example extension.
2018-03-02 14:10:53 -08:00
Eeshan Garg ea7ce7e0da api docs: Ensure consistent formatting for arguments.json.
Ideally, there should be a space after every `:`.

Note that the JSON isn't displayed as is but is formatted as an
HTML table.
2018-03-02 09:44:17 -08:00
Eeshan Garg ce56ee80e7 api_docs: Document the `POST /api/v1/user_uploads` endpoint.
Fixes #1353.
2018-03-02 09:44:17 -08:00
Tim Abbott fd4aa88046 api: Do paragraphs within bullets with better indentation.
This is necessary to ensure the "Hint" appears indented as part of the
bullet.
2018-03-01 08:21:53 -08:00
Viraat Chandra 9284d32837 docs: Improve consistency and quality of API Documentation. 2018-03-01 08:21:53 -08:00
Eeshan Garg e80609a3e9 api docs: Test sample fixture for invalid stream name error.
This commit adds a test for the sample fixture for when an invalid
stream name is passed to a query that expects a valid stream name
as an argument. This is the case with almost all of our queries
documented under the sidebar heading "Streams".

EDIT: Actually, I was wrong. This payload is highly specific to
get-stream-id, so it shouldn't be a part of common-error-payloads
at all.
2018-02-20 20:03:55 -03:30