App::KGB::API(3pm)

App::KGB::API3pm

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.

Releases

6 releases since Debian 8 (Jessie); the text changed 5 times.

  1. 8
  2. 9
  3. 10
  4. 11
  5. 12
  6. 13

Author

Damyan Ivanov [email protected]

From kgb-client 1.61-1 in Debian 13 (Trixie). Parsed by carta from the page's man source.