Man pages sections > man3 > App::KGB::API

App::KGB::API -- KGB bot API documentation

App::KGB::API(3pm) User Contributed Perl Documentation App::KGB::API(3pm)

NAME

App::KGB::API -- KGB bot API documentation

VERSION 4 (JSON)

General, authentication

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 server.
project-name
request-text
This is the JSON-encoded request text. The same that is sent in the HTTP body.

Commit notification

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 App::KGB::Change.
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.

Plain message relay

The message relay calls are to the relay_message method, with the only argument the message to be relayed.

SEE ALSO

kgb-client(1), kgb-bot(1)

AUTHOR

Damyan Ivanov dmn@debian.org
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 version.
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.
2016-10-31 perl v5.24.1