This directory holds all the source for the Monorail pRPC API. This API is implemented using .proto
files to describe a gRPC
interface (services, methods, and request/response messages). It then uses a shim which converts the gRPC
server (which doesn't work on AppEngine, due to lack of support for HTTP/2) into a pRPC
server which supports communication over HTTP/1.1, as well as text and JSON IO.
In order to make API requests, your client needs to either:
test_call
described below.You can make anonymous requests to a server running locally like this:
$ ./api/test_call monorail.Users GetUser '{"email": "test@example.com"}'
Requests that require a signed-in user can be tested locally like this:
$ ./api/test_call monorail.Issues GetIssue \ '{"issue_ref": {"project_name": "rutabaga", "local_id": 1}}' \ --test-account=test@example.com
All methods, request parameters, and responses are documented in ./api_proto.
In order to regenerate the python server and client stubs from the .proto
files, run this command:
$ make prpc_proto_v0