kgb-client.conf - Man Page

KGB client configuration file


kgb-client(1) can be configured via command line options and/or via a configuration file (via the --conf option). Most of the settings can use either way, with command line options overriding settings from the configuration file.

The file format is YAML. Elaborate example configuration is at the end of this document.

Server connection configuration


Unique project identifier on the server. Mandatory.


Pass phrase string. Used together with repo-id to authenticate the request to the servers. Per-server configuration overrides this setting.


Request timeout in seconds. Defaults to 15.


A list of maps, describing the servers to try to send ntifications to. Each server map can have the following members:


The URI of the server. Something like


SOAP proxy to use. Mandatory if using SOAP protocol. Defaults to to the value of the uri setting, with ?session=KGB appended.


Per-server pass phrase. Defaults to the global password setting.


Timeout of the request. Defaults to the global timeout setting.


Directory to store information about the last successfully contacted server. If the request is soon after the last contact, the last server is tried first. This way related notifications tend to come out of the same server.

Content configuration


A list of regular expressions. These are matched against the path of the modified files and should have two captures in them -- the first capture is for the branch and the second capture is for the module.

This is useful with Subversion repositories where there is a single repository for the project, with all the modules and branches.


Same as branch-and-module-re, but captures are in reverse order -- module first and branch second.


A name of a branch to ignore. All changes in that branch are sent without branch info. Useful if most of the branches are made in one branch (e.g. trunk, master).


The name of the URL shortening service to use. If given, the service is used to shorten the result of web-link substitution.

See WWW::Shorten for the list of available services. Note that kgb-client comes with an additional service called Debli, which is primarily useful for clients running on Debian's collaboration server, alioth.


Send only a single line of the commit message to the channel. Possible values: auto|force|off.


(default) Uses single line notification if the commit log's second line is an empty string. Otherwise uses the whole commit log (as if set to off).


Uses only the first line of the commit log, ignoring the rest.


Uses the whole commit log, ignoring any empty lines.


If set to a true value will make the IRC bot use IRC notice messages instead of the ordinary privmsg messages.


If set to a false value will make the IRC bot use no color in the notifications.

Repository-specific configuration options

Some of the backends may support additional configuration options. See App::KGB::Client::Git, App::KGB::Client::Subversion and App::KGB::Client::CVS.

Example Confguration

 # vim: filetype=yaml
 repo-id: 'kgb'
 password: 'notknown'
 timeout: 7
 status-dir: '/home/proj/kgb-client/status'
  - '^/([^/]+)/(trunk|tags/(?:[^/]+))/'
  - '^/([^/]+)/branches/([^/]+)/'
  - '^/(website)/()'
 web-link: '${project}?view=revision&revision=${commit}'
 # web-link: '${project}/${module}.git;a=commitdiff;h=${commit}'
 #short-url-service: 'TinyURL'
 short-url-service: 'Debli'
 ignore-branch: 'trunk'
 use-irc-notices: 0
 use-color: 1
  - uri: ''
  - uri: ''
    timeout: 3
    password: 'notknowneither'

See Also

kgb-client(1), App::KGB::Client, WWW::Shorten, WWW::Shorten::Debli, kgb-bot(1)


Damyan Ivanov

Referenced By


2023-01-19 perl v5.36.0 User Contributed Perl Documentation