GitDataInterpreter

github4s.interpreters.GitDataInterpreter
class GitDataInterpreter[F[_]](implicit client: HttpClient[F]) extends GitData[F]

Attributes

Graph
Supertypes
trait GitData[F]
class Object
trait Matchable
class Any

Members list

Concise view

Value members

Concrete methods

override def createBlob(owner: String, repo: String, content: String, encoding: Option[String], headers: Map[String, String]): F[GHResponse[RefInfo]]

Create a new Blob

Create a new Blob

Attributes

content

the new blob's content.

encoding

the encoding used for content. Currently, "utf-8" and "base64" are supported. Default: "utf-8".

headers

optional user headers to include in the request

owner

of the repo

repo

name of the repo

Returns:

a GHResponse with RefObject

Definition Classes
override def createCommit(owner: String, repo: String, message: String, tree: String, parents: List[String], author: Option[RefAuthor], headers: Map[String, String]): F[GHResponse[RefCommit]]

Create a new Commit

Create a new Commit

Attributes

author

object containing information about the author.

headers

optional user headers to include in the request

message

the new commit's message.

owner

of the repo

parents

the SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided.

repo

name of the repo

tree

the SHA of the tree object this commit points to

Returns:

a GHResponse with RefCommit

Definition Classes
override def createReference(owner: String, repo: String, ref: String, sha: String, headers: Map[String, String]): F[GHResponse[Ref]]

Create a Reference

Create a Reference

The ref in the URL must be formatted as heads/branch, not just branch. For example, the call to get the data for main branch will be heads/main.

Attributes

headers

optional user headers to include in the request

owner

of the repo

ref

The name of the fully qualified reference (ie: refs/heads/main). If it doesn't start with 'refs' and have at least two slashes, it will be rejected.

repo

name of the repo

sha

the SHA1 value to set this reference to

Returns:

a GHResponse with the Ref

Definition Classes
override def createTag(owner: String, repo: String, tag: String, message: String, objectSha: String, objectType: String, author: Option[RefAuthor], headers: Map[String, String]): F[GHResponse[Tag]]

Create a Tag

Create a Tag

Attributes

author

object containing information about the individual creating the tag.

headers

optional user headers to include in the request

message

the new tag message.

objectSha

the SHA of the git object this is tagging

objectType

the type of the object we're tagging. Normally this is a commit but it can also be a tree or a blob.

owner

of the repo

repo

name of the repo

tag

the tag.

Returns:

a GHResponse with Tag

Definition Classes
override def createTree(owner: String, repo: String, baseTree: Option[String], treeDataList: List[TreeData], headers: Map[String, String]): F[GHResponse[TreeResult]]

Create a new Tree

Create a new Tree

The tree creation API will take nested entries as well. If both a tree and a nested path modifying that tree are specified, it will overwrite the contents of that tree with the new path contents and write a new tree out.

IMPORTANT: If you don't set the baseTree, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.

Attributes

baseTree

the SHA1 of the tree you want to update with new data.

headers

optional user headers to include in the request

owner

of the repo

repo

name of the repo

treeDataList

list (of path, mode, type, and sha/blob) specifying a tree structure:

  • path: The file referenced in the tree
  • mode: The file mode; one of 100644 for file (blob), 100755 for executable (blob), 040000 for subdirectory (tree), 160000 for submodule (commit), or 120000 for a blob that specifies the path of a symlink
  • type string Either blob, tree, or commit
  • sha string The SHA1 checksum ID of the object in the tree
  • content string The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or tree.sha.
Returns:

a GHResponse with TreeResult

Definition Classes
override def getBlob(owner: String, repo: String, fileSha: String, headers: Map[String, String]): F[GHResponse[BlobContent]]

Get a Blob by sha

Get a Blob by sha

Attributes

fileSha

to identify the blob

headers

optional user headers to include in the request

owner

of the repo

repo

name of the repo

Returns:

a GHResponse with BlobContent

Definition Classes
override def getCommit(owner: String, repo: String, sha: String, headers: Map[String, String]): F[GHResponse[RefCommit]]

Get a Commit by sha

Get a Commit by sha

Attributes

headers

optional user headers to include in the request

owner

of the repo

repo

name of the repo

sha

the sha of the commit

Returns:

a GHResponse with the Commit

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

Get a Reference by name

Get a Reference by name

The ref in the URL must be formatted as heads/branch, not just branch. For example, the call to get the data for main branch will be heads/main.

If the ref doesn't exist in the repository, but existing refs start with ref they will be returned as an array. For example, a call to get the data for a branch named feature, which doesn't exist, would return head refs including featureA and featureB which do.

Attributes

headers

optional user headers to include in the request

owner

of the repo

pagination

Limit and Offset for pagination

ref

ref formatted as heads/branch

repo

name of the repo

Returns:

a GHResponse with the Ref list

Definition Classes
override def getTree(owner: String, repo: String, sha: String, recursive: Boolean, headers: Map[String, String]): F[GHResponse[TreeResult]]

Get a Tree by sha

Get a Tree by sha

Attributes

headers

optional user headers to include in the request

owner

of the repo

recursive

flag whether to get the tree recursively

repo

name of the repo

sha

the sha of the tree

Returns:

a GHResponse with the Tree

Definition Classes
override def updateReference(owner: String, repo: String, ref: String, sha: String, force: Boolean, headers: Map[String, String]): F[GHResponse[Ref]]

Update a Reference

Update a Reference

Attributes

force

Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to false will make sure you're not overwriting work. Default: false

headers

optional user headers to include in the request

owner

of the repo

ref

ref formatted as heads/branch

repo

name of the repo

sha

the SHA1 value to set this reference to

Returns:

a GHResponse with the Ref

Definition Classes