Provided by: pkg-perl-tools_0.42_all 

NAME
dpt-salsa - manage repositories and members of the perl-team on salsa.debian.org
SYNOPSIS
dpt salsa [--help|--man|--json|--all|--attic] subcommand [parameters]
DESCRIPTION
dpt-salsa is basically a wrapper around GitLab::API::v4, similar to gitlab-api-v4(1), with various
variables regarding salsa.debian.org and the modules subgroup of the perl-team group already preset and
typical method calls encapsulated.
It offers subcommands to manage repositories and members of the modules subgroup with hopefully less
typing then calling the API manually each time.
Make sure to check the "CONFIGURATION" section below if you use dpt-salsa for the first time.
SUBCOMMANDS
for managing repositories
createrepo repositoryname
Creates a new repository in the modules subgroup and calls "configurerepo()".
Parameters:
repositoryname
Name of the repository to be added; usually the package name. Required.
pushrepo
Creates a new repository in the modules subgroup and pushes the local repository.
configurerepo repositoryid|repositoryname
Sets up the default webhooks and services for one repository.
Parameters:
repositoryid|repositoryname
The repository to be configured. Either its id (\d+) or name (\w+). Required.
configurerepo --all [--attic]
Sets up the default webhooks and services for all active (or, with "--attic", archived) repositories.
kgb repo|--all [--attic] --on|--off
Install ("--on") or remove ("--off") the KGB IRC notification webhook for the given, all active
("--all"), or all archive ("--attic") repositories.
If a KGB notification webhook is already present, "--on" does nothing.
changerepo repositoryid|repositoryname name|description "parameter"
Changes the name (and the path) or the description of a repository.
Parameters:
repositoryid|repositoryname
The repository to be configured. Either its id (\d+) or name (\w+). Required.
name|description
What should be changed? The name or the description of the repository. Required.
parameter
The new name or description. Required.
toattic|fromattic repositoryid|repositoryname
Moves a repository to/from the attic sub-group of the modules sub-group. Useful when a package is
removed from the archive.
WARNING: Not implemented. According to
<https://docs.gitlab.com/ce/api/groups.html#transfer-project-to-group> this only works for admins. Trying
it via GitLab::API::v4 leads to a "403 forbidden" error. Use the web interface (which requires an extra
confirmation step) for now.
listrepos [--json] [--attic]
Show all active (or, with "--attic", archived) repositories in the modules subgroup.
If used with "--all", returns repository ids and does not output anything; for internal use.
for managing users
adduser username|userid [access_level]
Adds a user to the modules subgroup of the perl-team group.
Parameters:
username|userid
The user to be added. Either their id (\d+) or their username (\w+). Required.
access_level
One of GitLab's access levels: guest, reporter, developer, master, owner. Optional, defaults to
"master".
removeuser username|userid
Removes a user from the modules subgroup of the perl-team group.
Parameters:
username|userid
The user to be removed. Either their id (\d+) or their username (\w+). Required.
changeuser access_level username|userid
Change the access level of one user in the modules subgroup of the perl-team group.
Parameters:
access_level
One of GitLab's access levels: guest, reporter, developer, master, owner. Required.
username|userid
The user whose access level is to be changed. Either their id (\d+) or their username (\w+).
Required.
changeuser access_level --all
Change the access level of all users in the modules subgroup of the perl-team group.
Parameters:
access_level
One of GitLab's access levels: guest, reporter, developer, master, owner. Required.
listmembers [--json]
Show all members of the modules subgroup of the perl-team group.
If used with "--all", returns user ids and does not output anything; for internal use.
others
mrconfig
Helper for creating a .mrconfig.packages file in the local clone of "meta.git" for all active packages of
the modules subgroup of the perl-team group. Also writes to stdout which can be included from .mrconfig.
githashes
Helper for creating .git.hashes/PKGNAME files in the local clone of "meta.git" for all active packages of
the modules subgroup of the perl-team group which are then used by compare-hashes in .mrconfig.
current_user [--json]
Outputs information about the user whose GitLab token is used.
help
Same as option --help.
version [--json]
Returns the version of the GitLab instance running on salsa.debian.org.
This subcommand is pretty useless, the only excuse for its existence is the ability to test if everything
is working fine.
OPTIONS
--help
Show short help.
--man
Show complete manpage.
--all
Act on all users or repositories, not a single named one. Only for specific subcommands, as noted in
their description.
--attic
Act on archived repositories instead of active ones. Only for specific subcommands, as noted in
their description.
--json
Format output as JSON instead of human-targeted text. Only for specific subcommands, as noted in
their description.
CONFIGURATION
dpt-salsa uses the following environment variables, set either directly or via ~/.dpt.conf /
~/.config/dpt.conf:
DPT_SALSA_PRIVATE_TOKEN
required, no default, obviously
These tokens are created at <https://salsa.debian.org/profile/personal_access_tokens>.
DPT_SALSA_API_URL
optional, default: https://salsa.debian.org/api/v4
DPT_SALSA_PERL_TEAM_PATH
optional, default: perl-team
DPT_SALSA_PERL_TEAM_ID
optional, default: 2663
DPT_SALSA_PERL_TEAM_INTERPRETER_PATH
optional, default: perl-team/interpreter
DPT_SALSA_PERL_TEAM_INTERPRETER_ID
optional, default: 2664
DPT_SALSA_PERL_TEAM_MODULES_PATH
optional, default: perl-team/modules
DPT_SALSA_PERL_TEAM_MODULES_ID
optional, default: 2665
DPT_SALSA_PERL_TEAM_MODULES_PACKAGES_PATH
optional, default: perl-team/modules/packages
DPT_SALSA_PERL_TEAM_MODULES_PACKAGES_ID
optional, default: 2666
DPT_SALSA_PERL_TEAM_MODULES_ATTIC_PATH
optional, default: perl-team/modules/attic
DPT_SALSA_PERL_TEAM_MODULES_ATTIC_ID
optional, default: 2667
DPT_SALSA_PERL_TEAM_MODULES_META_PATH
optional, default: perl-team/modules/meta
DPT_SALSA_PERL_TEAM_MODULES_META_ID
optional, default: 13881
DPT_SALSA_PERL_TEAM_MODULES_WEBSITE_PATH
optional, default: perl-team/modules/website
DPT_SALSA_PERL_TEAM_MODULES_WEBSITE_ID
optional, default: 13873
DPT_SALSA_PERL_TEAM_PAGES_PATH
optional, default: perl-team/perl-team.pages.debian.net
DPT_SALSA_PERL_TEAM_PAGES_ID
optional, default: 11266
DPT_SALSA_PERL_TEAM_SCRIPTS_PATH
optional, default: perl-team/scripts
DPT_SALSA_PERL_TEAM_SCRIPTS_ID
optional, default: 13429
DPT_PACKAGES
only used by the mrconfig subcommand, no default; most probably already set for use with other dpt
commands.
Cf. dpt-config(5).
SEE ALSO
<https://salsa.debian.org/perl-team>
GitLab::API::v4
<https://docs.gitlab.com/ce/api/>
COPYRIGHT AND LICENSE
Copyright 2018, gregor herrmann <gregoa@debian.org>
Released under the same terms as Perl itself, i.e. Artistic or GPL-1+.
pkg-perl-tools 0.42 2018-02-24 dpt-salsa(1)