Skip to contents

This function fetches repository information from GitHub for a specified user or organization, with options to filter and limit the results.

Usage

repos(
  owner,
  type = "owner",
  per_page = 100,
  max_pages = 10,
  filter_regex = NULL,
  quiet = FALSE
)

Arguments

owner

Character string specifying the GitHub username or organization name

type

Character string specifying the type of repositories to list: "all", "owner", "public", "private", or "member". Default is "owner".

per_page

Number of repositories to return per page. Default is 100.

max_pages

Maximum number of pages to retrieve. Default is 10.

filter_regex

Optional regular expression to filter repositories by name

quiet

Logical; if TRUE, suppresses progress and status messages. Default is FALSE.

Value

Returns a data.frame of repositories with the following columns:

name

Character, repository name without owner prefix

full_name

Character, complete repository identifier (owner/repo)

default_branch

Character, the name of the default branch (e.g., "main" or "master")

private

Logical, TRUE if repository is private, FALSE if public

Examples

if (FALSE) { # interactive()
# Get all repositories owned by a user
user_repos <- repos("username")

# Get only public repositories for an organization
org_public_repos <- repos("orgname", type = "public")

# Filter repositories by name pattern
api_repos <- repos("orgname", filter_regex = "^api-")

# Limit the number of fetched repositories
limited_repos <- repos("large-org", per_page = 50, max_pages = 2)
}