To use a GitHub board, you'll need to set up authentication. This is likely to just work if you already use GitHub for other purposes since pins will inspect your GITHUB_PAT environment variable. Otherwise, you can follow the instructions at to get set up.

  repo = NULL,
  branch = NULL,
  token = NULL,
  path = "",
  host = "",
  name = "github",



The GitHub repository formatted as 'owner/repo', can be NULL if the GITHUB_PAT environment variable is set.


The branch to use to commit pins.


Token to use when GITHUB_PAT is not specified.


The subdirectory in the repo where the pins will be stored.


The URL of the GitHub API. You'll need to customise this to use GitHub enterprise, e.g. "https://yourhostname/api/v3".


An optional name used identify the board. This is no longer generally needed since you should be passing around an explicit board object.


Additional parameters required to initialize a particular board.

Large Files

A GitHub repo only supports files under 25MB in size (100MB in theory but there is additional overhead when using the GitHub API). To store large files, GitHub recommends storing them using GitHub Releases which support up to 2GB files, which is what pins uses. You don't need to do anything extra as this will happen behind the scenes, but don't be surprised if pins creates releases in your repo.

See also


if (FALSE) { # the following example requires a GitHub API key board <- board_github(repo = "owner/repo") }