solidation
is a Python program for producing a Markdown report of recent
issue & pull request activity across a set of GitHub repositories.
solidation [<options>]
solidation
reads from a configuration file (solidation.yaml
by default,
though a different one can be specified with the -c
/--config
option) and
outputs a Markdown report to standard output. It is recommended to set a
GitHub API token to use for API requests via the GITHUB_TOKEN
environment
variable.
-c <FILE>
, --config <FILE>
— Specify the configuration file to use;
defaults to solidation.yaml
. See "Configuration" below for details.
-l <LEVEL>
, --log-level <LEVEL>
— Set the log level to the given value.
Possible values are "CRITICAL
", "ERROR
", "WARNING
", "INFO
", "DEBUG
"
(all case-insensitive) and their Python integer equivalents. [default value:
INFO]
The configuration file is a YAML file containing a mapping with the following keys (all optional):
project
(string) — The name of the project to which the detailed
repositories belong, used in the header of the report; defaults to "Project".
repositories
(list of mappings) — A list of repositories for which to fetch
recent issue & pull request activity. Each repository is specified as a
mapping with the following fields:
name
(string; required) — The name of the GitHub repository, in the
form "OWNER/NAME"member_activity_only
(boolean) — Whether to restrict the issues & pull
requests fetched for this repository to just those created or assigned to
users listed in (or automatically added to) members
; defaults to
false
As a convenience, a repository may instead be specified as just a string of
the form "OWNER/NAME", which is equivalent to specifying a mapping with
that as the name
and the default values for all other fields.
organizations
(list of mappings) — A list of GitHub organizations whose
repositories will all have their recent issue & pull request activity
fetched. Each organization is specified as a mapping with the following
fields:
name
(string; required) — The name of the GitHub organizationfetch_members
(boolean or regex) — Whether to automatically add the
organization's members to the members
list; a value of False
(the
default) means to not add any members, a value of True
means to add all
members, and a regex value means to add those members whose login names
match the given regex (anchored at the start)member_activity_only
(boolean) — Whether to restrict the issues & pull
requests fetched for this organization's repositories to just those
created or assigned to users listed in (or automatically added to)
members
; defaults to false
As a convenience, an organization may instead be specified as just a
string, which is equivalent to specifying a mapping with that as the name
and the default values for all other fields.
members
(list of strings) — A list of the login names of GitHub users that
should be considered part of the project being reported on; this can be
automatically extended with one or more organizations' members by setting
those organizations' fetch_members
fields appropriately. The list of
members is used to filter out issues for the "Non-{project} member issues"
section and to filter activity for repositories & organizations for which
member_activity_only
is true.
recent_days
(integer) — The number of days to look back for recent issue &
pull request activity; defaults to 7.
num_oldest_prs
(integer) — Number of pull requests to list for the "oldest,
open, non-draft PRs" section; defaults to 10.
max_random_issues
(integer) — Maximum number of issues to list for the
"random open issues to fix" section; defaults to 5.
datalad (13/464/388/26/104); dl-gooey (2/51/4/7/6); dl-container (2/30/9/9/14); dl-deprecated (2/34/0/7/3); dl-metalad (2/110/9/9/10); dl-fuse (2/19/1/4/2); dl-catalog (2/47/10/8/9); dl-neuroimaging (4/27/16/12/13); dl-ukbiobank (0/10/4/5/8); dl-installer (0/3/4/4/2); dl-osf (1/18/13/12/11); dl-crawler (0/34/5/9/16); dl-xnat (1/13/3/12/8); dl-next (4/47/4/8/6); dl-dataverse (3/24/9/8/10); dl-ebrains (0/8/1/4/4); datasets.datalad.org (0/31/6/5/4); datalad.org (1/8/5/13/10); dl-mihextras (1/2/1/2/1); dl-debian (4/39/1/7/5)
meta-dumps
path-parameter to include metadata format as a selection criteria [datalad/datalad-metalad]sphinx-jsonschema
to render schema in docs [datalad/datalad-catalog]git annex testremote
may run into path length issues on windows (224 days)GitRepo.diffstatus()
with typechange detection (205 days)QWebEngineView
(126 days)