GitData

trait GitData[F[_]]
class Object
trait Matchable
class Any

Value members

Abstract methods

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

Value parameters:
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

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

Value parameters:
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

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.

Value parameters:
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

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

Value parameters:
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

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.

Value parameters:
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

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

Value parameters:
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

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

Value parameters:
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

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.

Value parameters:
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

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

Value parameters:
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

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

Value parameters:
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