This is a patch release which introduces some improvements in get_R_package_usage()
on speed and possibility to pull at once data on multiple R packages, new get_storage()
function and some fixes for checking token scopes and setting hosts.
get_R_package_usage()
function:
packages
parameter replacing old package_name
) (#494),split_output
parameter has been added - when set to TRUE
a list
with tibbles
(every element of the list
for every package) instead of one tibble
is returned.get_repos()
(#492). Earlier this was only possible for GitHub organizations and GitLab groups.get_storage()
function to retrieve data from GitStats
object - whole or particular datasets (e.g. commits
, repositories
or R_package_usage
) (#509).GitHost
is not passed to GitStats
. This also applies to situation when GitStats
looks for default tokens (not defined by user). Earlier, if tests for token failed, an empty token was passed and GitStats
was created, which was misleading for the user.github.com
or https://github.com
) to set_github_host()
(#475).{host_url}
, http://{host_url}
or https://{host_url}
) to host
parameter in `set_*_host() function (#399).This minor release comes up with new get_files_structure()
function and adjustments to get_files_content()
so user can pull custom (by defining pattern of files and depth of directories) files tree from repository and pull their content.
get_files_structure()
function to pull files structure for a given repository with possibility to control level of directories (depth
parameter) and to limit output to files matching regex argument passed to pattern
parameter (#338). Together with that, get_files()
function was renamed to get_files_content()
to better reflect its purpose.get_files_content()
so it can make use of files_structure
pulled to GitStats
storage with get_files_structure()
function - if file_path
is set to NULL
and use_files_structure()
parameter to TRUE
(both are by default)(#467).progress
parameter to user functions to control showing of cli
progress bar separately from messages (which are controlled with verbose
) (#465).orgs
nor repos
specified) from warning to info (#456).gh-pages
, lint and check for bumping version.This is a patch release with substantial improvements to some functions (get_repos()
, get_files()
and get_R_package_usage()
), adding with_files
and in_files
parameters, fixing cache
feature and introducing new get_repos_urls()
function, a minimalist version of get_repos()
:
get_repos_urls()
function to fetch repository URLs (either web or API - choose with type
parameter). It may return also only these repository URLs that consist of a given file or files (with passing argument to with_files
parameter) or a text in code blobs (with_code
parameter). This is a minimalist version of get_repos()
, which takes out all the process of parsing (search response into repositories one) and adding statistics on repositories. This makes it poorer with content but faster. (#425).with_files
parameter to get_repos()
function, which makes it possible to search for repositories with a given file or files and return full output for repositories.with_code
parameter (as a character vector) in get_repos()
and get_repos_urls()
(282).in_files
parameter to get_repos()
which works with with_code
parameter. When both are defined, GitStats
searches code blobs only in given files.dplyr::glimpse()
from get_*()
functions, so there is printing to console only if get_*()
function is not assigned to the object (#426).get_R_package_usage()
consists now also of repository full name (#438).get_R_package_usage()
with optimizing search of package names in DESCRIPTION
and NAMESPACE
files by removing filtering method and replacing it with filename:
filter directly in search endpoint query (#428).get_files()
when scanning scope is set to repositories
. Earlier, it pulled given files from whole organizations, even if scanning scope was set to repos
with set_*_host()
. Now it shows only files for the given repositories (#439).verbose
parameter controls now showing of the progress bars (#453).This is a patch release with some hot issues that needed to be addressed, notably covering set_*_host()
functions with verbose
control, tweaking a bit verbose
feature in general, fixing pulling data for GitLab subgroups and speeding up get_files()
function.
GitStats
is set to scan whole hosts, with switching to Search API
instead of pulling files via GraphQL
(with iteration over organizations and repositories) (#411).orgs
or repos
) GitStats does not pull no more all organizations. Pulling all organizations from host is triggered only when user decides to pull repositories from organizations. If he decides, e.g. to pull repositories by code, there is no need to pull all organizations (which may be a time consuming process), as GitStats uses then Search API
(#393).set_*_host()
functions with verbose_off()
or verbose
parameter (#413).verbose
to FALSE
does not lead to hiding output of the get_*()
functions - i.e. a glimpse of table will always appear after pulling data, even if the verbose
is switched off. verbose
parameter serves now only the purpose to show and hide messages to user (#423).set_*_host()
function (#415)This is a major release with general changes in workflow (simplifying it), changes in setting GitStats
hosts, deprecation of some not very useful features (like plots, setting parameters separately) and new get_release_logs()
function.
set_host()
function is replaced with more explicit set_github_host()
and set_gitlab_host()
(#373). If you wish to connect to public host (e.g. api.github.com
), you do not need to pass argument to host
parameter.repositories
, commits
, R_package_usage
or other you should use directly corresponding get_*()
functions instead of pull_*()
which are deprecated. These get_*()
functions pull data from API, parse it into table, add some goodies (additional columns) if needed and return table instead of GitStats
object, which in our opinion is more intuitive and user-friendly (#345). That means you do not need to run in pipe two or three additional function calls as before, e.g. pull_repos(gitstats_object) %>% get_repos() %>% get_repos_stats()
, but you just run
get_repos(gitstats_object)
to get data you need.get_*()
function GitStats
will pull the data from its storage and not from API as for the first time, unless you change parameters for the function (e.g. starting date with since
in get_commits()
) or change directly the cache
parameter in the function. (#333)pull_repos_contributors()
as a separate function is deprecated. The parameter add_contributors
is now set by default to TRUE
in get_repos()
which seems more reasonable as user gets all the data.get_commits()
old parameters (date_from
and date_until
) were replaced with new, more concise (since
and until
).set_params()
function is removed. (#386) Now the logic is moved straight to get_*()
functions. For example, if you want to pull repositories with specific code blob
, you do not need to define anything with set_params()
(as previously with search_mode
and phrase
parameter) but you just simply run get_repos(with_code = 'your_code')
. (#333)verbose
have been introduced for limiting messages to user when pulling data - this parameter can be set in all get_*()
functions. You can also turn the verbose mode on/off globally with verbose_on()
/verbose_off()
functions.get_repos_stats()
function was deprecated as its role was unclear - unlike get_commit_stats()
it did not aggregate repositories data into new stats table, but added only some new numeric columns, like number of contributors (contributors_n
) or last activity in difftime
format, which is now done within get_repos()
function.team
and filtering by language
is no longer supported - these features where quite heavy for the package performance and did not bring much added value. If user needs, he can always filter the output (formatted responses pulled from API) by contributors or language. (#384)GitStats
, they have been deprecated as the package is meant to be basically for back end purposes and this is the field where developer's effort should now go (#381). If needed and requested, plot functions may be brought up once more in next releases.get_release_logs()
(#356).get_orgs()
is renamed to show_orgs()
to reflect that it does not pull data from API, but only shows what is in GitStats
object.author_login
and author_name
(#332). This is due to the mix of GitHub/GitLab handles and display names in the author
column (the original author name
field in commits API response).GitStats
object - now when you return GitStats
object in console, it prints GitStats
data divided into sections to give more readable information to user: scanning scope
(organizations and repositories), and storage
(the output tables stored in GitStats
with basic information on dimensions) (#329).contributors
response (#331).gts_to_posixt()
helper which took dependencies on stringr
was a cause for some users of passing empty value to since
parameter to commits endpoint which ended in Bad Request Error (400) and infinite loop of retrying the response (#360).pull_R_package_usage()
with get_R_package_usage()
functions to pull repositories where package name is found in DESCRIPTION or NAMESPACE files or code blobs with phrases related to using an R package (library(package)
, require(package)
) (#326, #341),pull_files()
with get_files()
to pull content of text files (#200).GitStats
with set_host()
function by using repos
parameter instead of orgs
(#330).id
to repo_id
and name
to repo_name
,default_branch
column to repositories output as a consequence of #200.get_*_stats()
functions to prepare summary stats from pulled data: repositories and commits (#276),gitstats_plot()
which takes as an input repos_stats
or commits_stats
class objects (#276),get_*
to pull_*
; get_*
functions are now to retrieve already pulled data from GitStats object (#294),setup()
to set_params()
(#294),set_connection()
to set_host()
(#271),add_team_member()
to set_team_member()
(#271).GITHUB_PAT
or GITLAB_PAT
), there is no need to pass them as an argument to set_host()
(#120),pull_users()
function to pull information on users (#199),orgs
are passed (#258),get_orgs()
function to print all organizations (#283),reset()
function (#270)reset_language()
or setting language
parameter to All
in setup()
function (#231)contributors
as basic stat when pulling repos
by org
and by phrase
to improve speed of pulling repositories data. Added pull_repos_contributors()
user function and add_contributors
parameter to pull_repos()
function to add conditionally information on contributors to repositories table (#235)api_url
column as an address to the repository, not the host (#201),%>%
) (#289).This is the first release of GitStats with given features:
create_gitstats()
- creating GitStats object,set_connection()
- adding hosts to GitStats object,setup()
- setting search parameter to org, team or phrase, setting programming language of repositories,get_repos()
- pulling repositories from GitHub and GitLab API in a standardized table,get_commits()
- pulling commits from GitHub and GitLab API in a standardized table,set_team_member()
- adding team members to GitStats object.