Contents

Extends \Joomla\Github\AbstractPackage

GitHub API Repositories Contents class for the Joomla Framework.

These API methods let you retrieve the contents of files within a repository as Base64 encoded content. See media types for requesting raw or other formats.

link

https://developer.github.com/v3/repos/contents

since

1.0

Methods

__construct

Constructor.

__construct(\Joomla\Registry\Registry $options = null, \Joomla\Http\Http $client = null) 
inherited
since

1.0

Arguments

$options

\Joomla\Registry\RegistryGitHub options object.

$client

\Joomla\Http\HttpThe HTTP client object.

__get

Magic method to lazily create API objects

__get(string $name) : \Joomla\Github\AbstractPackage
inherited
since

1.0

throws

\InvalidArgumentException

Arguments

$name

stringName of property to retrieve

Response

\Joomla\Github\AbstractPackageGitHub API package object.

create

Create a file.

create(string $owner, string $repo, string $path, string $message, string $content, string $branch = 'master', string $authorName = '', string $authorEmail = '', string $committerName = '', string $committerEmail = '') : object

This method creates a new file in a repository.

Optional Parameters The author section is optional and is filled in with the committer information if omitted. If the committer information is omitted, the authenticated user’s information is used.

You must provide values for both name and email, whether you choose to use author or committer. Otherwise, you’ll receive a 500 status code.

throws

\UnexpectedValueException

Arguments

$owner

stringThe owner of the repository.

$repo

stringThe repository name.

$path

stringThe content path.

$message

stringThe commit message.

$content

stringThe new file content, Base64 encoded.

$branch

stringThe branch name. If not provided, uses the repository’s default branch (usually master).

$authorName

stringThe name of the author of the commit

$authorEmail

stringThe email of the author of the commit

$committerName

stringThe name of the committer of the commit

$committerEmail

stringThe email of the committer of the commit

Response

object

delete

Delete a file.

delete(string $owner, string $repo, string $path, string $message, string $sha, string $branch = 'master', string $authorName = '', string $authorEmail = '', string $committerName = '', string $committerEmail = '') : object

This method deletes a file in a repository.

throws

\UnexpectedValueException

Arguments

$owner

stringThe owner of the repository.

$repo

stringThe repository name.

$path

stringThe content path.

$message

stringThe commit message.

$sha

stringThe blob SHA of the file being replaced.

$branch

stringThe branch name. If not provided, uses the repository’s default branch (usually master).

$authorName

stringThe name of the author of the commit

$authorEmail

stringThe email of the author of the commit

$committerName

stringThe name of the committer of the commit

$committerEmail

stringThe email of the committer of the commit

Response

object

fetchUrl

Method to build and return a full request URL for the request. This method will add appropriate pagination details if necessary and also prepend the API url to have a complete URL for the request.

fetchUrl(string $path, integer $page, integer $limit) : string
inherited
since

1.0

note

As of 2.0 this method will return a Joomla\Uri\Uri object

Arguments

$path

stringURL to inflect

$page

integerPage to request

$limit

integerNumber of results to return per page

Response

stringThe request URL.

get

Get contents.

get(string $owner, string $repo, string $path, string $ref = '') : object

This method returns the contents of any file or directory in a repository.

since

1.0

Arguments

$owner

stringThe name of the owner of the GitHub repository.

$repo

stringThe name of the GitHub repository.

$path

stringThe content path.

$ref

stringThe String name of the Commit/Branch/Tag. Defaults to master.

Response

object

getReadme

Get the README.

getReadme(string $owner, string $repo, string $ref = '') : object

This method returns the preferred README for a repository.

since

1.0

Arguments

$owner

stringThe name of the owner of the GitHub repository.

$repo

stringThe name of the GitHub repository.

$ref

stringThe String name of the Commit/Branch/Tag. Defaults to master.

Response

object

processResponse

Process the response and decode it.

processResponse(\Joomla\Http\Response $response, integer $expectedCode = 200) : mixed
inherited
since

1.0

throws

\Joomla\Http\Exception\UnexpectedResponseException

Arguments

$response

\Joomla\Http\ResponseThe response.

$expectedCode

integerThe expected "good" code.

Response

mixed

update

Update a file.

update(string $owner, string $repo, string $path, string $message, string $content, string $sha, string $branch = 'master', string $authorName = '', string $authorEmail = '', string $committerName = '', string $committerEmail = '') : object

This method updates a file in a repository.

Optional Parameters The author section is optional and is filled in with the committer information if omitted. If the committer information is omitted, the authenticated user’s information is used.

You must provide values for both name and email, whether you choose to use author or committer. Otherwise, you’ll receive a 500 status code.

throws

\UnexpectedValueException

Arguments

$owner

stringThe owner of the repository.

$repo

stringThe repository name.

$path

stringThe content path.

$message

stringThe commit message.

$content

stringThe new file content, Base64 encoded.

$sha

stringThe blob SHA of the file being replaced.

$branch

stringThe branch name. If not provided, uses the repository’s default branch (usually master).

$authorName

stringThe name of the author of the commit

$authorEmail

stringThe email of the author of the commit

$committerName

stringThe name of the committer of the commit

$committerEmail

stringThe email of the committer of the commit

Response

object

Properties

options

Options for the GitHub object.

inherited
since

1.0

Type(s)

\Joomla\Registry\Registry

client

The HTTP client object to use in sending HTTP requests.

inherited
since

1.0

Type(s)

\Joomla\Github\Http

package

The package the object resides in

inherited
since

1.0

Type(s)

string

hookEvents

Array containing the allowed hook events

inherited
since

1.5.2

link

https://developer.github.com/webhooks/#events

note

From 1.4.0 to 1.5.1 this was named $events, it was renamed due to naming conflicts with package subclasses

Type(s)

array