RepositoriesInterpreter

class RepositoriesInterpreter[F[_]](implicit evidence$1: Functor[F], client: HttpClient[F]) extends Repositories[F]
trait Repositories[F]
class Object
trait Matchable
class Any

Value members

Concrete methods

override def compareCommits(owner: String, repo: String, commitSha: String, baseSha: String, headers: Map[String, String]): F[GHResponse[CommitComparisonResponse]]

Compare any two commits in the same repository

Compare any two commits in the same repository

Value parameters:
baseSha

the base to compare against

commitSha

commit to compare against base

headers

optional user headers to include in the request

owner

of the repo

repo

name of the repo

Returns:

GhResponse[CommitComparisonResponse] comparison result

Definition Classes
override def createFile(owner: String, repo: String, path: String, message: String, content: Array[Byte], branch: Option[String], committer: Option[Committer], author: Option[Committer], headers: Map[String, String]): F[GHResponse[WriteFileResponse]]

Creates a new file in a repository.

Creates a new file in a repository.

Value parameters:
author

object containing information about the author (filled in with committer information if omitted)

branch

the branch name (defaults to the repository's default branch)

committer

object containing information about the committer (filled in with authenticated user information if omitted)

content

content in bytes, as they should be written to GitHub.

headers

optional user headers to include in the request

message

the message to be included in the commit.

owner

of the repo

path

the content path

repo

name of the repo

Returns:

GHResponse[WriteFileResponse] with details about the content created and the commit

Definition Classes
override def createRelease(owner: String, repo: String, tagName: String, name: String, body: String, targetCommitish: Option[String], draft: Option[Boolean], prerelease: Option[Boolean], headers: Map[String, String]): F[GHResponse[Release]]

Create a new release

Create a new release

Value parameters:
body

text describing the contents of the tag.

draft

true to create a draft (unpublished) release, false to createStatus a published one. Default: false

headers

optional user headers to include in the request

name

the name of the release.

owner

of the repo

prerelease

true to identify the release as a prerelease. false to identify the release as a full release. Default: false

repo

name of the repo

tagName

the name of the tag.

targetCommitish

specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually main).

Returns:

a GHResponse with Release

Definition Classes
override def createStatus(owner: String, repo: String, sha: String, state: String, target_url: Option[String], description: Option[String], context: Option[String], headers: Map[String, String]): F[GHResponse[Status]]

Create a status

Create a status

Value parameters:
context

identifier of the status maker

description

of the status

headers

optional user headers to include in the request

owner

of the repo

repo

name of the repo

sha

commit sha to create the status on

state

of the status: pending, success, error, or failure

target_url

url to associate with the status, will appear in the GitHub UI

Returns:

a GHResopnse with the created Status

Definition Classes
override def deleteFile(owner: String, repo: String, path: String, message: String, sha: String, branch: Option[String], committer: Option[Committer], author: Option[Committer], headers: Map[String, String]): F[GHResponse[WriteFileResponse]]

Deletes a file in a particular repo, resulting in a new commit.

Deletes a file in a particular repo, resulting in a new commit.

Value parameters:
author

object containing information about the author (filled in with committer information if omitted)

branch

the branch name (defaults to the repository's default branch)

committer

object containing information about the committer (filled in with authenticated user information if omitted)

headers

optional user headers to include in the request

message

the message to be included in the commit.

owner

of the repo

path

the content path

repo

name of the repo

sha

the blob sha of the file being replaced.

Returns:

GHResponse[WriteFileResponse] with no content and details about the commit which was added.

Definition Classes
override def get(owner: String, repo: String, headers: Map[String, String]): F[GHResponse[Repository]]

Get information of a particular repository

Get information of a particular repository

Value parameters:
headers

optional user headers to include in the request

owner

of the repo

repo

name of the repo

Returns:

GHResponse[Repository] repository details

Definition Classes
override def getCombinedStatus(owner: String, repo: String, ref: String, headers: Map[String, String]): F[GHResponse[CombinedStatus]]

Get the combined status for a specific ref

Get the combined status for a specific ref

Value parameters:
headers

optional user headers to include in the request

owner

of the repo

ref

commit SHA, branch name or tag name

repo

name of the commit

Returns:

a GHResponse with the combined status

Definition Classes
override def getContents(owner: String, repo: String, path: String, ref: Option[String], pagination: Option[Pagination], headers: Map[String, String]): F[GHResponse[NonEmptyList[Content]]]

Get the contents of a file or directory in a repository.

Get the contents of a file or directory in a repository.

The response could be a:

  • file
  • directory The response will be an array of objects, one object for each item in the directory. When listing the contents of a directory, submodules have their "type" specified as "file".
  • symlink If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the API responds with the content of the file. Otherwise, the API responds with an object describing the symlink itself.
  • submodule The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out the submodule at that specific commit. If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links["git"]) and the github.com URLs (html_url and _links["html"]) will have null values
Value parameters:
headers

optional user headers to include in the request

owner

of the repo

pagination

Limit and Offset for pagination

path

the content path

ref

the name of the commit/branch/tag. Default: the repository’s default branch (usually main or main)

repo

name of the repo

Returns:

GHResponse with the content details

Definition Classes
override def getRelease(releaseId: Long, owner: String, repo: String, headers: Map[String, String]): F[GHResponse[Option[Release]]]

Get a single release

Get a single release

Value parameters:
headers

optional user headers to include in the request

owner

of the repo

releaseId

id of the release

repo

name of the repo

Returns:

a GHResponse with List[Release]

Definition Classes
override def getRepoPermissionForUser(owner: String, repo: String, username: String, headers: Map[String, String]): F[GHResponse[UserRepoPermission]]

Get the repository permission of a collaborator

Get the repository permission of a collaborator

Value parameters:
headers

optional user headers to include in the request

owner

of the repo

repo

name of the repo

username

Github username

Returns:

a GHResponse with UserRepoPermission

Definition Classes
override def latestRelease(owner: String, repo: String, headers: Map[String, String]): F[GHResponse[Option[Release]]]

Latest release

Latest release

Value parameters:
headers

optional user headers to include in the request

owner

of the repo

repo

name of the repo

Returns:

a GHResponse with List[Release]

Definition Classes
override def listBranches(owner: String, repo: String, onlyProtected: Option[Boolean], pagination: Option[Pagination], headers: Map[String, String]): F[GHResponse[List[Branch]]]

Retrieve list of branches for a repo

Retrieve list of branches for a repo

Value parameters:
headers

optional user headers to include in the request

onlyProtected

Setting to true returns only protected branches

owner

of the repo

pagination

Limit and Offset for pagination

repo

name of the repo

Returns:

GHResponse[List[Branch]] List of branches

Definition Classes
override def listCollaborators(owner: String, repo: String, affiliation: Option[String], pagination: Option[Pagination], headers: Map[String, String]): F[GHResponse[List[User]]]

Fetch list of collaborators for the specified repository. For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.

Fetch list of collaborators for the specified repository. For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.

Value parameters:
affiliation

Filter collaborators returned by their affiliation. Can be one of outside, direct, all. Default: all

headers

optional user headers to include in the request

owner

of the repo

pagination

Limit and Offset for pagination

repo

name of the repo

Returns:

GHResponse[List[User]] List of collaborators within the specified repository

Definition Classes
override def listCommits(owner: String, repo: String, sha: Option[String], path: Option[String], author: Option[String], since: Option[String], until: Option[String], pagination: Option[Pagination], headers: Map[String, String]): F[GHResponse[List[Commit]]]

Retrieve the list of commits for a particular repo

Retrieve the list of commits for a particular repo

Value parameters:
author

GitHub login or email address by which to filter by commit author.

headers

optional user headers to include in the request

owner

of the repo

pagination

Limit and Offset for pagination

path

commits containing this file path will be returned

repo

name of the repo

sha

branch to start listing commits from

since

Only commits after this date will be returned

until

Only commits before this date will be returned

Returns:

GHResponse[List[Commit]] List of commit's details

Definition Classes
override def listContributors(owner: String, repo: String, anon: Option[String], pagination: Option[Pagination], headers: Map[String, String]): F[GHResponse[List[User]]]

Fetch contributors list for the the specified repository, sorted by the number of commits per contributor in descending order.

Fetch contributors list for the the specified repository, sorted by the number of commits per contributor in descending order.

Value parameters:
anon

Set to 1 or true to include anonymous contributors in results

headers

optional user headers to include in the request

owner

of the repo

pagination

Limit and Offset for pagination

repo

name of the repo

Returns:

GHResponse[List[User]] List of contributors associated with the specified repository.

Definition Classes
override def listOrgRepos(org: String, `type`: Option[String], pagination: Option[Pagination], headers: Map[String, String]): F[GHResponse[List[Repository]]]

List the repositories for a particular organization

List the repositories for a particular organization

Value parameters:
`type`

visibility of the retrieved repositories, can be "all", "public", "private", "forks", "sources" or "member"

headers

optional user headers to include in the request

org

organization for which we wish to retrieve the repositories

pagination

Limit and Offset for pagination

Returns:

GHResponse[List[Repository]] the list of repositories for this organization

Definition Classes
override def listReleases(owner: String, repo: String, pagination: Option[Pagination], headers: Map[String, String]): F[GHResponse[List[Release]]]

List of releases

List of releases

Value parameters:
headers

optional user headers to include in the request

owner

of the repo

pagination

Limit and Offset for pagination

repo

name of the repo

Returns:

a GHResponse with List[Release]

Definition Classes
override def listStatuses(owner: String, repo: String, ref: String, pagination: Option[Pagination], headers: Map[String, String]): F[GHResponse[List[Status]]]

List statuses for a commit

List statuses for a commit

Value parameters:
headers

optional user headers to include in the request

owner

of the repo

pagination

Limit and Offset for pagination

ref

commit SHA, branch name or tag name

repo

name of the repo

Returns:

a GHResponse with the status list

Definition Classes
override def listUserRepos(user: String, `type`: Option[String], pagination: Option[Pagination], headers: Map[String, String]): F[GHResponse[List[Repository]]]

List the repositories for a particular user

List the repositories for a particular user

Value parameters:
`type`

visibility of the retrieved repositories, can be "all", "public", "private", "forks", "sources" or "member"

headers

optional user headers to include in the request

user

user for which we wish to retrieve the repositories

Returns:

GHResponse[List[Repository]] the list of repositories for this user

Definition Classes
override def searchRepos(query: String, searchParams: List[SearchParam], pagination: Option[Pagination], headers: Map[String, String]): F[GHResponse[SearchReposResult]]

Search all repositories on GitHub.

Search all repositories on GitHub.

Value parameters:
headers

Optional headers to include in the request.

pagination

Limit and Offset for pagination

query

The query string for the search.

searchParams

List of search params.

Returns:

A GHResponse with the result of the search

Definition Classes
override def updateFile(owner: String, repo: String, path: String, message: String, content: Array[Byte], sha: String, branch: Option[String], committer: Option[Committer], author: Option[Committer], headers: Map[String, String]): F[GHResponse[WriteFileResponse]]

Updates an existing file in a repository.

Updates an existing file in a repository.

Value parameters:
author

object containing information about the author (filled in with committer information if omitted)

branch

the branch name (defaults to the repository's default branch)

committer

object containing information about the committer (filled in with authenticated user information if omitted)

content

the content of the file as it should be written to GitHub

headers

optional user headers to include in the request

message

the message to be included in the commit.

owner

of the repo

path

the content path

repo

name of the repo

sha

the blob sha of the file being replaced.

Returns:

GHResponse[WriteFileResponse] with details about the content updated and the commit

Definition Classes
override def userIsCollaborator(owner: String, repo: String, username: String, headers: Map[String, String]): F[GHResponse[Boolean]]

Get whether a user is a repository collaborator

Get whether a user is a repository collaborator

For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.

Value parameters:
headers

optional user headers to include in the request

owner

of the repo

repo

name of the repo

username

Github username

Returns:

a Boolean GHResponse

Definition Classes