App::KGB::API -- KGB bot API documentation
Version 4 uses JSON-RPC as described in
<http://http://json-rpc.org/wiki/specification> with one extension.
Since all requests are authenticated, two HTTP headers need to be included:
- X-KGB-Project: project-name
- X-KGB-Auth: hash
The project name is the string identifying the project on the server side, and
the hash is the hexadecimal representation of the SHA-1 hash calculated over
the following data:
- Project password
- This is the shared password known to the client and the
- This is the JSON-encoded request text. The same that is
sent in the HTTP body.
Request is a JSON-RPC call to a method called commit_v4
with a single
argument, which is a map with the following possible keys:
- repo_id project-name
- rev_prefix revision-prefix
- Usually "r" for Subversion commits
- commit_id commit id
- Subversion revision, Git hash or just empty (for CVS).
- changes changes list
- A list of changes, encoded as strings. It is simple file
name prepended with "(A)" for added, "(M)" (or
nothing) for modified and "(D)" for deleted. See
- commit_log log message
- author user/name
- branch branch name
- module module name
- extra additional information
- A map with extra information. Currently
"web_link" is the only member that the server recognises.
The message relay calls are to the relay_message
method, with the only
argument the message to be relayed.
- Damyan Ivanov email@example.com
Copyright (C) 2012 Damyan Ivanov
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
Street, Fifth Floor, Boston, MA 02110-1301, USA.