Struct roctogen::endpoints::repos::Repos [−][src]
pub struct Repos<'api> { /* fields omitted */ }
Implementations
pub async fn accept_invitation_for_authenticated_user_async(
&self,
invitation_id: i32
) -> Result<(), ReposAcceptInvitationForAuthenticatedUserError>
pub async fn accept_invitation_for_authenticated_user_async(
&self,
invitation_id: i32
) -> Result<(), ReposAcceptInvitationForAuthenticatedUserError>
pub fn accept_invitation_for_authenticated_user(
&self,
invitation_id: i32
) -> Result<(), ReposAcceptInvitationForAuthenticatedUserError>
pub fn accept_invitation_for_authenticated_user(
&self,
invitation_id: i32
) -> Result<(), ReposAcceptInvitationForAuthenticatedUserError>
pub async fn add_app_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposAddAppAccessRestrictions
) -> Result<Vec<Integration>, ReposAddAppAccessRestrictionsError>
pub async fn add_app_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposAddAppAccessRestrictions
) -> Result<Vec<Integration>, ReposAddAppAccessRestrictionsError>
Add app access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Grants the specified apps push access for this branch. Only installed GitHub Apps with write
access to the contents
permission can be added as authorized actors on a protected branch.
Type | Description |
---|---|
array | The GitHub Apps that have push access to this branch. Use the app’s slug . Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for add_app_access_restrictions
pub fn add_app_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposAddAppAccessRestrictions
) -> Result<Vec<Integration>, ReposAddAppAccessRestrictionsError>
pub fn add_app_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposAddAppAccessRestrictions
) -> Result<Vec<Integration>, ReposAddAppAccessRestrictionsError>
Add app access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Grants the specified apps push access for this branch. Only installed GitHub Apps with write
access to the contents
permission can be added as authorized actors on a protected branch.
Type | Description |
---|---|
array | The GitHub Apps that have push access to this branch. Use the app’s slug . Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for add_app_access_restrictions
pub async fn add_collaborator_async(
&self,
owner: &str,
repo: &str,
username: &str,
body: PutReposAddCollaborator
) -> Result<RepositoryInvitation, ReposAddCollaboratorError>
pub async fn add_collaborator_async(
&self,
owner: &str,
repo: &str,
username: &str,
body: PutReposAddCollaborator
) -> Result<RepositoryInvitation, ReposAddCollaboratorError>
Add a repository collaborator
This endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. See “Secondary rate limits” and “Dealing with secondary rate limits” for details.
For more information on permission levels, see “Repository permission levels for an organization”. There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with:
Cannot assign {member} permission of {role name}
Note that, if you choose not to pass any parameters, you’ll need to set Content-Length
to zero when calling out to this endpoint. For more information, see “HTTP verbs.”
The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the repository invitations API endpoints.
Rate limits
You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository.
GitHub API docs for add_collaborator
pub fn add_collaborator(
&self,
owner: &str,
repo: &str,
username: &str,
body: PutReposAddCollaborator
) -> Result<RepositoryInvitation, ReposAddCollaboratorError>
pub fn add_collaborator(
&self,
owner: &str,
repo: &str,
username: &str,
body: PutReposAddCollaborator
) -> Result<RepositoryInvitation, ReposAddCollaboratorError>
Add a repository collaborator
This endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. See “Secondary rate limits” and “Dealing with secondary rate limits” for details.
For more information on permission levels, see “Repository permission levels for an organization”. There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with:
Cannot assign {member} permission of {role name}
Note that, if you choose not to pass any parameters, you’ll need to set Content-Length
to zero when calling out to this endpoint. For more information, see “HTTP verbs.”
The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the repository invitations API endpoints.
Rate limits
You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository.
GitHub API docs for add_collaborator
pub async fn add_status_check_contexts_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposAddStatusCheckContexts
) -> Result<Vec<String>, ReposAddStatusCheckContextsError>
pub async fn add_status_check_contexts_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposAddStatusCheckContexts
) -> Result<Vec<String>, ReposAddStatusCheckContextsError>
Add status check contexts
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for add_status_check_contexts
pub fn add_status_check_contexts(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposAddStatusCheckContexts
) -> Result<Vec<String>, ReposAddStatusCheckContextsError>
pub fn add_status_check_contexts(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposAddStatusCheckContexts
) -> Result<Vec<String>, ReposAddStatusCheckContextsError>
Add status check contexts
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for add_status_check_contexts
pub async fn add_team_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposAddTeamAccessRestrictions
) -> Result<Vec<Team>, ReposAddTeamAccessRestrictionsError>
pub async fn add_team_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposAddTeamAccessRestrictions
) -> Result<Vec<Team>, ReposAddTeamAccessRestrictionsError>
Add team access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Grants the specified teams push access for this branch. You can also give push access to child teams.
Type | Description |
---|---|
array | The teams that can have push access. Use the team’s slug . Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for add_team_access_restrictions
pub fn add_team_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposAddTeamAccessRestrictions
) -> Result<Vec<Team>, ReposAddTeamAccessRestrictionsError>
pub fn add_team_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposAddTeamAccessRestrictions
) -> Result<Vec<Team>, ReposAddTeamAccessRestrictionsError>
Add team access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Grants the specified teams push access for this branch. You can also give push access to child teams.
Type | Description |
---|---|
array | The teams that can have push access. Use the team’s slug . Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for add_team_access_restrictions
pub async fn add_user_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposAddUserAccessRestrictions
) -> Result<Vec<SimpleUser>, ReposAddUserAccessRestrictionsError>
pub async fn add_user_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposAddUserAccessRestrictions
) -> Result<Vec<SimpleUser>, ReposAddUserAccessRestrictionsError>
Add user access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Grants the specified people push access for this branch.
Type | Description |
---|---|
array | Usernames for people who can have push access. Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for add_user_access_restrictions
pub fn add_user_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposAddUserAccessRestrictions
) -> Result<Vec<SimpleUser>, ReposAddUserAccessRestrictionsError>
pub fn add_user_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposAddUserAccessRestrictions
) -> Result<Vec<SimpleUser>, ReposAddUserAccessRestrictionsError>
Add user access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Grants the specified people push access for this branch.
Type | Description |
---|---|
array | Usernames for people who can have push access. Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for add_user_access_restrictions
pub async fn check_collaborator_async(
&self,
owner: &str,
repo: &str,
username: &str
) -> Result<(), ReposCheckCollaboratorError>
pub async fn check_collaborator_async(
&self,
owner: &str,
repo: &str,
username: &str
) -> Result<(), ReposCheckCollaboratorError>
Check if 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.
Team members will include the members of child teams.
GitHub API docs for check_collaborator
pub fn check_collaborator(
&self,
owner: &str,
repo: &str,
username: &str
) -> Result<(), ReposCheckCollaboratorError>
pub fn check_collaborator(
&self,
owner: &str,
repo: &str,
username: &str
) -> Result<(), ReposCheckCollaboratorError>
Check if 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.
Team members will include the members of child teams.
GitHub API docs for check_collaborator
pub async fn check_vulnerability_alerts_async(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposCheckVulnerabilityAlertsError>
pub async fn check_vulnerability_alerts_async(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposCheckVulnerabilityAlertsError>
Check if vulnerability alerts are enabled for a repository
Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin access to the repository. For more information, see “About security alerts for vulnerable dependencies”.
GitHub API docs for check_vulnerability_alerts
pub fn check_vulnerability_alerts(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposCheckVulnerabilityAlertsError>
pub fn check_vulnerability_alerts(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposCheckVulnerabilityAlertsError>
Check if vulnerability alerts are enabled for a repository
Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin access to the repository. For more information, see “About security alerts for vulnerable dependencies”.
GitHub API docs for check_vulnerability_alerts
pub async fn compare_commits_async(
&self,
owner: &str,
repo: &str,
basehead: &str,
query_params: Option<impl Into<ReposCompareCommitsParams>>
) -> Result<CommitComparison, ReposCompareCommitsError>
pub async fn compare_commits_async(
&self,
owner: &str,
repo: &str,
basehead: &str,
query_params: Option<impl Into<ReposCompareCommitsParams>>
) -> Result<CommitComparison, ReposCompareCommitsError>
Compare two commits
The basehead
param is comprised of two parts: base
and head
. Both must be branch names in repo
. To compare branches across other repositories in the same network as repo
, use the format <USERNAME>:branch
.
The response from the API is equivalent to running the git log base..head
command; however, commits are returned in chronological order. Pass the appropriate media type to fetch diff and patch formats.
The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a renamed
status have a previous_filename
field showing the previous filename of the file, and files with a modified
status have a patch
field showing the changes made to the file.
Working with large comparisons
To process a response with a large number of commits, you can use (per_page
or page
) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see “Traversing with pagination.”
When calling this API without any paging parameters (per_page
or page
), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest.
Signature verification object
The response will include a verification
object that describes the result of verifying the commit’s signature. The following fields are included in the verification
object:
Name | Type | Description |
---|---|---|
verified | boolean | Indicates whether GitHub considers the signature in this commit to be verified. |
reason | string | The reason for verified value. Possible values and their meanings are enumerated in table below. |
signature | string | The signature that was extracted from the commit. |
payload | string | The value that was signed. |
These are the possible values for reason
in the verification
object:
Value | Description |
---|---|
expired_key | The key that made the signature is expired. |
not_signing_key | The “signing” flag is not among the usage flags in the GPG key that made the signature. |
gpgverify_error | There was an error communicating with the signature verification service. |
gpgverify_unavailable | The signature verification service is currently unavailable. |
unsigned | The object does not include a signature. |
unknown_signature_type | A non-PGP signature was found in the commit. |
no_user | No user was associated with the committer email address in the commit. |
unverified_email | The committer email address in the commit was associated with a user, but the email address is not verified on her/his account. |
bad_email | The committer email address in the commit is not included in the identities of the PGP key that made the signature. |
unknown_key | The key that made the signature has not been registered with any user’s account. |
malformed_signature | There was an error parsing the signature. |
invalid | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |
valid | None of the above errors applied, so the signature is considered to be verified. |
GitHub API docs for compare_commits
pub fn compare_commits(
&self,
owner: &str,
repo: &str,
basehead: &str,
query_params: Option<impl Into<ReposCompareCommitsParams>>
) -> Result<CommitComparison, ReposCompareCommitsError>
pub fn compare_commits(
&self,
owner: &str,
repo: &str,
basehead: &str,
query_params: Option<impl Into<ReposCompareCommitsParams>>
) -> Result<CommitComparison, ReposCompareCommitsError>
Compare two commits
The basehead
param is comprised of two parts: base
and head
. Both must be branch names in repo
. To compare branches across other repositories in the same network as repo
, use the format <USERNAME>:branch
.
The response from the API is equivalent to running the git log base..head
command; however, commits are returned in chronological order. Pass the appropriate media type to fetch diff and patch formats.
The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a renamed
status have a previous_filename
field showing the previous filename of the file, and files with a modified
status have a patch
field showing the changes made to the file.
Working with large comparisons
To process a response with a large number of commits, you can use (per_page
or page
) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see “Traversing with pagination.”
When calling this API without any paging parameters (per_page
or page
), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest.
Signature verification object
The response will include a verification
object that describes the result of verifying the commit’s signature. The following fields are included in the verification
object:
Name | Type | Description |
---|---|---|
verified | boolean | Indicates whether GitHub considers the signature in this commit to be verified. |
reason | string | The reason for verified value. Possible values and their meanings are enumerated in table below. |
signature | string | The signature that was extracted from the commit. |
payload | string | The value that was signed. |
These are the possible values for reason
in the verification
object:
Value | Description |
---|---|
expired_key | The key that made the signature is expired. |
not_signing_key | The “signing” flag is not among the usage flags in the GPG key that made the signature. |
gpgverify_error | There was an error communicating with the signature verification service. |
gpgverify_unavailable | The signature verification service is currently unavailable. |
unsigned | The object does not include a signature. |
unknown_signature_type | A non-PGP signature was found in the commit. |
no_user | No user was associated with the committer email address in the commit. |
unverified_email | The committer email address in the commit was associated with a user, but the email address is not verified on her/his account. |
bad_email | The committer email address in the commit is not included in the identities of the PGP key that made the signature. |
unknown_key | The key that made the signature has not been registered with any user’s account. |
malformed_signature | There was an error parsing the signature. |
invalid | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |
valid | None of the above errors applied, so the signature is considered to be verified. |
GitHub API docs for compare_commits
pub async fn create_autolink_async(
&self,
owner: &str,
repo: &str,
body: PostReposCreateAutolink
) -> Result<Autolink, ReposCreateAutolinkError>
pub async fn create_autolink_async(
&self,
owner: &str,
repo: &str,
body: PostReposCreateAutolink
) -> Result<Autolink, ReposCreateAutolinkError>
Create an autolink reference for a repository
Users with admin access to the repository can create an autolink.
GitHub API docs for create_autolink
pub fn create_autolink(
&self,
owner: &str,
repo: &str,
body: PostReposCreateAutolink
) -> Result<Autolink, ReposCreateAutolinkError>
pub fn create_autolink(
&self,
owner: &str,
repo: &str,
body: PostReposCreateAutolink
) -> Result<Autolink, ReposCreateAutolinkError>
Create an autolink reference for a repository
Users with admin access to the repository can create an autolink.
GitHub API docs for create_autolink
pub async fn create_commit_comment_async(
&self,
owner: &str,
repo: &str,
commit_sha: &str,
body: PostReposCreateCommitComment
) -> Result<CommitComment, ReposCreateCommitCommentError>
pub async fn create_commit_comment_async(
&self,
owner: &str,
repo: &str,
commit_sha: &str,
body: PostReposCreateCommitComment
) -> Result<CommitComment, ReposCreateCommitCommentError>
Create a commit comment
Create a comment for a commit using its :commit_sha
.
This endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. See “Secondary rate limits” and “Dealing with secondary rate limits” for details.
GitHub API docs for create_commit_comment
pub fn create_commit_comment(
&self,
owner: &str,
repo: &str,
commit_sha: &str,
body: PostReposCreateCommitComment
) -> Result<CommitComment, ReposCreateCommitCommentError>
pub fn create_commit_comment(
&self,
owner: &str,
repo: &str,
commit_sha: &str,
body: PostReposCreateCommitComment
) -> Result<CommitComment, ReposCreateCommitCommentError>
Create a commit comment
Create a comment for a commit using its :commit_sha
.
This endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. See “Secondary rate limits” and “Dealing with secondary rate limits” for details.
GitHub API docs for create_commit_comment
pub async fn create_commit_signature_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchAdminEnforced, ReposCreateCommitSignatureProtectionError>
pub async fn create_commit_signature_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchAdminEnforced, ReposCreateCommitSignatureProtectionError>
Create commit signature protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits.
GitHub API docs for create_commit_signature_protection
pub fn create_commit_signature_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchAdminEnforced, ReposCreateCommitSignatureProtectionError>
pub fn create_commit_signature_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchAdminEnforced, ReposCreateCommitSignatureProtectionError>
Create commit signature protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits.
GitHub API docs for create_commit_signature_protection
pub async fn create_commit_status_async(
&self,
owner: &str,
repo: &str,
sha: &str,
body: PostReposCreateCommitStatus
) -> Result<Status, ReposCreateCommitStatusError>
pub async fn create_commit_status_async(
&self,
owner: &str,
repo: &str,
sha: &str,
body: PostReposCreateCommitStatus
) -> Result<Status, ReposCreateCommitStatusError>
Create a commit status
Users with push access in a repository can create commit statuses for a given SHA.
Note: there is a limit of 1000 statuses per sha
and context
within a repository. Attempts to create more than 1000 statuses will result in a validation error.
GitHub API docs for create_commit_status
pub fn create_commit_status(
&self,
owner: &str,
repo: &str,
sha: &str,
body: PostReposCreateCommitStatus
) -> Result<Status, ReposCreateCommitStatusError>
pub fn create_commit_status(
&self,
owner: &str,
repo: &str,
sha: &str,
body: PostReposCreateCommitStatus
) -> Result<Status, ReposCreateCommitStatusError>
Create a commit status
Users with push access in a repository can create commit statuses for a given SHA.
Note: there is a limit of 1000 statuses per sha
and context
within a repository. Attempts to create more than 1000 statuses will result in a validation error.
GitHub API docs for create_commit_status
pub async fn create_deploy_key_async(
&self,
owner: &str,
repo: &str,
body: PostReposCreateDeployKey
) -> Result<DeployKey, ReposCreateDeployKeyError>
pub async fn create_deploy_key_async(
&self,
owner: &str,
repo: &str,
body: PostReposCreateDeployKey
) -> Result<DeployKey, ReposCreateDeployKeyError>
pub fn create_deploy_key(
&self,
owner: &str,
repo: &str,
body: PostReposCreateDeployKey
) -> Result<DeployKey, ReposCreateDeployKeyError>
pub fn create_deploy_key(
&self,
owner: &str,
repo: &str,
body: PostReposCreateDeployKey
) -> Result<DeployKey, ReposCreateDeployKeyError>
pub async fn create_deployment_async(
&self,
owner: &str,
repo: &str,
body: PostReposCreateDeployment
) -> Result<Deployment, ReposCreateDeploymentError>
pub async fn create_deployment_async(
&self,
owner: &str,
repo: &str,
body: PostReposCreateDeployment
) -> Result<Deployment, ReposCreateDeploymentError>
Create a deployment
Deployments offer a few configurable parameters with certain defaults.
The ref
parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them
before we merge a pull request.
The environment
parameter allows deployments to be issued to different runtime environments. Teams often have
multiple environments for verifying their applications, such as production
, staging
, and qa
. This parameter
makes it easier to track which environments have requested deployments. The default environment is production
.
The auto_merge
parameter is used to ensure that the requested ref is not behind the repository’s default branch. If
the ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,
the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will
return a failure response.
By default, commit statuses for every submitted context must be in a success
state. The required_contexts
parameter allows you to specify a subset of contexts that must be success
, or to
specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do
not require any contexts or create any commit statuses, the deployment will always succeed.
The payload
parameter is available for any extra information that a deployment system might need. It is a JSON text
field that will be passed on when a deployment event is dispatched.
The task
parameter is used by the deployment system to allow different execution paths. In the web world this might
be deploy:migrations
to run schema changes on the system. In the compiled world this could be a flag to compile an
application with debugging enabled.
Users with repo
or repo_deployment
scopes can create a deployment for a given ref.
Merged branch response
You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating a deployment. This auto-merge happens when:
- Auto-merge option is enabled in the repository
- Topic branch does not include the latest changes on the base branch, which is
master
in the response example - There are no merge conflicts
If there are no new commits in the base branch, a new request to create a deployment should give a successful response.
Merge conflict response
This error happens when the auto_merge
option is enabled and when the default branch (in this case master
), can’t
be merged into the branch that’s being deployed (in this case topic-branch
), due to merge conflicts.
Failed commit status checks
This error happens when the required_contexts
parameter indicates that one or more contexts need to have a success
status for the commit to be deployed, but one or more of the required contexts do not have a state of success
.
GitHub API docs for create_deployment
pub fn create_deployment(
&self,
owner: &str,
repo: &str,
body: PostReposCreateDeployment
) -> Result<Deployment, ReposCreateDeploymentError>
pub fn create_deployment(
&self,
owner: &str,
repo: &str,
body: PostReposCreateDeployment
) -> Result<Deployment, ReposCreateDeploymentError>
Create a deployment
Deployments offer a few configurable parameters with certain defaults.
The ref
parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them
before we merge a pull request.
The environment
parameter allows deployments to be issued to different runtime environments. Teams often have
multiple environments for verifying their applications, such as production
, staging
, and qa
. This parameter
makes it easier to track which environments have requested deployments. The default environment is production
.
The auto_merge
parameter is used to ensure that the requested ref is not behind the repository’s default branch. If
the ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,
the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will
return a failure response.
By default, commit statuses for every submitted context must be in a success
state. The required_contexts
parameter allows you to specify a subset of contexts that must be success
, or to
specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do
not require any contexts or create any commit statuses, the deployment will always succeed.
The payload
parameter is available for any extra information that a deployment system might need. It is a JSON text
field that will be passed on when a deployment event is dispatched.
The task
parameter is used by the deployment system to allow different execution paths. In the web world this might
be deploy:migrations
to run schema changes on the system. In the compiled world this could be a flag to compile an
application with debugging enabled.
Users with repo
or repo_deployment
scopes can create a deployment for a given ref.
Merged branch response
You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating a deployment. This auto-merge happens when:
- Auto-merge option is enabled in the repository
- Topic branch does not include the latest changes on the base branch, which is
master
in the response example - There are no merge conflicts
If there are no new commits in the base branch, a new request to create a deployment should give a successful response.
Merge conflict response
This error happens when the auto_merge
option is enabled and when the default branch (in this case master
), can’t
be merged into the branch that’s being deployed (in this case topic-branch
), due to merge conflicts.
Failed commit status checks
This error happens when the required_contexts
parameter indicates that one or more contexts need to have a success
status for the commit to be deployed, but one or more of the required contexts do not have a state of success
.
GitHub API docs for create_deployment
pub async fn create_deployment_status_async(
&self,
owner: &str,
repo: &str,
deployment_id: i32,
body: PostReposCreateDeploymentStatus
) -> Result<DeploymentStatus, ReposCreateDeploymentStatusError>
pub async fn create_deployment_status_async(
&self,
owner: &str,
repo: &str,
deployment_id: i32,
body: PostReposCreateDeploymentStatus
) -> Result<DeploymentStatus, ReposCreateDeploymentStatusError>
Create a deployment status
Users with push
access can create deployment statuses for a given deployment.
GitHub Apps require read & write
access to “Deployments” and read-only
access to “Repo contents” (for private repos). OAuth Apps require the repo_deployment
scope.
GitHub API docs for create_deployment_status
pub fn create_deployment_status(
&self,
owner: &str,
repo: &str,
deployment_id: i32,
body: PostReposCreateDeploymentStatus
) -> Result<DeploymentStatus, ReposCreateDeploymentStatusError>
pub fn create_deployment_status(
&self,
owner: &str,
repo: &str,
deployment_id: i32,
body: PostReposCreateDeploymentStatus
) -> Result<DeploymentStatus, ReposCreateDeploymentStatusError>
Create a deployment status
Users with push
access can create deployment statuses for a given deployment.
GitHub Apps require read & write
access to “Deployments” and read-only
access to “Repo contents” (for private repos). OAuth Apps require the repo_deployment
scope.
GitHub API docs for create_deployment_status
pub async fn create_dispatch_event_async(
&self,
owner: &str,
repo: &str,
body: PostReposCreateDispatchEvent
) -> Result<(), ReposCreateDispatchEventError>
pub async fn create_dispatch_event_async(
&self,
owner: &str,
repo: &str,
body: PostReposCreateDispatchEvent
) -> Result<(), ReposCreateDispatchEventError>
Create a repository dispatch event
You can use this endpoint to trigger a webhook event called repository_dispatch
when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the repository_dispatch
event occurs. For an example repository_dispatch
webhook payload, see “RepositoryDispatchEvent.”
The client_payload
parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the client_payload
can include a message that a user would like to send using a GitHub Actions workflow. Or the client_payload
can be used as a test to debug your workflow.
This endpoint requires write access to the repository by providing either:
- Personal access tokens with
repo
scope. For more information, see “Creating a personal access token for the command line” in the GitHub Help documentation. - GitHub Apps with both
metadata:read
andcontents:read&write
permissions.
This input example shows how you can use the client_payload
as a test to debug your workflow.
GitHub API docs for create_dispatch_event
pub fn create_dispatch_event(
&self,
owner: &str,
repo: &str,
body: PostReposCreateDispatchEvent
) -> Result<(), ReposCreateDispatchEventError>
pub fn create_dispatch_event(
&self,
owner: &str,
repo: &str,
body: PostReposCreateDispatchEvent
) -> Result<(), ReposCreateDispatchEventError>
Create a repository dispatch event
You can use this endpoint to trigger a webhook event called repository_dispatch
when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the repository_dispatch
event occurs. For an example repository_dispatch
webhook payload, see “RepositoryDispatchEvent.”
The client_payload
parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the client_payload
can include a message that a user would like to send using a GitHub Actions workflow. Or the client_payload
can be used as a test to debug your workflow.
This endpoint requires write access to the repository by providing either:
- Personal access tokens with
repo
scope. For more information, see “Creating a personal access token for the command line” in the GitHub Help documentation. - GitHub Apps with both
metadata:read
andcontents:read&write
permissions.
This input example shows how you can use the client_payload
as a test to debug your workflow.
GitHub API docs for create_dispatch_event
pub async fn create_for_authenticated_user_async(
&self,
body: PostReposCreateForAuthenticatedUser
) -> Result<Repository, ReposCreateForAuthenticatedUserError>
pub async fn create_for_authenticated_user_async(
&self,
body: PostReposCreateForAuthenticatedUser
) -> Result<Repository, ReposCreateForAuthenticatedUserError>
Create a repository for the authenticated user
Creates a new repository for the authenticated user.
OAuth scope requirements
When using OAuth, authorizations must include:
public_repo
scope orrepo
scope to create a public repository. Note: For GitHub AE, userepo
scope to create an internal repository.repo
scope to create a private repository.
GitHub API docs for create_for_authenticated_user
pub fn create_for_authenticated_user(
&self,
body: PostReposCreateForAuthenticatedUser
) -> Result<Repository, ReposCreateForAuthenticatedUserError>
pub fn create_for_authenticated_user(
&self,
body: PostReposCreateForAuthenticatedUser
) -> Result<Repository, ReposCreateForAuthenticatedUserError>
Create a repository for the authenticated user
Creates a new repository for the authenticated user.
OAuth scope requirements
When using OAuth, authorizations must include:
public_repo
scope orrepo
scope to create a public repository. Note: For GitHub AE, userepo
scope to create an internal repository.repo
scope to create a private repository.
GitHub API docs for create_for_authenticated_user
pub async fn create_fork_async(
&self,
owner: &str,
repo: &str,
body: PostReposCreateFork
) -> Result<FullRepository, ReposCreateForkError>
pub async fn create_fork_async(
&self,
owner: &str,
repo: &str,
body: PostReposCreateFork
) -> Result<FullRepository, ReposCreateForkError>
Create a fork
Create a fork for the authenticated user.
Note: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact GitHub Support.
GitHub API docs for create_fork
pub fn create_fork(
&self,
owner: &str,
repo: &str,
body: PostReposCreateFork
) -> Result<FullRepository, ReposCreateForkError>
pub fn create_fork(
&self,
owner: &str,
repo: &str,
body: PostReposCreateFork
) -> Result<FullRepository, ReposCreateForkError>
Create a fork
Create a fork for the authenticated user.
Note: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact GitHub Support.
GitHub API docs for create_fork
pub async fn create_in_org_async(
&self,
org: &str,
body: PostReposCreateInOrg
) -> Result<Repository, ReposCreateInOrgError>
pub async fn create_in_org_async(
&self,
org: &str,
body: PostReposCreateInOrg
) -> Result<Repository, ReposCreateInOrgError>
Create an organization repository
Creates a new repository in the specified organization. The authenticated user must be a member of the organization.
OAuth scope requirements
When using OAuth, authorizations must include:
public_repo
scope orrepo
scope to create a public repository. Note: For GitHub AE, userepo
scope to create an internal repository.repo
scope to create a private repository
GitHub API docs for create_in_org
pub fn create_in_org(
&self,
org: &str,
body: PostReposCreateInOrg
) -> Result<Repository, ReposCreateInOrgError>
pub fn create_in_org(
&self,
org: &str,
body: PostReposCreateInOrg
) -> Result<Repository, ReposCreateInOrgError>
Create an organization repository
Creates a new repository in the specified organization. The authenticated user must be a member of the organization.
OAuth scope requirements
When using OAuth, authorizations must include:
public_repo
scope orrepo
scope to create a public repository. Note: For GitHub AE, userepo
scope to create an internal repository.repo
scope to create a private repository
GitHub API docs for create_in_org
pub async fn create_or_update_environment_async(
&self,
owner: &str,
repo: &str,
environment_name: &str,
body: PutReposCreateOrUpdateEnvironment
) -> Result<Environment, ReposCreateOrUpdateEnvironmentError>
pub async fn create_or_update_environment_async(
&self,
owner: &str,
repo: &str,
environment_name: &str,
body: PutReposCreateOrUpdateEnvironment
) -> Result<Environment, ReposCreateOrUpdateEnvironmentError>
Create or update an environment
Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see “Environments.”
Note: Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see “Environments.”
Note: To create or update secrets for an environment, see “Secrets.”
You must authenticate using an access token with the repo scope to use this endpoint.
GitHub API docs for create_or_update_environment
pub fn create_or_update_environment(
&self,
owner: &str,
repo: &str,
environment_name: &str,
body: PutReposCreateOrUpdateEnvironment
) -> Result<Environment, ReposCreateOrUpdateEnvironmentError>
pub fn create_or_update_environment(
&self,
owner: &str,
repo: &str,
environment_name: &str,
body: PutReposCreateOrUpdateEnvironment
) -> Result<Environment, ReposCreateOrUpdateEnvironmentError>
Create or update an environment
Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see “Environments.”
Note: Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see “Environments.”
Note: To create or update secrets for an environment, see “Secrets.”
You must authenticate using an access token with the repo scope to use this endpoint.
GitHub API docs for create_or_update_environment
pub async fn create_or_update_file_contents_async(
&self,
owner: &str,
repo: &str,
path: &str,
body: PutReposCreateOrUpdateFileContents
) -> Result<FileCommit, ReposCreateOrUpdateFileContentsError>
pub async fn create_or_update_file_contents_async(
&self,
owner: &str,
repo: &str,
path: &str,
body: PutReposCreateOrUpdateFileContents
) -> Result<FileCommit, ReposCreateOrUpdateFileContentsError>
Create or update file contents
Creates a new file or replaces an existing file in a repository.
GitHub API docs for create_or_update_file_contents
pub fn create_or_update_file_contents(
&self,
owner: &str,
repo: &str,
path: &str,
body: PutReposCreateOrUpdateFileContents
) -> Result<FileCommit, ReposCreateOrUpdateFileContentsError>
pub fn create_or_update_file_contents(
&self,
owner: &str,
repo: &str,
path: &str,
body: PutReposCreateOrUpdateFileContents
) -> Result<FileCommit, ReposCreateOrUpdateFileContentsError>
Create or update file contents
Creates a new file or replaces an existing file in a repository.
GitHub API docs for create_or_update_file_contents
pub async fn create_pages_site_async(
&self,
owner: &str,
repo: &str,
body: PostReposCreatePagesSite
) -> Result<Page, ReposCreatePagesSiteError>
pub async fn create_pages_site_async(
&self,
owner: &str,
repo: &str,
body: PostReposCreatePagesSite
) -> Result<Page, ReposCreatePagesSiteError>
Create a GitHub Pages site
Configures a GitHub Pages site. For more information, see “About GitHub Pages.”
GitHub API docs for create_pages_site
pub fn create_pages_site(
&self,
owner: &str,
repo: &str,
body: PostReposCreatePagesSite
) -> Result<Page, ReposCreatePagesSiteError>
pub fn create_pages_site(
&self,
owner: &str,
repo: &str,
body: PostReposCreatePagesSite
) -> Result<Page, ReposCreatePagesSiteError>
Create a GitHub Pages site
Configures a GitHub Pages site. For more information, see “About GitHub Pages.”
GitHub API docs for create_pages_site
pub async fn create_release_async(
&self,
owner: &str,
repo: &str,
body: PostReposCreateRelease
) -> Result<Release, ReposCreateReleaseError>
pub async fn create_release_async(
&self,
owner: &str,
repo: &str,
body: PostReposCreateRelease
) -> Result<Release, ReposCreateReleaseError>
Create a release
Users with push access to the repository can create a release.
This endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. See “Secondary rate limits” and “Dealing with secondary rate limits” for details.
GitHub API docs for create_release
pub fn create_release(
&self,
owner: &str,
repo: &str,
body: PostReposCreateRelease
) -> Result<Release, ReposCreateReleaseError>
pub fn create_release(
&self,
owner: &str,
repo: &str,
body: PostReposCreateRelease
) -> Result<Release, ReposCreateReleaseError>
Create a release
Users with push access to the repository can create a release.
This endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. See “Secondary rate limits” and “Dealing with secondary rate limits” for details.
GitHub API docs for create_release
pub async fn create_using_template_async(
&self,
template_owner: &str,
template_repo: &str,
body: PostReposCreateUsingTemplate
) -> Result<Repository, ReposCreateUsingTemplateError>
pub async fn create_using_template_async(
&self,
template_owner: &str,
template_repo: &str,
body: PostReposCreateUsingTemplate
) -> Result<Repository, ReposCreateUsingTemplateError>
Create a repository using a template
Creates a new repository using a repository template. Use the template_owner
and template_repo
route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository’s information using the Get a repository endpoint and check that the is_template
key is true
.
OAuth scope requirements
When using OAuth, authorizations must include:
public_repo
scope orrepo
scope to create a public repository. Note: For GitHub AE, userepo
scope to create an internal repository.repo
scope to create a private repository
GitHub API docs for create_using_template
pub fn create_using_template(
&self,
template_owner: &str,
template_repo: &str,
body: PostReposCreateUsingTemplate
) -> Result<Repository, ReposCreateUsingTemplateError>
pub fn create_using_template(
&self,
template_owner: &str,
template_repo: &str,
body: PostReposCreateUsingTemplate
) -> Result<Repository, ReposCreateUsingTemplateError>
Create a repository using a template
Creates a new repository using a repository template. Use the template_owner
and template_repo
route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository’s information using the Get a repository endpoint and check that the is_template
key is true
.
OAuth scope requirements
When using OAuth, authorizations must include:
public_repo
scope orrepo
scope to create a public repository. Note: For GitHub AE, userepo
scope to create an internal repository.repo
scope to create a private repository
GitHub API docs for create_using_template
pub async fn create_webhook_async(
&self,
owner: &str,
repo: &str,
body: PostReposCreateWebhook
) -> Result<Hook, ReposCreateWebhookError>
pub async fn create_webhook_async(
&self,
owner: &str,
repo: &str,
body: PostReposCreateWebhook
) -> Result<Hook, ReposCreateWebhookError>
Create a repository webhook
Repositories can have multiple webhooks installed. Each webhook should have a unique config
. Multiple webhooks can
share the same config
as long as those webhooks do not have any events
that overlap.
GitHub API docs for create_webhook
pub fn create_webhook(
&self,
owner: &str,
repo: &str,
body: PostReposCreateWebhook
) -> Result<Hook, ReposCreateWebhookError>
pub fn create_webhook(
&self,
owner: &str,
repo: &str,
body: PostReposCreateWebhook
) -> Result<Hook, ReposCreateWebhookError>
Create a repository webhook
Repositories can have multiple webhooks installed. Each webhook should have a unique config
. Multiple webhooks can
share the same config
as long as those webhooks do not have any events
that overlap.
GitHub API docs for create_webhook
pub async fn decline_invitation_for_authenticated_user_async(
&self,
invitation_id: i32
) -> Result<(), ReposDeclineInvitationForAuthenticatedUserError>
pub async fn decline_invitation_for_authenticated_user_async(
&self,
invitation_id: i32
) -> Result<(), ReposDeclineInvitationForAuthenticatedUserError>
pub fn decline_invitation_for_authenticated_user(
&self,
invitation_id: i32
) -> Result<(), ReposDeclineInvitationForAuthenticatedUserError>
pub fn decline_invitation_for_authenticated_user(
&self,
invitation_id: i32
) -> Result<(), ReposDeclineInvitationForAuthenticatedUserError>
Delete a repository
Deleting a repository requires admin access. If OAuth is used, the delete_repo
scope is required.
If an organization owner has configured the organization to prevent members from deleting organization-owned
repositories, you will get a 403 Forbidden
response.
Delete a repository
Deleting a repository requires admin access. If OAuth is used, the delete_repo
scope is required.
If an organization owner has configured the organization to prevent members from deleting organization-owned
repositories, you will get a 403 Forbidden
response.
pub async fn delete_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeleteAccessRestrictionsError>
pub async fn delete_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeleteAccessRestrictionsError>
Delete access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Disables the ability to restrict who can push to this branch.
GitHub API docs for delete_access_restrictions
pub fn delete_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeleteAccessRestrictionsError>
pub fn delete_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeleteAccessRestrictionsError>
Delete access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Disables the ability to restrict who can push to this branch.
GitHub API docs for delete_access_restrictions
pub async fn delete_admin_branch_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeleteAdminBranchProtectionError>
pub async fn delete_admin_branch_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeleteAdminBranchProtectionError>
Delete admin branch protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled.
GitHub API docs for delete_admin_branch_protection
pub fn delete_admin_branch_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeleteAdminBranchProtectionError>
pub fn delete_admin_branch_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeleteAdminBranchProtectionError>
Delete admin branch protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled.
GitHub API docs for delete_admin_branch_protection
pub async fn delete_an_environment_async(
&self,
owner: &str,
repo: &str,
environment_name: &str
) -> Result<(), ReposDeleteAnEnvironmentError>
pub async fn delete_an_environment_async(
&self,
owner: &str,
repo: &str,
environment_name: &str
) -> Result<(), ReposDeleteAnEnvironmentError>
Delete an environment
You must authenticate using an access token with the repo scope to use this endpoint.
GitHub API docs for delete_an_environment
pub fn delete_an_environment(
&self,
owner: &str,
repo: &str,
environment_name: &str
) -> Result<(), ReposDeleteAnEnvironmentError>
pub fn delete_an_environment(
&self,
owner: &str,
repo: &str,
environment_name: &str
) -> Result<(), ReposDeleteAnEnvironmentError>
Delete an environment
You must authenticate using an access token with the repo scope to use this endpoint.
GitHub API docs for delete_an_environment
pub async fn delete_autolink_async(
&self,
owner: &str,
repo: &str,
autolink_id: i32
) -> Result<(), ReposDeleteAutolinkError>
pub async fn delete_autolink_async(
&self,
owner: &str,
repo: &str,
autolink_id: i32
) -> Result<(), ReposDeleteAutolinkError>
Delete an autolink reference from a repository
This deletes a single autolink reference by ID that was configured for the given repository.
Information about autolinks are only available to repository administrators.
GitHub API docs for delete_autolink
pub fn delete_autolink(
&self,
owner: &str,
repo: &str,
autolink_id: i32
) -> Result<(), ReposDeleteAutolinkError>
pub fn delete_autolink(
&self,
owner: &str,
repo: &str,
autolink_id: i32
) -> Result<(), ReposDeleteAutolinkError>
Delete an autolink reference from a repository
This deletes a single autolink reference by ID that was configured for the given repository.
Information about autolinks are only available to repository administrators.
GitHub API docs for delete_autolink
pub async fn delete_branch_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeleteBranchProtectionError>
pub async fn delete_branch_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeleteBranchProtectionError>
Delete branch protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for delete_branch_protection
pub fn delete_branch_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeleteBranchProtectionError>
pub fn delete_branch_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeleteBranchProtectionError>
Delete branch protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for delete_branch_protection
pub async fn delete_commit_comment_async(
&self,
owner: &str,
repo: &str,
comment_id: i32
) -> Result<(), ReposDeleteCommitCommentError>
pub async fn delete_commit_comment_async(
&self,
owner: &str,
repo: &str,
comment_id: i32
) -> Result<(), ReposDeleteCommitCommentError>
pub fn delete_commit_comment(
&self,
owner: &str,
repo: &str,
comment_id: i32
) -> Result<(), ReposDeleteCommitCommentError>
pub fn delete_commit_comment(
&self,
owner: &str,
repo: &str,
comment_id: i32
) -> Result<(), ReposDeleteCommitCommentError>
pub async fn delete_commit_signature_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeleteCommitSignatureProtectionError>
pub async fn delete_commit_signature_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeleteCommitSignatureProtectionError>
Delete commit signature protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits.
GitHub API docs for delete_commit_signature_protection
pub fn delete_commit_signature_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeleteCommitSignatureProtectionError>
pub fn delete_commit_signature_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeleteCommitSignatureProtectionError>
Delete commit signature protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits.
GitHub API docs for delete_commit_signature_protection
pub async fn delete_deploy_key_async(
&self,
owner: &str,
repo: &str,
key_id: i32
) -> Result<(), ReposDeleteDeployKeyError>
pub async fn delete_deploy_key_async(
&self,
owner: &str,
repo: &str,
key_id: i32
) -> Result<(), ReposDeleteDeployKeyError>
Delete a deploy key
Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead.
GitHub API docs for delete_deploy_key
pub fn delete_deploy_key(
&self,
owner: &str,
repo: &str,
key_id: i32
) -> Result<(), ReposDeleteDeployKeyError>
pub fn delete_deploy_key(
&self,
owner: &str,
repo: &str,
key_id: i32
) -> Result<(), ReposDeleteDeployKeyError>
Delete a deploy key
Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead.
GitHub API docs for delete_deploy_key
pub async fn delete_deployment_async(
&self,
owner: &str,
repo: &str,
deployment_id: i32
) -> Result<(), ReposDeleteDeploymentError>
pub async fn delete_deployment_async(
&self,
owner: &str,
repo: &str,
deployment_id: i32
) -> Result<(), ReposDeleteDeploymentError>
Delete a deployment
To ensure there can always be an active deployment, you can only delete an inactive deployment. Anyone with repo
or repo_deployment
scopes can delete an inactive deployment.
To set a deployment as inactive, you must:
- Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment.
- Mark the active deployment as inactive by adding any non-successful deployment status.
For more information, see “Create a deployment” and “Create a deployment status.”
GitHub API docs for delete_deployment
pub fn delete_deployment(
&self,
owner: &str,
repo: &str,
deployment_id: i32
) -> Result<(), ReposDeleteDeploymentError>
pub fn delete_deployment(
&self,
owner: &str,
repo: &str,
deployment_id: i32
) -> Result<(), ReposDeleteDeploymentError>
Delete a deployment
To ensure there can always be an active deployment, you can only delete an inactive deployment. Anyone with repo
or repo_deployment
scopes can delete an inactive deployment.
To set a deployment as inactive, you must:
- Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment.
- Mark the active deployment as inactive by adding any non-successful deployment status.
For more information, see “Create a deployment” and “Create a deployment status.”
GitHub API docs for delete_deployment
pub async fn delete_file_async(
&self,
owner: &str,
repo: &str,
path: &str,
body: DeleteReposDeleteFile
) -> Result<FileCommit, ReposDeleteFileError>
pub async fn delete_file_async(
&self,
owner: &str,
repo: &str,
path: &str,
body: DeleteReposDeleteFile
) -> Result<FileCommit, ReposDeleteFileError>
Delete a file
Deletes a file in a repository.
You can provide an additional committer
parameter, which is an object containing information about the committer. Or, you can provide an author
parameter, which is an object containing information about the author.
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 422
status code.
GitHub API docs for delete_file
pub fn delete_file(
&self,
owner: &str,
repo: &str,
path: &str,
body: DeleteReposDeleteFile
) -> Result<FileCommit, ReposDeleteFileError>
pub fn delete_file(
&self,
owner: &str,
repo: &str,
path: &str,
body: DeleteReposDeleteFile
) -> Result<FileCommit, ReposDeleteFileError>
Delete a file
Deletes a file in a repository.
You can provide an additional committer
parameter, which is an object containing information about the committer. Or, you can provide an author
parameter, which is an object containing information about the author.
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 422
status code.
GitHub API docs for delete_file
pub async fn delete_invitation_async(
&self,
owner: &str,
repo: &str,
invitation_id: i32
) -> Result<(), ReposDeleteInvitationError>
pub async fn delete_invitation_async(
&self,
owner: &str,
repo: &str,
invitation_id: i32
) -> Result<(), ReposDeleteInvitationError>
pub fn delete_invitation(
&self,
owner: &str,
repo: &str,
invitation_id: i32
) -> Result<(), ReposDeleteInvitationError>
pub fn delete_invitation(
&self,
owner: &str,
repo: &str,
invitation_id: i32
) -> Result<(), ReposDeleteInvitationError>
pub async fn delete_pages_site_async(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposDeletePagesSiteError>
pub async fn delete_pages_site_async(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposDeletePagesSiteError>
pub fn delete_pages_site(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposDeletePagesSiteError>
pub fn delete_pages_site(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposDeletePagesSiteError>
pub async fn delete_pull_request_review_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeletePullRequestReviewProtectionError>
pub async fn delete_pull_request_review_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeletePullRequestReviewProtectionError>
Delete pull request review protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for delete_pull_request_review_protection
pub fn delete_pull_request_review_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeletePullRequestReviewProtectionError>
pub fn delete_pull_request_review_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposDeletePullRequestReviewProtectionError>
Delete pull request review protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for delete_pull_request_review_protection
pub async fn delete_release_async(
&self,
owner: &str,
repo: &str,
release_id: i32
) -> Result<(), ReposDeleteReleaseError>
pub async fn delete_release_async(
&self,
owner: &str,
repo: &str,
release_id: i32
) -> Result<(), ReposDeleteReleaseError>
Delete a release
Users with push access to the repository can delete a release.
GitHub API docs for delete_release
pub fn delete_release(
&self,
owner: &str,
repo: &str,
release_id: i32
) -> Result<(), ReposDeleteReleaseError>
pub fn delete_release(
&self,
owner: &str,
repo: &str,
release_id: i32
) -> Result<(), ReposDeleteReleaseError>
Delete a release
Users with push access to the repository can delete a release.
GitHub API docs for delete_release
pub async fn delete_release_asset_async(
&self,
owner: &str,
repo: &str,
asset_id: i32
) -> Result<(), ReposDeleteReleaseAssetError>
pub async fn delete_release_asset_async(
&self,
owner: &str,
repo: &str,
asset_id: i32
) -> Result<(), ReposDeleteReleaseAssetError>
pub fn delete_release_asset(
&self,
owner: &str,
repo: &str,
asset_id: i32
) -> Result<(), ReposDeleteReleaseAssetError>
pub fn delete_release_asset(
&self,
owner: &str,
repo: &str,
asset_id: i32
) -> Result<(), ReposDeleteReleaseAssetError>
pub async fn delete_webhook_async(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<(), ReposDeleteWebhookError>
pub async fn delete_webhook_async(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<(), ReposDeleteWebhookError>
pub fn delete_webhook(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<(), ReposDeleteWebhookError>
pub fn delete_webhook(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<(), ReposDeleteWebhookError>
pub async fn disable_automated_security_fixes_async(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposDisableAutomatedSecurityFixesError>
pub async fn disable_automated_security_fixes_async(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposDisableAutomatedSecurityFixesError>
Disable automated security fixes
Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see “Configuring automated security fixes”.
GitHub API docs for disable_automated_security_fixes
pub fn disable_automated_security_fixes(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposDisableAutomatedSecurityFixesError>
pub fn disable_automated_security_fixes(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposDisableAutomatedSecurityFixesError>
Disable automated security fixes
Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see “Configuring automated security fixes”.
GitHub API docs for disable_automated_security_fixes
pub async fn disable_lfs_for_repo_async(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposDisableLfsForRepoError>
pub async fn disable_lfs_for_repo_async(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposDisableLfsForRepoError>
pub fn disable_lfs_for_repo(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposDisableLfsForRepoError>
pub fn disable_lfs_for_repo(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposDisableLfsForRepoError>
pub async fn disable_vulnerability_alerts_async(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposDisableVulnerabilityAlertsError>
pub async fn disable_vulnerability_alerts_async(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposDisableVulnerabilityAlertsError>
Disable vulnerability alerts
Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see “About security alerts for vulnerable dependencies”.
GitHub API docs for disable_vulnerability_alerts
pub fn disable_vulnerability_alerts(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposDisableVulnerabilityAlertsError>
pub fn disable_vulnerability_alerts(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposDisableVulnerabilityAlertsError>
Disable vulnerability alerts
Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see “About security alerts for vulnerable dependencies”.
GitHub API docs for disable_vulnerability_alerts
pub async fn download_tarball_archive_async(
&self,
owner: &str,
repo: &str,
git_ref: &str
) -> Result<(), ReposDownloadTarballArchiveError>
pub async fn download_tarball_archive_async(
&self,
owner: &str,
repo: &str,
git_ref: &str
) -> Result<(), ReposDownloadTarballArchiveError>
Download a repository archive (tar)
Gets a redirect URL to download a tar archive for a repository. If you omit :ref
, the repository’s default branch (usually
master
) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use
the Location
header to make a second GET
request.
Note: For private repositories, these links are temporary and expire after five minutes.
GitHub API docs for download_tarball_archive
pub fn download_tarball_archive(
&self,
owner: &str,
repo: &str,
git_ref: &str
) -> Result<(), ReposDownloadTarballArchiveError>
pub fn download_tarball_archive(
&self,
owner: &str,
repo: &str,
git_ref: &str
) -> Result<(), ReposDownloadTarballArchiveError>
Download a repository archive (tar)
Gets a redirect URL to download a tar archive for a repository. If you omit :ref
, the repository’s default branch (usually
master
) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use
the Location
header to make a second GET
request.
Note: For private repositories, these links are temporary and expire after five minutes.
GitHub API docs for download_tarball_archive
pub async fn download_zipball_archive_async(
&self,
owner: &str,
repo: &str,
git_ref: &str
) -> Result<(), ReposDownloadZipballArchiveError>
pub async fn download_zipball_archive_async(
&self,
owner: &str,
repo: &str,
git_ref: &str
) -> Result<(), ReposDownloadZipballArchiveError>
Download a repository archive (zip)
Gets a redirect URL to download a zip archive for a repository. If you omit :ref
, the repository’s default branch (usually
master
) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use
the Location
header to make a second GET
request.
Note: For private repositories, these links are temporary and expire after five minutes.
GitHub API docs for download_zipball_archive
pub fn download_zipball_archive(
&self,
owner: &str,
repo: &str,
git_ref: &str
) -> Result<(), ReposDownloadZipballArchiveError>
pub fn download_zipball_archive(
&self,
owner: &str,
repo: &str,
git_ref: &str
) -> Result<(), ReposDownloadZipballArchiveError>
Download a repository archive (zip)
Gets a redirect URL to download a zip archive for a repository. If you omit :ref
, the repository’s default branch (usually
master
) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use
the Location
header to make a second GET
request.
Note: For private repositories, these links are temporary and expire after five minutes.
GitHub API docs for download_zipball_archive
pub async fn enable_automated_security_fixes_async(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposEnableAutomatedSecurityFixesError>
pub async fn enable_automated_security_fixes_async(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposEnableAutomatedSecurityFixesError>
Enable automated security fixes
Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see “Configuring automated security fixes”.
GitHub API docs for enable_automated_security_fixes
pub fn enable_automated_security_fixes(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposEnableAutomatedSecurityFixesError>
pub fn enable_automated_security_fixes(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposEnableAutomatedSecurityFixesError>
Enable automated security fixes
Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see “Configuring automated security fixes”.
GitHub API docs for enable_automated_security_fixes
pub async fn enable_lfs_for_repo_async(
&self,
owner: &str,
repo: &str
) -> Result<HashMap<String, Value>, ReposEnableLfsForRepoError>
pub async fn enable_lfs_for_repo_async(
&self,
owner: &str,
repo: &str
) -> Result<HashMap<String, Value>, ReposEnableLfsForRepoError>
pub fn enable_lfs_for_repo(
&self,
owner: &str,
repo: &str
) -> Result<HashMap<String, Value>, ReposEnableLfsForRepoError>
pub fn enable_lfs_for_repo(
&self,
owner: &str,
repo: &str
) -> Result<HashMap<String, Value>, ReposEnableLfsForRepoError>
pub async fn enable_vulnerability_alerts_async(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposEnableVulnerabilityAlertsError>
pub async fn enable_vulnerability_alerts_async(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposEnableVulnerabilityAlertsError>
Enable vulnerability alerts
Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see “About security alerts for vulnerable dependencies”.
GitHub API docs for enable_vulnerability_alerts
pub fn enable_vulnerability_alerts(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposEnableVulnerabilityAlertsError>
pub fn enable_vulnerability_alerts(
&self,
owner: &str,
repo: &str
) -> Result<(), ReposEnableVulnerabilityAlertsError>
Enable vulnerability alerts
Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see “About security alerts for vulnerable dependencies”.
GitHub API docs for enable_vulnerability_alerts
pub async fn generate_release_notes_async(
&self,
owner: &str,
repo: &str,
body: PostReposGenerateReleaseNotes
) -> Result<ReleaseNotesContent, ReposGenerateReleaseNotesError>
pub async fn generate_release_notes_async(
&self,
owner: &str,
repo: &str,
body: PostReposGenerateReleaseNotes
) -> Result<ReleaseNotesContent, ReposGenerateReleaseNotesError>
Generate release notes content for a release
Generate a name and body describing a release. The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release.
GitHub API docs for generate_release_notes
pub fn generate_release_notes(
&self,
owner: &str,
repo: &str,
body: PostReposGenerateReleaseNotes
) -> Result<ReleaseNotesContent, ReposGenerateReleaseNotesError>
pub fn generate_release_notes(
&self,
owner: &str,
repo: &str,
body: PostReposGenerateReleaseNotes
) -> Result<ReleaseNotesContent, ReposGenerateReleaseNotesError>
Generate release notes content for a release
Generate a name and body describing a release. The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release.
GitHub API docs for generate_release_notes
pub async fn get_async(
&self,
owner: &str,
repo: &str
) -> Result<FullRepository, ReposGetError>
pub async fn get_async(
&self,
owner: &str,
repo: &str
) -> Result<FullRepository, ReposGetError>
Get a repository
The parent
and source
objects are present when the repository is a fork. parent
is the repository this repository was forked from, source
is the ultimate source for the network.
Get a repository
The parent
and source
objects are present when the repository is a fork. parent
is the repository this repository was forked from, source
is the ultimate source for the network.
pub async fn get_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<BranchRestrictionPolicy, ReposGetAccessRestrictionsError>
pub async fn get_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<BranchRestrictionPolicy, ReposGetAccessRestrictionsError>
Get access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Lists who has access to this protected branch.
Note: Users, apps, and teams restrictions
are only available for organization-owned repositories.
GitHub API docs for get_access_restrictions
pub fn get_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<BranchRestrictionPolicy, ReposGetAccessRestrictionsError>
pub fn get_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<BranchRestrictionPolicy, ReposGetAccessRestrictionsError>
Get access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Lists who has access to this protected branch.
Note: Users, apps, and teams restrictions
are only available for organization-owned repositories.
GitHub API docs for get_access_restrictions
pub async fn get_admin_branch_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchAdminEnforced, ReposGetAdminBranchProtectionError>
pub async fn get_admin_branch_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchAdminEnforced, ReposGetAdminBranchProtectionError>
Get admin branch protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for get_admin_branch_protection
pub fn get_admin_branch_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchAdminEnforced, ReposGetAdminBranchProtectionError>
pub fn get_admin_branch_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchAdminEnforced, ReposGetAdminBranchProtectionError>
Get admin branch protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for get_admin_branch_protection
pub async fn get_all_environments_async(
&self,
owner: &str,
repo: &str
) -> Result<GetReposGetAllEnvironmentsResponse200, ReposGetAllEnvironmentsError>
pub async fn get_all_environments_async(
&self,
owner: &str,
repo: &str
) -> Result<GetReposGetAllEnvironmentsResponse200, ReposGetAllEnvironmentsError>
Get all environments
Get all environments for a repository.
Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the repo
scope. GitHub Apps must have the actions:read
permission to use this endpoint.
GitHub API docs for get_all_environments
pub fn get_all_environments(
&self,
owner: &str,
repo: &str
) -> Result<GetReposGetAllEnvironmentsResponse200, ReposGetAllEnvironmentsError>
pub fn get_all_environments(
&self,
owner: &str,
repo: &str
) -> Result<GetReposGetAllEnvironmentsResponse200, ReposGetAllEnvironmentsError>
Get all environments
Get all environments for a repository.
Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the repo
scope. GitHub Apps must have the actions:read
permission to use this endpoint.
GitHub API docs for get_all_environments
pub async fn get_all_status_check_contexts_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<Vec<String>, ReposGetAllStatusCheckContextsError>
pub async fn get_all_status_check_contexts_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<Vec<String>, ReposGetAllStatusCheckContextsError>
Get all status check contexts
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for get_all_status_check_contexts
pub fn get_all_status_check_contexts(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<Vec<String>, ReposGetAllStatusCheckContextsError>
pub fn get_all_status_check_contexts(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<Vec<String>, ReposGetAllStatusCheckContextsError>
Get all status check contexts
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for get_all_status_check_contexts
pub async fn get_all_topics_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposGetAllTopicsParams>>
) -> Result<Topic, ReposGetAllTopicsError>
pub async fn get_all_topics_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposGetAllTopicsParams>>
) -> Result<Topic, ReposGetAllTopicsError>
pub fn get_all_topics(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposGetAllTopicsParams>>
) -> Result<Topic, ReposGetAllTopicsError>
pub fn get_all_topics(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposGetAllTopicsParams>>
) -> Result<Topic, ReposGetAllTopicsError>
pub async fn get_apps_with_access_to_protected_branch_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<Vec<Integration>, ReposGetAppsWithAccessToProtectedBranchError>
pub async fn get_apps_with_access_to_protected_branch_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<Vec<Integration>, ReposGetAppsWithAccessToProtectedBranchError>
Get apps with access to the protected branch
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with write
access to the contents
permission can be added as authorized actors on a protected branch.
GitHub API docs for get_apps_with_access_to_protected_branch
pub fn get_apps_with_access_to_protected_branch(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<Vec<Integration>, ReposGetAppsWithAccessToProtectedBranchError>
pub fn get_apps_with_access_to_protected_branch(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<Vec<Integration>, ReposGetAppsWithAccessToProtectedBranchError>
Get apps with access to the protected branch
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with write
access to the contents
permission can be added as authorized actors on a protected branch.
GitHub API docs for get_apps_with_access_to_protected_branch
pub async fn get_autolink_async(
&self,
owner: &str,
repo: &str,
autolink_id: i32
) -> Result<Autolink, ReposGetAutolinkError>
pub async fn get_autolink_async(
&self,
owner: &str,
repo: &str,
autolink_id: i32
) -> Result<Autolink, ReposGetAutolinkError>
Get an autolink reference of a repository
This returns a single autolink reference by ID that was configured for the given repository.
Information about autolinks are only available to repository administrators.
GitHub API docs for get_autolink
pub fn get_autolink(
&self,
owner: &str,
repo: &str,
autolink_id: i32
) -> Result<Autolink, ReposGetAutolinkError>
pub fn get_autolink(
&self,
owner: &str,
repo: &str,
autolink_id: i32
) -> Result<Autolink, ReposGetAutolinkError>
Get an autolink reference of a repository
This returns a single autolink reference by ID that was configured for the given repository.
Information about autolinks are only available to repository administrators.
GitHub API docs for get_autolink
pub async fn get_branch_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<BranchWithProtection, ReposGetBranchError>
pub async fn get_branch_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<BranchWithProtection, ReposGetBranchError>
pub fn get_branch(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<BranchWithProtection, ReposGetBranchError>
pub fn get_branch(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<BranchWithProtection, ReposGetBranchError>
pub async fn get_branch_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<BranchProtection, ReposGetBranchProtectionError>
pub async fn get_branch_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<BranchProtection, ReposGetBranchProtectionError>
Get branch protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for get_branch_protection
pub fn get_branch_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<BranchProtection, ReposGetBranchProtectionError>
pub fn get_branch_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<BranchProtection, ReposGetBranchProtectionError>
Get branch protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for get_branch_protection
pub async fn get_clones_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposGetClonesParams<'api>>>
) -> Result<CloneTraffic, ReposGetClonesError>
pub async fn get_clones_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposGetClonesParams<'api>>>
) -> Result<CloneTraffic, ReposGetClonesError>
Get repository clones
Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday.
GitHub API docs for get_clones
pub fn get_clones(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposGetClonesParams<'api>>>
) -> Result<CloneTraffic, ReposGetClonesError>
pub fn get_clones(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposGetClonesParams<'api>>>
) -> Result<CloneTraffic, ReposGetClonesError>
Get repository clones
Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday.
GitHub API docs for get_clones
pub async fn get_code_frequency_stats_async(
&self,
owner: &str,
repo: &str
) -> Result<Vec<CodeFrequencyStat>, ReposGetCodeFrequencyStatsError>
pub async fn get_code_frequency_stats_async(
&self,
owner: &str,
repo: &str
) -> Result<Vec<CodeFrequencyStat>, ReposGetCodeFrequencyStatsError>
Get the weekly commit activity
Returns a weekly aggregate of the number of additions and deletions pushed to a repository.
GitHub API docs for get_code_frequency_stats
pub fn get_code_frequency_stats(
&self,
owner: &str,
repo: &str
) -> Result<Vec<CodeFrequencyStat>, ReposGetCodeFrequencyStatsError>
pub fn get_code_frequency_stats(
&self,
owner: &str,
repo: &str
) -> Result<Vec<CodeFrequencyStat>, ReposGetCodeFrequencyStatsError>
Get the weekly commit activity
Returns a weekly aggregate of the number of additions and deletions pushed to a repository.
GitHub API docs for get_code_frequency_stats
pub async fn get_collaborator_permission_level_async(
&self,
owner: &str,
repo: &str,
username: &str
) -> Result<RepositoryCollaboratorPermission, ReposGetCollaboratorPermissionLevelError>
pub async fn get_collaborator_permission_level_async(
&self,
owner: &str,
repo: &str,
username: &str
) -> Result<RepositoryCollaboratorPermission, ReposGetCollaboratorPermissionLevelError>
Get repository permissions for a user
Checks the repository permission of a collaborator. The possible repository permissions are admin
, write
, read
, and none
.
GitHub API docs for get_collaborator_permission_level
pub fn get_collaborator_permission_level(
&self,
owner: &str,
repo: &str,
username: &str
) -> Result<RepositoryCollaboratorPermission, ReposGetCollaboratorPermissionLevelError>
pub fn get_collaborator_permission_level(
&self,
owner: &str,
repo: &str,
username: &str
) -> Result<RepositoryCollaboratorPermission, ReposGetCollaboratorPermissionLevelError>
Get repository permissions for a user
Checks the repository permission of a collaborator. The possible repository permissions are admin
, write
, read
, and none
.
GitHub API docs for get_collaborator_permission_level
pub async fn get_combined_status_for_ref_async(
&self,
owner: &str,
repo: &str,
git_ref: &str,
query_params: Option<impl Into<ReposGetCombinedStatusForRefParams>>
) -> Result<CombinedCommitStatus, ReposGetCombinedStatusForRefError>
pub async fn get_combined_status_for_ref_async(
&self,
owner: &str,
repo: &str,
git_ref: &str,
query_params: Option<impl Into<ReposGetCombinedStatusForRefParams>>
) -> Result<CombinedCommitStatus, ReposGetCombinedStatusForRefError>
Get the combined status for a specific reference
Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name.
Additionally, a combined state
is returned. The state
is one of:
- failure if any of the contexts report as
error
orfailure
- pending if there are no statuses or a context is
pending
- success if the latest status for all contexts is
success
GitHub API docs for get_combined_status_for_ref
pub fn get_combined_status_for_ref(
&self,
owner: &str,
repo: &str,
git_ref: &str,
query_params: Option<impl Into<ReposGetCombinedStatusForRefParams>>
) -> Result<CombinedCommitStatus, ReposGetCombinedStatusForRefError>
pub fn get_combined_status_for_ref(
&self,
owner: &str,
repo: &str,
git_ref: &str,
query_params: Option<impl Into<ReposGetCombinedStatusForRefParams>>
) -> Result<CombinedCommitStatus, ReposGetCombinedStatusForRefError>
Get the combined status for a specific reference
Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name.
Additionally, a combined state
is returned. The state
is one of:
- failure if any of the contexts report as
error
orfailure
- pending if there are no statuses or a context is
pending
- success if the latest status for all contexts is
success
GitHub API docs for get_combined_status_for_ref
pub async fn get_commit_async(
&self,
owner: &str,
repo: &str,
git_ref: &str,
query_params: Option<impl Into<ReposGetCommitParams>>
) -> Result<Commit, ReposGetCommitError>
pub async fn get_commit_async(
&self,
owner: &str,
repo: &str,
git_ref: &str,
query_params: Option<impl Into<ReposGetCommitParams>>
) -> Result<Commit, ReposGetCommitError>
Get a commit
Returns the contents of a single commit reference. You must have read
access for the repository to use this endpoint.
Note: If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing.
You can pass the appropriate media type to fetch diff
and patch
formats. Diffs with binary data will have no patch
property.
To return only the SHA-1 hash of the commit reference, you can provide the sha
custom media type in the Accept
header. You can use this endpoint to check if a remote reference’s SHA-1 hash is the same as your local reference’s SHA-1 hash by providing the local SHA-1 reference as the ETag.
Signature verification object
The response will include a verification
object that describes the result of verifying the commit’s signature. The following fields are included in the verification
object:
Name | Type | Description |
---|---|---|
verified | boolean | Indicates whether GitHub considers the signature in this commit to be verified. |
reason | string | The reason for verified value. Possible values and their meanings are enumerated in table below. |
signature | string | The signature that was extracted from the commit. |
payload | string | The value that was signed. |
These are the possible values for reason
in the verification
object:
Value | Description |
---|---|
expired_key | The key that made the signature is expired. |
not_signing_key | The “signing” flag is not among the usage flags in the GPG key that made the signature. |
gpgverify_error | There was an error communicating with the signature verification service. |
gpgverify_unavailable | The signature verification service is currently unavailable. |
unsigned | The object does not include a signature. |
unknown_signature_type | A non-PGP signature was found in the commit. |
no_user | No user was associated with the committer email address in the commit. |
unverified_email | The committer email address in the commit was associated with a user, but the email address is not verified on her/his account. |
bad_email | The committer email address in the commit is not included in the identities of the PGP key that made the signature. |
unknown_key | The key that made the signature has not been registered with any user’s account. |
malformed_signature | There was an error parsing the signature. |
invalid | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |
valid | None of the above errors applied, so the signature is considered to be verified. |
GitHub API docs for get_commit
pub fn get_commit(
&self,
owner: &str,
repo: &str,
git_ref: &str,
query_params: Option<impl Into<ReposGetCommitParams>>
) -> Result<Commit, ReposGetCommitError>
pub fn get_commit(
&self,
owner: &str,
repo: &str,
git_ref: &str,
query_params: Option<impl Into<ReposGetCommitParams>>
) -> Result<Commit, ReposGetCommitError>
Get a commit
Returns the contents of a single commit reference. You must have read
access for the repository to use this endpoint.
Note: If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing.
You can pass the appropriate media type to fetch diff
and patch
formats. Diffs with binary data will have no patch
property.
To return only the SHA-1 hash of the commit reference, you can provide the sha
custom media type in the Accept
header. You can use this endpoint to check if a remote reference’s SHA-1 hash is the same as your local reference’s SHA-1 hash by providing the local SHA-1 reference as the ETag.
Signature verification object
The response will include a verification
object that describes the result of verifying the commit’s signature. The following fields are included in the verification
object:
Name | Type | Description |
---|---|---|
verified | boolean | Indicates whether GitHub considers the signature in this commit to be verified. |
reason | string | The reason for verified value. Possible values and their meanings are enumerated in table below. |
signature | string | The signature that was extracted from the commit. |
payload | string | The value that was signed. |
These are the possible values for reason
in the verification
object:
Value | Description |
---|---|
expired_key | The key that made the signature is expired. |
not_signing_key | The “signing” flag is not among the usage flags in the GPG key that made the signature. |
gpgverify_error | There was an error communicating with the signature verification service. |
gpgverify_unavailable | The signature verification service is currently unavailable. |
unsigned | The object does not include a signature. |
unknown_signature_type | A non-PGP signature was found in the commit. |
no_user | No user was associated with the committer email address in the commit. |
unverified_email | The committer email address in the commit was associated with a user, but the email address is not verified on her/his account. |
bad_email | The committer email address in the commit is not included in the identities of the PGP key that made the signature. |
unknown_key | The key that made the signature has not been registered with any user’s account. |
malformed_signature | There was an error parsing the signature. |
invalid | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |
valid | None of the above errors applied, so the signature is considered to be verified. |
GitHub API docs for get_commit
pub async fn get_commit_activity_stats_async(
&self,
owner: &str,
repo: &str
) -> Result<Vec<CommitActivity>, ReposGetCommitActivityStatsError>
pub async fn get_commit_activity_stats_async(
&self,
owner: &str,
repo: &str
) -> Result<Vec<CommitActivity>, ReposGetCommitActivityStatsError>
Get the last year of commit activity
Returns the last year of commit activity grouped by week. The days
array is a group of commits per day, starting on Sunday
.
GitHub API docs for get_commit_activity_stats
pub fn get_commit_activity_stats(
&self,
owner: &str,
repo: &str
) -> Result<Vec<CommitActivity>, ReposGetCommitActivityStatsError>
pub fn get_commit_activity_stats(
&self,
owner: &str,
repo: &str
) -> Result<Vec<CommitActivity>, ReposGetCommitActivityStatsError>
Get the last year of commit activity
Returns the last year of commit activity grouped by week. The days
array is a group of commits per day, starting on Sunday
.
GitHub API docs for get_commit_activity_stats
pub async fn get_commit_comment_async(
&self,
owner: &str,
repo: &str,
comment_id: i32
) -> Result<CommitComment, ReposGetCommitCommentError>
pub async fn get_commit_comment_async(
&self,
owner: &str,
repo: &str,
comment_id: i32
) -> Result<CommitComment, ReposGetCommitCommentError>
pub fn get_commit_comment(
&self,
owner: &str,
repo: &str,
comment_id: i32
) -> Result<CommitComment, ReposGetCommitCommentError>
pub fn get_commit_comment(
&self,
owner: &str,
repo: &str,
comment_id: i32
) -> Result<CommitComment, ReposGetCommitCommentError>
pub async fn get_commit_signature_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchAdminEnforced, ReposGetCommitSignatureProtectionError>
pub async fn get_commit_signature_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchAdminEnforced, ReposGetCommitSignatureProtectionError>
Get commit signature protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of true
indicates you must sign commits on this branch. For more information, see Signing commits with GPG in GitHub Help.
Note: You must enable branch protection to require signed commits.
GitHub API docs for get_commit_signature_protection
pub fn get_commit_signature_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchAdminEnforced, ReposGetCommitSignatureProtectionError>
pub fn get_commit_signature_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchAdminEnforced, ReposGetCommitSignatureProtectionError>
Get commit signature protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of true
indicates you must sign commits on this branch. For more information, see Signing commits with GPG in GitHub Help.
Note: You must enable branch protection to require signed commits.
GitHub API docs for get_commit_signature_protection
pub async fn get_community_profile_metrics_async(
&self,
owner: &str,
repo: &str
) -> Result<CommunityProfile, ReposGetCommunityProfileMetricsError>
pub async fn get_community_profile_metrics_async(
&self,
owner: &str,
repo: &str
) -> Result<CommunityProfile, ReposGetCommunityProfileMetricsError>
Get community profile metrics
This endpoint will return all community profile metrics, including an overall health score, repository description, the presence of documentation, detected code of conduct, detected license, and the presence of ISSUE_TEMPLATE, PULL_REQUEST_TEMPLATE, README, and CONTRIBUTING files.
The health_percentage
score is defined as a percentage of how many of
these four documents are present: README, CONTRIBUTING, LICENSE, and
CODE_OF_CONDUCT. For example, if all four documents are present, then
the health_percentage
is 100
. If only one is present, then the
health_percentage
is 25
.
content_reports_enabled
is only returned for organization-owned repositories.
GitHub API docs for get_community_profile_metrics
pub fn get_community_profile_metrics(
&self,
owner: &str,
repo: &str
) -> Result<CommunityProfile, ReposGetCommunityProfileMetricsError>
pub fn get_community_profile_metrics(
&self,
owner: &str,
repo: &str
) -> Result<CommunityProfile, ReposGetCommunityProfileMetricsError>
Get community profile metrics
This endpoint will return all community profile metrics, including an overall health score, repository description, the presence of documentation, detected code of conduct, detected license, and the presence of ISSUE_TEMPLATE, PULL_REQUEST_TEMPLATE, README, and CONTRIBUTING files.
The health_percentage
score is defined as a percentage of how many of
these four documents are present: README, CONTRIBUTING, LICENSE, and
CODE_OF_CONDUCT. For example, if all four documents are present, then
the health_percentage
is 100
. If only one is present, then the
health_percentage
is 25
.
content_reports_enabled
is only returned for organization-owned repositories.
GitHub API docs for get_community_profile_metrics
pub async fn get_content_async(
&self,
owner: &str,
repo: &str,
path: &str,
query_params: Option<impl Into<ReposGetContentParams<'api>>>
) -> Result<ContentTree, ReposGetContentError>
pub async fn get_content_async(
&self,
owner: &str,
repo: &str,
path: &str,
query_params: Option<impl Into<ReposGetContentParams<'api>>>
) -> Result<ContentTree, ReposGetContentError>
Get repository content
Gets the contents of a file or directory in a repository. Specify the file path or directory in :path
. If you omit
:path
, you will receive the contents of the repository’s root directory. See the description below regarding what the API response includes for directories.
Files and symlinks support a custom media type for retrieving the raw content or rendered HTML (when supported). All content types support a custom media type to ensure the content is returned in a consistent object format.
Note:
- To get a repository’s contents recursively, you can recursively get the tree.
- This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees API.
- This API supports files up to 1 megabyte in size.
If the content is a 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”. Logically, the value should be “submodule”. This behavior exists in API v3 for backwards compatibility purposes. In the next major version of the API, the type will be returned as “submodule”.
If the content is a 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 (in the format shown in the example. Otherwise, the API responds with an object
describing the symlink itself.
If the content is a 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.
GitHub API docs for get_content
pub fn get_content(
&self,
owner: &str,
repo: &str,
path: &str,
query_params: Option<impl Into<ReposGetContentParams<'api>>>
) -> Result<ContentTree, ReposGetContentError>
pub fn get_content(
&self,
owner: &str,
repo: &str,
path: &str,
query_params: Option<impl Into<ReposGetContentParams<'api>>>
) -> Result<ContentTree, ReposGetContentError>
Get repository content
Gets the contents of a file or directory in a repository. Specify the file path or directory in :path
. If you omit
:path
, you will receive the contents of the repository’s root directory. See the description below regarding what the API response includes for directories.
Files and symlinks support a custom media type for retrieving the raw content or rendered HTML (when supported). All content types support a custom media type to ensure the content is returned in a consistent object format.
Note:
- To get a repository’s contents recursively, you can recursively get the tree.
- This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees API.
- This API supports files up to 1 megabyte in size.
If the content is a 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”. Logically, the value should be “submodule”. This behavior exists in API v3 for backwards compatibility purposes. In the next major version of the API, the type will be returned as “submodule”.
If the content is a 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 (in the format shown in the example. Otherwise, the API responds with an object
describing the symlink itself.
If the content is a 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.
GitHub API docs for get_content
pub async fn get_contributors_stats_async(
&self,
owner: &str,
repo: &str
) -> Result<Vec<ContributorActivity>, ReposGetContributorsStatsError>
pub async fn get_contributors_stats_async(
&self,
owner: &str,
repo: &str
) -> Result<Vec<ContributorActivity>, ReposGetContributorsStatsError>
Get all contributor commit activity
Returns the total
number of commits authored by the contributor. In addition, the response includes a Weekly Hash (weeks
array) with the following information:
w
- Start of the week, given as a Unix timestamp.a
- Number of additionsd
- Number of deletionsc
- Number of commits
GitHub API docs for get_contributors_stats
pub fn get_contributors_stats(
&self,
owner: &str,
repo: &str
) -> Result<Vec<ContributorActivity>, ReposGetContributorsStatsError>
pub fn get_contributors_stats(
&self,
owner: &str,
repo: &str
) -> Result<Vec<ContributorActivity>, ReposGetContributorsStatsError>
Get all contributor commit activity
Returns the total
number of commits authored by the contributor. In addition, the response includes a Weekly Hash (weeks
array) with the following information:
w
- Start of the week, given as a Unix timestamp.a
- Number of additionsd
- Number of deletionsc
- Number of commits
GitHub API docs for get_contributors_stats
pub async fn get_deploy_key_async(
&self,
owner: &str,
repo: &str,
key_id: i32
) -> Result<DeployKey, ReposGetDeployKeyError>
pub async fn get_deploy_key_async(
&self,
owner: &str,
repo: &str,
key_id: i32
) -> Result<DeployKey, ReposGetDeployKeyError>
pub fn get_deploy_key(
&self,
owner: &str,
repo: &str,
key_id: i32
) -> Result<DeployKey, ReposGetDeployKeyError>
pub fn get_deploy_key(
&self,
owner: &str,
repo: &str,
key_id: i32
) -> Result<DeployKey, ReposGetDeployKeyError>
pub async fn get_deployment_async(
&self,
owner: &str,
repo: &str,
deployment_id: i32
) -> Result<Deployment, ReposGetDeploymentError>
pub async fn get_deployment_async(
&self,
owner: &str,
repo: &str,
deployment_id: i32
) -> Result<Deployment, ReposGetDeploymentError>
pub fn get_deployment(
&self,
owner: &str,
repo: &str,
deployment_id: i32
) -> Result<Deployment, ReposGetDeploymentError>
pub fn get_deployment(
&self,
owner: &str,
repo: &str,
deployment_id: i32
) -> Result<Deployment, ReposGetDeploymentError>
pub async fn get_deployment_status_async(
&self,
owner: &str,
repo: &str,
deployment_id: i32,
status_id: i32
) -> Result<DeploymentStatus, ReposGetDeploymentStatusError>
pub async fn get_deployment_status_async(
&self,
owner: &str,
repo: &str,
deployment_id: i32,
status_id: i32
) -> Result<DeploymentStatus, ReposGetDeploymentStatusError>
Get a deployment status
Users with pull access can view a deployment status for a deployment:
GitHub API docs for get_deployment_status
pub fn get_deployment_status(
&self,
owner: &str,
repo: &str,
deployment_id: i32,
status_id: i32
) -> Result<DeploymentStatus, ReposGetDeploymentStatusError>
pub fn get_deployment_status(
&self,
owner: &str,
repo: &str,
deployment_id: i32,
status_id: i32
) -> Result<DeploymentStatus, ReposGetDeploymentStatusError>
Get a deployment status
Users with pull access can view a deployment status for a deployment:
GitHub API docs for get_deployment_status
pub async fn get_environment_async(
&self,
owner: &str,
repo: &str,
environment_name: &str
) -> Result<Environment, ReposGetEnvironmentError>
pub async fn get_environment_async(
&self,
owner: &str,
repo: &str,
environment_name: &str
) -> Result<Environment, ReposGetEnvironmentError>
Get an environment
Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the repo
scope. GitHub Apps must have the actions:read
permission to use this endpoint.
GitHub API docs for get_environment
pub fn get_environment(
&self,
owner: &str,
repo: &str,
environment_name: &str
) -> Result<Environment, ReposGetEnvironmentError>
pub fn get_environment(
&self,
owner: &str,
repo: &str,
environment_name: &str
) -> Result<Environment, ReposGetEnvironmentError>
Get an environment
Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the repo
scope. GitHub Apps must have the actions:read
permission to use this endpoint.
GitHub API docs for get_environment
pub async fn get_latest_pages_build_async(
&self,
owner: &str,
repo: &str
) -> Result<PageBuild, ReposGetLatestPagesBuildError>
pub async fn get_latest_pages_build_async(
&self,
owner: &str,
repo: &str
) -> Result<PageBuild, ReposGetLatestPagesBuildError>
pub fn get_latest_pages_build(
&self,
owner: &str,
repo: &str
) -> Result<PageBuild, ReposGetLatestPagesBuildError>
pub fn get_latest_pages_build(
&self,
owner: &str,
repo: &str
) -> Result<PageBuild, ReposGetLatestPagesBuildError>
pub async fn get_latest_release_async(
&self,
owner: &str,
repo: &str
) -> Result<Release, ReposGetLatestReleaseError>
pub async fn get_latest_release_async(
&self,
owner: &str,
repo: &str
) -> Result<Release, ReposGetLatestReleaseError>
Get the latest release
View the latest published full release for the repository.
The latest release is the most recent non-prerelease, non-draft release, sorted by the created_at
attribute. The created_at
attribute is the date of the commit used for the release, and not the date when the release was drafted or published.
GitHub API docs for get_latest_release
pub fn get_latest_release(
&self,
owner: &str,
repo: &str
) -> Result<Release, ReposGetLatestReleaseError>
pub fn get_latest_release(
&self,
owner: &str,
repo: &str
) -> Result<Release, ReposGetLatestReleaseError>
Get the latest release
View the latest published full release for the repository.
The latest release is the most recent non-prerelease, non-draft release, sorted by the created_at
attribute. The created_at
attribute is the date of the commit used for the release, and not the date when the release was drafted or published.
GitHub API docs for get_latest_release
pub async fn get_pages_async(
&self,
owner: &str,
repo: &str
) -> Result<Page, ReposGetPagesError>
pub async fn get_pages_async(
&self,
owner: &str,
repo: &str
) -> Result<Page, ReposGetPagesError>
pub async fn get_pages_build_async(
&self,
owner: &str,
repo: &str,
build_id: i32
) -> Result<PageBuild, ReposGetPagesBuildError>
pub async fn get_pages_build_async(
&self,
owner: &str,
repo: &str,
build_id: i32
) -> Result<PageBuild, ReposGetPagesBuildError>
pub fn get_pages_build(
&self,
owner: &str,
repo: &str,
build_id: i32
) -> Result<PageBuild, ReposGetPagesBuildError>
pub fn get_pages_build(
&self,
owner: &str,
repo: &str,
build_id: i32
) -> Result<PageBuild, ReposGetPagesBuildError>
pub async fn get_pages_health_check_async(
&self,
owner: &str,
repo: &str
) -> Result<PagesHealthCheck, ReposGetPagesHealthCheckError>
pub async fn get_pages_health_check_async(
&self,
owner: &str,
repo: &str
) -> Result<PagesHealthCheck, ReposGetPagesHealthCheckError>
Get a DNS health check for GitHub Pages
Gets a health check of the DNS settings for the CNAME
record configured for a repository’s GitHub Pages.
The first request to this endpoint returns a 202 Accepted
status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a 200 OK
status with the health check results in the response.
Users must have admin or owner permissions. GitHub Apps must have the pages:write
and administration:write
permission to use this endpoint.
GitHub API docs for get_pages_health_check
pub fn get_pages_health_check(
&self,
owner: &str,
repo: &str
) -> Result<PagesHealthCheck, ReposGetPagesHealthCheckError>
pub fn get_pages_health_check(
&self,
owner: &str,
repo: &str
) -> Result<PagesHealthCheck, ReposGetPagesHealthCheckError>
Get a DNS health check for GitHub Pages
Gets a health check of the DNS settings for the CNAME
record configured for a repository’s GitHub Pages.
The first request to this endpoint returns a 202 Accepted
status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a 200 OK
status with the health check results in the response.
Users must have admin or owner permissions. GitHub Apps must have the pages:write
and administration:write
permission to use this endpoint.
GitHub API docs for get_pages_health_check
pub async fn get_participation_stats_async(
&self,
owner: &str,
repo: &str
) -> Result<ParticipationStats, ReposGetParticipationStatsError>
pub async fn get_participation_stats_async(
&self,
owner: &str,
repo: &str
) -> Result<ParticipationStats, ReposGetParticipationStatsError>
Get the weekly commit count
Returns the total commit counts for the owner
and total commit counts in all
. all
is everyone combined, including the owner
in the last 52 weeks. If you’d like to get the commit counts for non-owners, you can subtract owner
from all
.
The array order is oldest week (index 0) to most recent week.
GitHub API docs for get_participation_stats
pub fn get_participation_stats(
&self,
owner: &str,
repo: &str
) -> Result<ParticipationStats, ReposGetParticipationStatsError>
pub fn get_participation_stats(
&self,
owner: &str,
repo: &str
) -> Result<ParticipationStats, ReposGetParticipationStatsError>
Get the weekly commit count
Returns the total commit counts for the owner
and total commit counts in all
. all
is everyone combined, including the owner
in the last 52 weeks. If you’d like to get the commit counts for non-owners, you can subtract owner
from all
.
The array order is oldest week (index 0) to most recent week.
GitHub API docs for get_participation_stats
pub async fn get_pull_request_review_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchPullRequestReview, ReposGetPullRequestReviewProtectionError>
pub async fn get_pull_request_review_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchPullRequestReview, ReposGetPullRequestReviewProtectionError>
Get pull request review protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for get_pull_request_review_protection
pub fn get_pull_request_review_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchPullRequestReview, ReposGetPullRequestReviewProtectionError>
pub fn get_pull_request_review_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchPullRequestReview, ReposGetPullRequestReviewProtectionError>
Get pull request review protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for get_pull_request_review_protection
pub async fn get_punch_card_stats_async(
&self,
owner: &str,
repo: &str
) -> Result<Vec<CodeFrequencyStat>, ReposGetPunchCardStatsError>
pub async fn get_punch_card_stats_async(
&self,
owner: &str,
repo: &str
) -> Result<Vec<CodeFrequencyStat>, ReposGetPunchCardStatsError>
Get the hourly commit count for each day
Each array contains the day number, hour number, and number of commits:
0-6
: Sunday - Saturday0-23
: Hour of day- Number of commits
For example, [2, 14, 25]
indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits.
GitHub API docs for get_punch_card_stats
pub fn get_punch_card_stats(
&self,
owner: &str,
repo: &str
) -> Result<Vec<CodeFrequencyStat>, ReposGetPunchCardStatsError>
pub fn get_punch_card_stats(
&self,
owner: &str,
repo: &str
) -> Result<Vec<CodeFrequencyStat>, ReposGetPunchCardStatsError>
Get the hourly commit count for each day
Each array contains the day number, hour number, and number of commits:
0-6
: Sunday - Saturday0-23
: Hour of day- Number of commits
For example, [2, 14, 25]
indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits.
GitHub API docs for get_punch_card_stats
pub async fn get_readme_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposGetReadmeParams<'api>>>
) -> Result<ContentFile, ReposGetReadmeError>
pub async fn get_readme_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposGetReadmeParams<'api>>>
) -> Result<ContentFile, ReposGetReadmeError>
Get a repository README
Gets the preferred README for a repository.
READMEs support custom media types for retrieving the raw content or rendered HTML.
GitHub API docs for get_readme
pub fn get_readme(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposGetReadmeParams<'api>>>
) -> Result<ContentFile, ReposGetReadmeError>
pub fn get_readme(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposGetReadmeParams<'api>>>
) -> Result<ContentFile, ReposGetReadmeError>
Get a repository README
Gets the preferred README for a repository.
READMEs support custom media types for retrieving the raw content or rendered HTML.
GitHub API docs for get_readme
pub async fn get_readme_in_directory_async(
&self,
owner: &str,
repo: &str,
dir: &str,
query_params: Option<impl Into<ReposGetReadmeInDirectoryParams<'api>>>
) -> Result<ContentFile, ReposGetReadmeInDirectoryError>
pub async fn get_readme_in_directory_async(
&self,
owner: &str,
repo: &str,
dir: &str,
query_params: Option<impl Into<ReposGetReadmeInDirectoryParams<'api>>>
) -> Result<ContentFile, ReposGetReadmeInDirectoryError>
Get a repository README for a directory
Gets the README from a repository directory.
READMEs support custom media types for retrieving the raw content or rendered HTML.
GitHub API docs for get_readme_in_directory
pub fn get_readme_in_directory(
&self,
owner: &str,
repo: &str,
dir: &str,
query_params: Option<impl Into<ReposGetReadmeInDirectoryParams<'api>>>
) -> Result<ContentFile, ReposGetReadmeInDirectoryError>
pub fn get_readme_in_directory(
&self,
owner: &str,
repo: &str,
dir: &str,
query_params: Option<impl Into<ReposGetReadmeInDirectoryParams<'api>>>
) -> Result<ContentFile, ReposGetReadmeInDirectoryError>
Get a repository README for a directory
Gets the README from a repository directory.
READMEs support custom media types for retrieving the raw content or rendered HTML.
GitHub API docs for get_readme_in_directory
pub async fn get_release_async(
&self,
owner: &str,
repo: &str,
release_id: i32
) -> Result<Release, ReposGetReleaseError>
pub async fn get_release_async(
&self,
owner: &str,
repo: &str,
release_id: i32
) -> Result<Release, ReposGetReleaseError>
Get a release
Note: This returns an upload_url
key corresponding to the endpoint for uploading release assets. This key is a hypermedia resource.
GitHub API docs for get_release
pub fn get_release(
&self,
owner: &str,
repo: &str,
release_id: i32
) -> Result<Release, ReposGetReleaseError>
pub fn get_release(
&self,
owner: &str,
repo: &str,
release_id: i32
) -> Result<Release, ReposGetReleaseError>
Get a release
Note: This returns an upload_url
key corresponding to the endpoint for uploading release assets. This key is a hypermedia resource.
GitHub API docs for get_release
pub async fn get_release_asset_async(
&self,
owner: &str,
repo: &str,
asset_id: i32
) -> Result<ReleaseAsset, ReposGetReleaseAssetError>
pub async fn get_release_asset_async(
&self,
owner: &str,
repo: &str,
asset_id: i32
) -> Result<ReleaseAsset, ReposGetReleaseAssetError>
Get a release asset
To download the asset’s binary content, set the Accept
header of the request to application/octet-stream
. The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a 200
or 302
response.
GitHub API docs for get_release_asset
pub fn get_release_asset(
&self,
owner: &str,
repo: &str,
asset_id: i32
) -> Result<ReleaseAsset, ReposGetReleaseAssetError>
pub fn get_release_asset(
&self,
owner: &str,
repo: &str,
asset_id: i32
) -> Result<ReleaseAsset, ReposGetReleaseAssetError>
Get a release asset
To download the asset’s binary content, set the Accept
header of the request to application/octet-stream
. The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a 200
or 302
response.
GitHub API docs for get_release_asset
pub async fn get_release_by_tag_async(
&self,
owner: &str,
repo: &str,
tag: &str
) -> Result<Release, ReposGetReleaseByTagError>
pub async fn get_release_by_tag_async(
&self,
owner: &str,
repo: &str,
tag: &str
) -> Result<Release, ReposGetReleaseByTagError>
Get a release by tag name
Get a published release with the specified tag.
GitHub API docs for get_release_by_tag
pub fn get_release_by_tag(
&self,
owner: &str,
repo: &str,
tag: &str
) -> Result<Release, ReposGetReleaseByTagError>
pub fn get_release_by_tag(
&self,
owner: &str,
repo: &str,
tag: &str
) -> Result<Release, ReposGetReleaseByTagError>
Get a release by tag name
Get a published release with the specified tag.
GitHub API docs for get_release_by_tag
pub async fn get_status_checks_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<StatusCheckPolicy, ReposGetStatusChecksProtectionError>
pub async fn get_status_checks_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<StatusCheckPolicy, ReposGetStatusChecksProtectionError>
Get status checks protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for get_status_checks_protection
pub fn get_status_checks_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<StatusCheckPolicy, ReposGetStatusChecksProtectionError>
pub fn get_status_checks_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<StatusCheckPolicy, ReposGetStatusChecksProtectionError>
Get status checks protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for get_status_checks_protection
pub async fn get_teams_with_access_to_protected_branch_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<Vec<Team>, ReposGetTeamsWithAccessToProtectedBranchError>
pub async fn get_teams_with_access_to_protected_branch_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<Vec<Team>, ReposGetTeamsWithAccessToProtectedBranchError>
Get teams with access to the protected branch
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Lists the teams who have push access to this branch. The list includes child teams.
GitHub API docs for get_teams_with_access_to_protected_branch
pub fn get_teams_with_access_to_protected_branch(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<Vec<Team>, ReposGetTeamsWithAccessToProtectedBranchError>
pub fn get_teams_with_access_to_protected_branch(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<Vec<Team>, ReposGetTeamsWithAccessToProtectedBranchError>
Get teams with access to the protected branch
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Lists the teams who have push access to this branch. The list includes child teams.
GitHub API docs for get_teams_with_access_to_protected_branch
pub async fn get_top_paths_async(
&self,
owner: &str,
repo: &str
) -> Result<Vec<ContentTraffic>, ReposGetTopPathsError>
pub async fn get_top_paths_async(
&self,
owner: &str,
repo: &str
) -> Result<Vec<ContentTraffic>, ReposGetTopPathsError>
Get top referral paths
Get the top 10 popular contents over the last 14 days.
GitHub API docs for get_top_paths
pub fn get_top_paths(
&self,
owner: &str,
repo: &str
) -> Result<Vec<ContentTraffic>, ReposGetTopPathsError>
pub fn get_top_paths(
&self,
owner: &str,
repo: &str
) -> Result<Vec<ContentTraffic>, ReposGetTopPathsError>
Get top referral paths
Get the top 10 popular contents over the last 14 days.
GitHub API docs for get_top_paths
pub async fn get_top_referrers_async(
&self,
owner: &str,
repo: &str
) -> Result<Vec<ReferrerTraffic>, ReposGetTopReferrersError>
pub async fn get_top_referrers_async(
&self,
owner: &str,
repo: &str
) -> Result<Vec<ReferrerTraffic>, ReposGetTopReferrersError>
Get top referral sources
Get the top 10 referrers over the last 14 days.
GitHub API docs for get_top_referrers
pub fn get_top_referrers(
&self,
owner: &str,
repo: &str
) -> Result<Vec<ReferrerTraffic>, ReposGetTopReferrersError>
pub fn get_top_referrers(
&self,
owner: &str,
repo: &str
) -> Result<Vec<ReferrerTraffic>, ReposGetTopReferrersError>
Get top referral sources
Get the top 10 referrers over the last 14 days.
GitHub API docs for get_top_referrers
pub async fn get_users_with_access_to_protected_branch_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<Vec<SimpleUser>, ReposGetUsersWithAccessToProtectedBranchError>
pub async fn get_users_with_access_to_protected_branch_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<Vec<SimpleUser>, ReposGetUsersWithAccessToProtectedBranchError>
Get users with access to the protected branch
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Lists the people who have push access to this branch.
GitHub API docs for get_users_with_access_to_protected_branch
pub fn get_users_with_access_to_protected_branch(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<Vec<SimpleUser>, ReposGetUsersWithAccessToProtectedBranchError>
pub fn get_users_with_access_to_protected_branch(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<Vec<SimpleUser>, ReposGetUsersWithAccessToProtectedBranchError>
Get users with access to the protected branch
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Lists the people who have push access to this branch.
GitHub API docs for get_users_with_access_to_protected_branch
pub async fn get_views_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposGetViewsParams<'api>>>
) -> Result<ViewTraffic, ReposGetViewsError>
pub async fn get_views_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposGetViewsParams<'api>>>
) -> Result<ViewTraffic, ReposGetViewsError>
Get page views
Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday.
pub fn get_views(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposGetViewsParams<'api>>>
) -> Result<ViewTraffic, ReposGetViewsError>
pub fn get_views(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposGetViewsParams<'api>>>
) -> Result<ViewTraffic, ReposGetViewsError>
Get page views
Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday.
pub async fn get_webhook_async(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<Hook, ReposGetWebhookError>
pub async fn get_webhook_async(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<Hook, ReposGetWebhookError>
Get a repository webhook
Returns a webhook configured in a repository. To get only the webhook config
properties, see “Get a webhook configuration for a repository.”
GitHub API docs for get_webhook
pub fn get_webhook(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<Hook, ReposGetWebhookError>
pub fn get_webhook(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<Hook, ReposGetWebhookError>
Get a repository webhook
Returns a webhook configured in a repository. To get only the webhook config
properties, see “Get a webhook configuration for a repository.”
GitHub API docs for get_webhook
pub async fn get_webhook_config_for_repo_async(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<WebhookConfig, ReposGetWebhookConfigForRepoError>
pub async fn get_webhook_config_for_repo_async(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<WebhookConfig, ReposGetWebhookConfigForRepoError>
Get a webhook configuration for a repository
Returns the webhook configuration for a repository. To get more information about the webhook, including the active
state and events
, use “Get a repository webhook.”
Access tokens must have the read:repo_hook
or repo
scope, and GitHub Apps must have the repository_hooks:read
permission.
GitHub API docs for get_webhook_config_for_repo
pub fn get_webhook_config_for_repo(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<WebhookConfig, ReposGetWebhookConfigForRepoError>
pub fn get_webhook_config_for_repo(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<WebhookConfig, ReposGetWebhookConfigForRepoError>
Get a webhook configuration for a repository
Returns the webhook configuration for a repository. To get more information about the webhook, including the active
state and events
, use “Get a repository webhook.”
Access tokens must have the read:repo_hook
or repo
scope, and GitHub Apps must have the repository_hooks:read
permission.
GitHub API docs for get_webhook_config_for_repo
pub async fn get_webhook_delivery_async(
&self,
owner: &str,
repo: &str,
hook_id: i32,
delivery_id: i32
) -> Result<HookDelivery, ReposGetWebhookDeliveryError>
pub async fn get_webhook_delivery_async(
&self,
owner: &str,
repo: &str,
hook_id: i32,
delivery_id: i32
) -> Result<HookDelivery, ReposGetWebhookDeliveryError>
Get a delivery for a repository webhook
Returns a delivery for a webhook configured in a repository.
GitHub API docs for get_webhook_delivery
pub fn get_webhook_delivery(
&self,
owner: &str,
repo: &str,
hook_id: i32,
delivery_id: i32
) -> Result<HookDelivery, ReposGetWebhookDeliveryError>
pub fn get_webhook_delivery(
&self,
owner: &str,
repo: &str,
hook_id: i32,
delivery_id: i32
) -> Result<HookDelivery, ReposGetWebhookDeliveryError>
Get a delivery for a repository webhook
Returns a delivery for a webhook configured in a repository.
GitHub API docs for get_webhook_delivery
pub async fn list_autolinks_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListAutolinksParams>>
) -> Result<Vec<Autolink>, ReposListAutolinksError>
pub async fn list_autolinks_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListAutolinksParams>>
) -> Result<Vec<Autolink>, ReposListAutolinksError>
List all autolinks of a repository
This returns a list of autolinks configured for the given repository.
Information about autolinks are only available to repository administrators.
GitHub API docs for list_autolinks
pub fn list_autolinks(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListAutolinksParams>>
) -> Result<Vec<Autolink>, ReposListAutolinksError>
pub fn list_autolinks(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListAutolinksParams>>
) -> Result<Vec<Autolink>, ReposListAutolinksError>
List all autolinks of a repository
This returns a list of autolinks configured for the given repository.
Information about autolinks are only available to repository administrators.
GitHub API docs for list_autolinks
pub async fn list_branches_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListBranchesParams>>
) -> Result<Vec<ShortBranch>, ReposListBranchesError>
pub async fn list_branches_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListBranchesParams>>
) -> Result<Vec<ShortBranch>, ReposListBranchesError>
pub fn list_branches(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListBranchesParams>>
) -> Result<Vec<ShortBranch>, ReposListBranchesError>
pub fn list_branches(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListBranchesParams>>
) -> Result<Vec<ShortBranch>, ReposListBranchesError>
pub async fn list_branches_for_head_commit_async(
&self,
owner: &str,
repo: &str,
commit_sha: &str
) -> Result<Vec<BranchShort>, ReposListBranchesForHeadCommitError>
pub async fn list_branches_for_head_commit_async(
&self,
owner: &str,
repo: &str,
commit_sha: &str
) -> Result<Vec<BranchShort>, ReposListBranchesForHeadCommitError>
List branches for HEAD commit
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch.
GitHub API docs for list_branches_for_head_commit
pub fn list_branches_for_head_commit(
&self,
owner: &str,
repo: &str,
commit_sha: &str
) -> Result<Vec<BranchShort>, ReposListBranchesForHeadCommitError>
pub fn list_branches_for_head_commit(
&self,
owner: &str,
repo: &str,
commit_sha: &str
) -> Result<Vec<BranchShort>, ReposListBranchesForHeadCommitError>
List branches for HEAD commit
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch.
GitHub API docs for list_branches_for_head_commit
pub async fn list_collaborators_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListCollaboratorsParams<'api>>>
) -> Result<Vec<Collaborator>, ReposListCollaboratorsError>
pub async fn list_collaborators_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListCollaboratorsParams<'api>>>
) -> Result<Vec<Collaborator>, ReposListCollaboratorsError>
List repository collaborators
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.
Team members will include the members of child teams.
You must have push access to the repository in order to list collaborators.
GitHub API docs for list_collaborators
pub fn list_collaborators(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListCollaboratorsParams<'api>>>
) -> Result<Vec<Collaborator>, ReposListCollaboratorsError>
pub fn list_collaborators(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListCollaboratorsParams<'api>>>
) -> Result<Vec<Collaborator>, ReposListCollaboratorsError>
List repository collaborators
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.
Team members will include the members of child teams.
You must have push access to the repository in order to list collaborators.
GitHub API docs for list_collaborators
pub async fn list_comments_for_commit_async(
&self,
owner: &str,
repo: &str,
commit_sha: &str,
query_params: Option<impl Into<ReposListCommentsForCommitParams>>
) -> Result<Vec<CommitComment>, ReposListCommentsForCommitError>
pub async fn list_comments_for_commit_async(
&self,
owner: &str,
repo: &str,
commit_sha: &str,
query_params: Option<impl Into<ReposListCommentsForCommitParams>>
) -> Result<Vec<CommitComment>, ReposListCommentsForCommitError>
List commit comments
Use the :commit_sha
to specify the commit that will have its comments listed.
GitHub API docs for list_comments_for_commit
pub fn list_comments_for_commit(
&self,
owner: &str,
repo: &str,
commit_sha: &str,
query_params: Option<impl Into<ReposListCommentsForCommitParams>>
) -> Result<Vec<CommitComment>, ReposListCommentsForCommitError>
pub fn list_comments_for_commit(
&self,
owner: &str,
repo: &str,
commit_sha: &str,
query_params: Option<impl Into<ReposListCommentsForCommitParams>>
) -> Result<Vec<CommitComment>, ReposListCommentsForCommitError>
List commit comments
Use the :commit_sha
to specify the commit that will have its comments listed.
GitHub API docs for list_comments_for_commit
pub async fn list_commit_comments_for_repo_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListCommitCommentsForRepoParams>>
) -> Result<Vec<CommitComment>, ReposListCommitCommentsForRepoError>
pub async fn list_commit_comments_for_repo_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListCommitCommentsForRepoParams>>
) -> Result<Vec<CommitComment>, ReposListCommitCommentsForRepoError>
List commit comments for a repository
Commit Comments use these custom media types. You can read more about the use of media types in the API here.
Comments are ordered by ascending ID.
GitHub API docs for list_commit_comments_for_repo
pub fn list_commit_comments_for_repo(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListCommitCommentsForRepoParams>>
) -> Result<Vec<CommitComment>, ReposListCommitCommentsForRepoError>
pub fn list_commit_comments_for_repo(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListCommitCommentsForRepoParams>>
) -> Result<Vec<CommitComment>, ReposListCommitCommentsForRepoError>
List commit comments for a repository
Commit Comments use these custom media types. You can read more about the use of media types in the API here.
Comments are ordered by ascending ID.
GitHub API docs for list_commit_comments_for_repo
pub async fn list_commit_statuses_for_ref_async(
&self,
owner: &str,
repo: &str,
git_ref: &str,
query_params: Option<impl Into<ReposListCommitStatusesForRefParams>>
) -> Result<Vec<Status>, ReposListCommitStatusesForRefError>
pub async fn list_commit_statuses_for_ref_async(
&self,
owner: &str,
repo: &str,
git_ref: &str,
query_params: Option<impl Into<ReposListCommitStatusesForRefParams>>
) -> Result<Vec<Status>, ReposListCommitStatusesForRefError>
List commit statuses for a reference
Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one.
This resource is also available via a legacy route: GET /repos/:owner/:repo/statuses/:ref
.
GitHub API docs for list_commit_statuses_for_ref
pub fn list_commit_statuses_for_ref(
&self,
owner: &str,
repo: &str,
git_ref: &str,
query_params: Option<impl Into<ReposListCommitStatusesForRefParams>>
) -> Result<Vec<Status>, ReposListCommitStatusesForRefError>
pub fn list_commit_statuses_for_ref(
&self,
owner: &str,
repo: &str,
git_ref: &str,
query_params: Option<impl Into<ReposListCommitStatusesForRefParams>>
) -> Result<Vec<Status>, ReposListCommitStatusesForRefError>
List commit statuses for a reference
Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one.
This resource is also available via a legacy route: GET /repos/:owner/:repo/statuses/:ref
.
GitHub API docs for list_commit_statuses_for_ref
pub async fn list_commits_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListCommitsParams<'api>>>
) -> Result<Vec<Commit>, ReposListCommitsError>
pub async fn list_commits_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListCommitsParams<'api>>>
) -> Result<Vec<Commit>, ReposListCommitsError>
List commits
Signature verification object
The response will include a verification
object that describes the result of verifying the commit’s signature. The following fields are included in the verification
object:
Name | Type | Description |
---|---|---|
verified | boolean | Indicates whether GitHub considers the signature in this commit to be verified. |
reason | string | The reason for verified value. Possible values and their meanings are enumerated in table below. |
signature | string | The signature that was extracted from the commit. |
payload | string | The value that was signed. |
These are the possible values for reason
in the verification
object:
Value | Description |
---|---|
expired_key | The key that made the signature is expired. |
not_signing_key | The “signing” flag is not among the usage flags in the GPG key that made the signature. |
gpgverify_error | There was an error communicating with the signature verification service. |
gpgverify_unavailable | The signature verification service is currently unavailable. |
unsigned | The object does not include a signature. |
unknown_signature_type | A non-PGP signature was found in the commit. |
no_user | No user was associated with the committer email address in the commit. |
unverified_email | The committer email address in the commit was associated with a user, but the email address is not verified on her/his account. |
bad_email | The committer email address in the commit is not included in the identities of the PGP key that made the signature. |
unknown_key | The key that made the signature has not been registered with any user’s account. |
malformed_signature | There was an error parsing the signature. |
invalid | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |
valid | None of the above errors applied, so the signature is considered to be verified. |
GitHub API docs for list_commits
pub fn list_commits(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListCommitsParams<'api>>>
) -> Result<Vec<Commit>, ReposListCommitsError>
pub fn list_commits(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListCommitsParams<'api>>>
) -> Result<Vec<Commit>, ReposListCommitsError>
List commits
Signature verification object
The response will include a verification
object that describes the result of verifying the commit’s signature. The following fields are included in the verification
object:
Name | Type | Description |
---|---|---|
verified | boolean | Indicates whether GitHub considers the signature in this commit to be verified. |
reason | string | The reason for verified value. Possible values and their meanings are enumerated in table below. |
signature | string | The signature that was extracted from the commit. |
payload | string | The value that was signed. |
These are the possible values for reason
in the verification
object:
Value | Description |
---|---|
expired_key | The key that made the signature is expired. |
not_signing_key | The “signing” flag is not among the usage flags in the GPG key that made the signature. |
gpgverify_error | There was an error communicating with the signature verification service. |
gpgverify_unavailable | The signature verification service is currently unavailable. |
unsigned | The object does not include a signature. |
unknown_signature_type | A non-PGP signature was found in the commit. |
no_user | No user was associated with the committer email address in the commit. |
unverified_email | The committer email address in the commit was associated with a user, but the email address is not verified on her/his account. |
bad_email | The committer email address in the commit is not included in the identities of the PGP key that made the signature. |
unknown_key | The key that made the signature has not been registered with any user’s account. |
malformed_signature | There was an error parsing the signature. |
invalid | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |
valid | None of the above errors applied, so the signature is considered to be verified. |
GitHub API docs for list_commits
pub async fn list_contributors_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListContributorsParams<'api>>>
) -> Result<Vec<Contributor>, ReposListContributorsError>
pub async fn list_contributors_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListContributorsParams<'api>>>
) -> Result<Vec<Contributor>, ReposListContributorsError>
List repository contributors
Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance.
GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information.
GitHub API docs for list_contributors
pub fn list_contributors(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListContributorsParams<'api>>>
) -> Result<Vec<Contributor>, ReposListContributorsError>
pub fn list_contributors(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListContributorsParams<'api>>>
) -> Result<Vec<Contributor>, ReposListContributorsError>
List repository contributors
Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance.
GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information.
GitHub API docs for list_contributors
pub async fn list_deploy_keys_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListDeployKeysParams>>
) -> Result<Vec<DeployKey>, ReposListDeployKeysError>
pub async fn list_deploy_keys_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListDeployKeysParams>>
) -> Result<Vec<DeployKey>, ReposListDeployKeysError>
pub fn list_deploy_keys(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListDeployKeysParams>>
) -> Result<Vec<DeployKey>, ReposListDeployKeysError>
pub fn list_deploy_keys(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListDeployKeysParams>>
) -> Result<Vec<DeployKey>, ReposListDeployKeysError>
pub async fn list_deployment_statuses_async(
&self,
owner: &str,
repo: &str,
deployment_id: i32,
query_params: Option<impl Into<ReposListDeploymentStatusesParams>>
) -> Result<Vec<DeploymentStatus>, ReposListDeploymentStatusesError>
pub async fn list_deployment_statuses_async(
&self,
owner: &str,
repo: &str,
deployment_id: i32,
query_params: Option<impl Into<ReposListDeploymentStatusesParams>>
) -> Result<Vec<DeploymentStatus>, ReposListDeploymentStatusesError>
List deployment statuses
Users with pull access can view deployment statuses for a deployment:
GitHub API docs for list_deployment_statuses
pub fn list_deployment_statuses(
&self,
owner: &str,
repo: &str,
deployment_id: i32,
query_params: Option<impl Into<ReposListDeploymentStatusesParams>>
) -> Result<Vec<DeploymentStatus>, ReposListDeploymentStatusesError>
pub fn list_deployment_statuses(
&self,
owner: &str,
repo: &str,
deployment_id: i32,
query_params: Option<impl Into<ReposListDeploymentStatusesParams>>
) -> Result<Vec<DeploymentStatus>, ReposListDeploymentStatusesError>
List deployment statuses
Users with pull access can view deployment statuses for a deployment:
GitHub API docs for list_deployment_statuses
pub async fn list_deployments_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListDeploymentsParams<'api>>>
) -> Result<Vec<Deployment>, ReposListDeploymentsError>
pub async fn list_deployments_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListDeploymentsParams<'api>>>
) -> Result<Vec<Deployment>, ReposListDeploymentsError>
List deployments
Simple filtering of deployments is available via query parameters:
GitHub API docs for list_deployments
pub fn list_deployments(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListDeploymentsParams<'api>>>
) -> Result<Vec<Deployment>, ReposListDeploymentsError>
pub fn list_deployments(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListDeploymentsParams<'api>>>
) -> Result<Vec<Deployment>, ReposListDeploymentsError>
List deployments
Simple filtering of deployments is available via query parameters:
GitHub API docs for list_deployments
pub async fn list_for_authenticated_user_async(
&self,
query_params: Option<impl Into<ReposListForAuthenticatedUserParams<'api>>>
) -> Result<Vec<Repository>, ReposListForAuthenticatedUserError>
pub async fn list_for_authenticated_user_async(
&self,
query_params: Option<impl Into<ReposListForAuthenticatedUserParams<'api>>>
) -> Result<Vec<Repository>, ReposListForAuthenticatedUserError>
List repositories for the authenticated user
Lists repositories that the authenticated user has explicit permission (:read
, :write
, or :admin
) to access.
The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.
GitHub API docs for list_for_authenticated_user
pub fn list_for_authenticated_user(
&self,
query_params: Option<impl Into<ReposListForAuthenticatedUserParams<'api>>>
) -> Result<Vec<Repository>, ReposListForAuthenticatedUserError>
pub fn list_for_authenticated_user(
&self,
query_params: Option<impl Into<ReposListForAuthenticatedUserParams<'api>>>
) -> Result<Vec<Repository>, ReposListForAuthenticatedUserError>
List repositories for the authenticated user
Lists repositories that the authenticated user has explicit permission (:read
, :write
, or :admin
) to access.
The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.
GitHub API docs for list_for_authenticated_user
pub async fn list_for_org_async(
&self,
org: &str,
query_params: Option<impl Into<ReposListForOrgParams<'api>>>
) -> Result<Vec<MinimalRepository>, ReposListForOrgError>
pub async fn list_for_org_async(
&self,
org: &str,
query_params: Option<impl Into<ReposListForOrgParams<'api>>>
) -> Result<Vec<MinimalRepository>, ReposListForOrgError>
List organization repositories
Lists repositories for the specified organization.
GitHub API docs for list_for_org
pub fn list_for_org(
&self,
org: &str,
query_params: Option<impl Into<ReposListForOrgParams<'api>>>
) -> Result<Vec<MinimalRepository>, ReposListForOrgError>
pub fn list_for_org(
&self,
org: &str,
query_params: Option<impl Into<ReposListForOrgParams<'api>>>
) -> Result<Vec<MinimalRepository>, ReposListForOrgError>
List organization repositories
Lists repositories for the specified organization.
GitHub API docs for list_for_org
pub async fn list_for_user_async(
&self,
username: &str,
query_params: Option<impl Into<ReposListForUserParams<'api>>>
) -> Result<Vec<MinimalRepository>, ReposListForUserError>
pub async fn list_for_user_async(
&self,
username: &str,
query_params: Option<impl Into<ReposListForUserParams<'api>>>
) -> Result<Vec<MinimalRepository>, ReposListForUserError>
List repositories for a user
Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user.
GitHub API docs for list_for_user
pub fn list_for_user(
&self,
username: &str,
query_params: Option<impl Into<ReposListForUserParams<'api>>>
) -> Result<Vec<MinimalRepository>, ReposListForUserError>
pub fn list_for_user(
&self,
username: &str,
query_params: Option<impl Into<ReposListForUserParams<'api>>>
) -> Result<Vec<MinimalRepository>, ReposListForUserError>
List repositories for a user
Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user.
GitHub API docs for list_for_user
pub async fn list_forks_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListForksParams<'api>>>
) -> Result<Vec<MinimalRepository>, ReposListForksError>
pub async fn list_forks_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListForksParams<'api>>>
) -> Result<Vec<MinimalRepository>, ReposListForksError>
pub fn list_forks(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListForksParams<'api>>>
) -> Result<Vec<MinimalRepository>, ReposListForksError>
pub fn list_forks(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListForksParams<'api>>>
) -> Result<Vec<MinimalRepository>, ReposListForksError>
pub async fn list_invitations_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListInvitationsParams>>
) -> Result<Vec<RepositoryInvitation>, ReposListInvitationsError>
pub async fn list_invitations_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListInvitationsParams>>
) -> Result<Vec<RepositoryInvitation>, ReposListInvitationsError>
List repository invitations
When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations.
GitHub API docs for list_invitations
pub fn list_invitations(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListInvitationsParams>>
) -> Result<Vec<RepositoryInvitation>, ReposListInvitationsError>
pub fn list_invitations(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListInvitationsParams>>
) -> Result<Vec<RepositoryInvitation>, ReposListInvitationsError>
List repository invitations
When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations.
GitHub API docs for list_invitations
pub async fn list_invitations_for_authenticated_user_async(
&self,
query_params: Option<impl Into<ReposListInvitationsForAuthenticatedUserParams>>
) -> Result<Vec<RepositoryInvitation>, ReposListInvitationsForAuthenticatedUserError>
pub async fn list_invitations_for_authenticated_user_async(
&self,
query_params: Option<impl Into<ReposListInvitationsForAuthenticatedUserParams>>
) -> Result<Vec<RepositoryInvitation>, ReposListInvitationsForAuthenticatedUserError>
List repository invitations for the authenticated user
When authenticating as a user, this endpoint will list all currently open repository invitations for that user.
GitHub API docs for list_invitations_for_authenticated_user
pub fn list_invitations_for_authenticated_user(
&self,
query_params: Option<impl Into<ReposListInvitationsForAuthenticatedUserParams>>
) -> Result<Vec<RepositoryInvitation>, ReposListInvitationsForAuthenticatedUserError>
pub fn list_invitations_for_authenticated_user(
&self,
query_params: Option<impl Into<ReposListInvitationsForAuthenticatedUserParams>>
) -> Result<Vec<RepositoryInvitation>, ReposListInvitationsForAuthenticatedUserError>
List repository invitations for the authenticated user
When authenticating as a user, this endpoint will list all currently open repository invitations for that user.
GitHub API docs for list_invitations_for_authenticated_user
pub async fn list_languages_async(
&self,
owner: &str,
repo: &str
) -> Result<Language, ReposListLanguagesError>
pub async fn list_languages_async(
&self,
owner: &str,
repo: &str
) -> Result<Language, ReposListLanguagesError>
List repository languages
Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.
GitHub API docs for list_languages
pub fn list_languages(
&self,
owner: &str,
repo: &str
) -> Result<Language, ReposListLanguagesError>
pub fn list_languages(
&self,
owner: &str,
repo: &str
) -> Result<Language, ReposListLanguagesError>
List repository languages
Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.
GitHub API docs for list_languages
pub async fn list_pages_builds_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListPagesBuildsParams>>
) -> Result<Vec<PageBuild>, ReposListPagesBuildsError>
pub async fn list_pages_builds_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListPagesBuildsParams>>
) -> Result<Vec<PageBuild>, ReposListPagesBuildsError>
pub fn list_pages_builds(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListPagesBuildsParams>>
) -> Result<Vec<PageBuild>, ReposListPagesBuildsError>
pub fn list_pages_builds(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListPagesBuildsParams>>
) -> Result<Vec<PageBuild>, ReposListPagesBuildsError>
pub async fn list_public_async(
&self,
query_params: Option<impl Into<ReposListPublicParams>>
) -> Result<Vec<MinimalRepository>, ReposListPublicError>
pub async fn list_public_async(
&self,
query_params: Option<impl Into<ReposListPublicParams>>
) -> Result<Vec<MinimalRepository>, ReposListPublicError>
List public repositories
Lists all public repositories in the order that they were created.
Note:
- For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise.
- Pagination is powered exclusively by the
since
parameter. Use the Link header to get the URL for the next page of repositories.
GitHub API docs for list_public
pub fn list_public(
&self,
query_params: Option<impl Into<ReposListPublicParams>>
) -> Result<Vec<MinimalRepository>, ReposListPublicError>
pub fn list_public(
&self,
query_params: Option<impl Into<ReposListPublicParams>>
) -> Result<Vec<MinimalRepository>, ReposListPublicError>
List public repositories
Lists all public repositories in the order that they were created.
Note:
- For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise.
- Pagination is powered exclusively by the
since
parameter. Use the Link header to get the URL for the next page of repositories.
GitHub API docs for list_public
pub async fn list_pull_requests_associated_with_commit_async(
&self,
owner: &str,
repo: &str,
commit_sha: &str,
query_params: Option<impl Into<ReposListPullRequestsAssociatedWithCommitParams>>
) -> Result<Vec<PullRequestSimple>, ReposListPullRequestsAssociatedWithCommitError>
pub async fn list_pull_requests_associated_with_commit_async(
&self,
owner: &str,
repo: &str,
commit_sha: &str,
query_params: Option<impl Into<ReposListPullRequestsAssociatedWithCommitParams>>
) -> Result<Vec<PullRequestSimple>, ReposListPullRequestsAssociatedWithCommitError>
List pull requests associated with a commit
Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open pull requests associated with the commit. The results may include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the List pull requests endpoint.
GitHub API docs for list_pull_requests_associated_with_commit
pub fn list_pull_requests_associated_with_commit(
&self,
owner: &str,
repo: &str,
commit_sha: &str,
query_params: Option<impl Into<ReposListPullRequestsAssociatedWithCommitParams>>
) -> Result<Vec<PullRequestSimple>, ReposListPullRequestsAssociatedWithCommitError>
pub fn list_pull_requests_associated_with_commit(
&self,
owner: &str,
repo: &str,
commit_sha: &str,
query_params: Option<impl Into<ReposListPullRequestsAssociatedWithCommitParams>>
) -> Result<Vec<PullRequestSimple>, ReposListPullRequestsAssociatedWithCommitError>
List pull requests associated with a commit
Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open pull requests associated with the commit. The results may include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the List pull requests endpoint.
GitHub API docs for list_pull_requests_associated_with_commit
pub async fn list_release_assets_async(
&self,
owner: &str,
repo: &str,
release_id: i32,
query_params: Option<impl Into<ReposListReleaseAssetsParams>>
) -> Result<Vec<ReleaseAsset>, ReposListReleaseAssetsError>
pub async fn list_release_assets_async(
&self,
owner: &str,
repo: &str,
release_id: i32,
query_params: Option<impl Into<ReposListReleaseAssetsParams>>
) -> Result<Vec<ReleaseAsset>, ReposListReleaseAssetsError>
pub fn list_release_assets(
&self,
owner: &str,
repo: &str,
release_id: i32,
query_params: Option<impl Into<ReposListReleaseAssetsParams>>
) -> Result<Vec<ReleaseAsset>, ReposListReleaseAssetsError>
pub fn list_release_assets(
&self,
owner: &str,
repo: &str,
release_id: i32,
query_params: Option<impl Into<ReposListReleaseAssetsParams>>
) -> Result<Vec<ReleaseAsset>, ReposListReleaseAssetsError>
pub async fn list_releases_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListReleasesParams>>
) -> Result<Vec<Release>, ReposListReleasesError>
pub async fn list_releases_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListReleasesParams>>
) -> Result<Vec<Release>, ReposListReleasesError>
List releases
This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the Repository Tags API.
Information about published releases are available to everyone. Only users with push access will receive listings for draft releases.
GitHub API docs for list_releases
pub fn list_releases(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListReleasesParams>>
) -> Result<Vec<Release>, ReposListReleasesError>
pub fn list_releases(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListReleasesParams>>
) -> Result<Vec<Release>, ReposListReleasesError>
List releases
This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the Repository Tags API.
Information about published releases are available to everyone. Only users with push access will receive listings for draft releases.
GitHub API docs for list_releases
pub async fn list_teams_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListTeamsParams>>
) -> Result<Vec<Team>, ReposListTeamsError>
pub async fn list_teams_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListTeamsParams>>
) -> Result<Vec<Team>, ReposListTeamsError>
pub fn list_teams(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListTeamsParams>>
) -> Result<Vec<Team>, ReposListTeamsError>
pub fn list_teams(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListTeamsParams>>
) -> Result<Vec<Team>, ReposListTeamsError>
pub async fn list_webhook_deliveries_async(
&self,
owner: &str,
repo: &str,
hook_id: i32,
query_params: Option<impl Into<ReposListWebhookDeliveriesParams<'api>>>
) -> Result<Vec<HookDeliveryItem>, ReposListWebhookDeliveriesError>
pub async fn list_webhook_deliveries_async(
&self,
owner: &str,
repo: &str,
hook_id: i32,
query_params: Option<impl Into<ReposListWebhookDeliveriesParams<'api>>>
) -> Result<Vec<HookDeliveryItem>, ReposListWebhookDeliveriesError>
List deliveries for a repository webhook
Returns a list of webhook deliveries for a webhook configured in a repository.
GitHub API docs for list_webhook_deliveries
pub fn list_webhook_deliveries(
&self,
owner: &str,
repo: &str,
hook_id: i32,
query_params: Option<impl Into<ReposListWebhookDeliveriesParams<'api>>>
) -> Result<Vec<HookDeliveryItem>, ReposListWebhookDeliveriesError>
pub fn list_webhook_deliveries(
&self,
owner: &str,
repo: &str,
hook_id: i32,
query_params: Option<impl Into<ReposListWebhookDeliveriesParams<'api>>>
) -> Result<Vec<HookDeliveryItem>, ReposListWebhookDeliveriesError>
List deliveries for a repository webhook
Returns a list of webhook deliveries for a webhook configured in a repository.
GitHub API docs for list_webhook_deliveries
pub async fn list_webhooks_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListWebhooksParams>>
) -> Result<Vec<Hook>, ReposListWebhooksError>
pub async fn list_webhooks_async(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListWebhooksParams>>
) -> Result<Vec<Hook>, ReposListWebhooksError>
pub fn list_webhooks(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListWebhooksParams>>
) -> Result<Vec<Hook>, ReposListWebhooksError>
pub fn list_webhooks(
&self,
owner: &str,
repo: &str,
query_params: Option<impl Into<ReposListWebhooksParams>>
) -> Result<Vec<Hook>, ReposListWebhooksError>
pub async fn merge_async(
&self,
owner: &str,
repo: &str,
body: PostReposMerge
) -> Result<Commit, ReposMergeError>
pub async fn merge_async(
&self,
owner: &str,
repo: &str,
body: PostReposMerge
) -> Result<Commit, ReposMergeError>
pub fn merge(
&self,
owner: &str,
repo: &str,
body: PostReposMerge
) -> Result<Commit, ReposMergeError>
pub fn merge(
&self,
owner: &str,
repo: &str,
body: PostReposMerge
) -> Result<Commit, ReposMergeError>
pub async fn merge_upstream_async(
&self,
owner: &str,
repo: &str,
body: PostReposMergeUpstream
) -> Result<MergedUpstream, ReposMergeUpstreamError>
pub async fn merge_upstream_async(
&self,
owner: &str,
repo: &str,
body: PostReposMergeUpstream
) -> Result<MergedUpstream, ReposMergeUpstreamError>
Sync a fork branch with the upstream repository
Sync a branch of a forked repository to keep it up-to-date with the upstream repository.
GitHub API docs for merge_upstream
pub fn merge_upstream(
&self,
owner: &str,
repo: &str,
body: PostReposMergeUpstream
) -> Result<MergedUpstream, ReposMergeUpstreamError>
pub fn merge_upstream(
&self,
owner: &str,
repo: &str,
body: PostReposMergeUpstream
) -> Result<MergedUpstream, ReposMergeUpstreamError>
Sync a fork branch with the upstream repository
Sync a branch of a forked repository to keep it up-to-date with the upstream repository.
GitHub API docs for merge_upstream
pub async fn ping_webhook_async(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<(), ReposPingWebhookError>
pub async fn ping_webhook_async(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<(), ReposPingWebhookError>
Ping a repository webhook
This will trigger a ping event to be sent to the hook.
GitHub API docs for ping_webhook
pub fn ping_webhook(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<(), ReposPingWebhookError>
pub fn ping_webhook(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<(), ReposPingWebhookError>
Ping a repository webhook
This will trigger a ping event to be sent to the hook.
GitHub API docs for ping_webhook
Redeliver a delivery for a repository webhook
Redeliver a webhook delivery for a webhook configured in a repository.
GitHub API docs for redeliver_webhook_delivery
Redeliver a delivery for a repository webhook
Redeliver a webhook delivery for a webhook configured in a repository.
GitHub API docs for redeliver_webhook_delivery
pub async fn remove_app_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: DeleteReposRemoveAppAccessRestrictions
) -> Result<Vec<Integration>, ReposRemoveAppAccessRestrictionsError>
pub async fn remove_app_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: DeleteReposRemoveAppAccessRestrictions
) -> Result<Vec<Integration>, ReposRemoveAppAccessRestrictionsError>
Remove app access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Removes the ability of an app to push to this branch. Only installed GitHub Apps with write
access to the contents
permission can be added as authorized actors on a protected branch.
Type | Description |
---|---|
array | The GitHub Apps that have push access to this branch. Use the app’s slug . Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for remove_app_access_restrictions
pub fn remove_app_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: DeleteReposRemoveAppAccessRestrictions
) -> Result<Vec<Integration>, ReposRemoveAppAccessRestrictionsError>
pub fn remove_app_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: DeleteReposRemoveAppAccessRestrictions
) -> Result<Vec<Integration>, ReposRemoveAppAccessRestrictionsError>
Remove app access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Removes the ability of an app to push to this branch. Only installed GitHub Apps with write
access to the contents
permission can be added as authorized actors on a protected branch.
Type | Description |
---|---|
array | The GitHub Apps that have push access to this branch. Use the app’s slug . Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for remove_app_access_restrictions
pub async fn remove_collaborator_async(
&self,
owner: &str,
repo: &str,
username: &str
) -> Result<(), ReposRemoveCollaboratorError>
pub async fn remove_collaborator_async(
&self,
owner: &str,
repo: &str,
username: &str
) -> Result<(), ReposRemoveCollaboratorError>
pub fn remove_collaborator(
&self,
owner: &str,
repo: &str,
username: &str
) -> Result<(), ReposRemoveCollaboratorError>
pub fn remove_collaborator(
&self,
owner: &str,
repo: &str,
username: &str
) -> Result<(), ReposRemoveCollaboratorError>
pub async fn remove_status_check_contexts_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: DeleteReposRemoveStatusCheckContexts
) -> Result<Vec<String>, ReposRemoveStatusCheckContextsError>
pub async fn remove_status_check_contexts_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: DeleteReposRemoveStatusCheckContexts
) -> Result<Vec<String>, ReposRemoveStatusCheckContextsError>
Remove status check contexts
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for remove_status_check_contexts
pub fn remove_status_check_contexts(
&self,
owner: &str,
repo: &str,
branch: &str,
body: DeleteReposRemoveStatusCheckContexts
) -> Result<Vec<String>, ReposRemoveStatusCheckContextsError>
pub fn remove_status_check_contexts(
&self,
owner: &str,
repo: &str,
branch: &str,
body: DeleteReposRemoveStatusCheckContexts
) -> Result<Vec<String>, ReposRemoveStatusCheckContextsError>
Remove status check contexts
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for remove_status_check_contexts
pub async fn remove_status_check_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposRemoveStatusCheckProtectionError>
pub async fn remove_status_check_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposRemoveStatusCheckProtectionError>
Remove status check protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for remove_status_check_protection
pub fn remove_status_check_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposRemoveStatusCheckProtectionError>
pub fn remove_status_check_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<(), ReposRemoveStatusCheckProtectionError>
Remove status check protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for remove_status_check_protection
pub async fn remove_team_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: DeleteReposRemoveTeamAccessRestrictions
) -> Result<Vec<Team>, ReposRemoveTeamAccessRestrictionsError>
pub async fn remove_team_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: DeleteReposRemoveTeamAccessRestrictions
) -> Result<Vec<Team>, ReposRemoveTeamAccessRestrictionsError>
Remove team access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Removes the ability of a team to push to this branch. You can also remove push access for child teams.
Type | Description |
---|---|
array | Teams that should no longer have push access. Use the team’s slug . Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for remove_team_access_restrictions
pub fn remove_team_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: DeleteReposRemoveTeamAccessRestrictions
) -> Result<Vec<Team>, ReposRemoveTeamAccessRestrictionsError>
pub fn remove_team_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: DeleteReposRemoveTeamAccessRestrictions
) -> Result<Vec<Team>, ReposRemoveTeamAccessRestrictionsError>
Remove team access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Removes the ability of a team to push to this branch. You can also remove push access for child teams.
Type | Description |
---|---|
array | Teams that should no longer have push access. Use the team’s slug . Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for remove_team_access_restrictions
pub async fn remove_user_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: DeleteReposRemoveUserAccessRestrictions
) -> Result<Vec<SimpleUser>, ReposRemoveUserAccessRestrictionsError>
pub async fn remove_user_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: DeleteReposRemoveUserAccessRestrictions
) -> Result<Vec<SimpleUser>, ReposRemoveUserAccessRestrictionsError>
Remove user access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Removes the ability of a user to push to this branch.
Type | Description |
---|---|
array | Usernames of the people who should no longer have push access. Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for remove_user_access_restrictions
pub fn remove_user_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: DeleteReposRemoveUserAccessRestrictions
) -> Result<Vec<SimpleUser>, ReposRemoveUserAccessRestrictionsError>
pub fn remove_user_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: DeleteReposRemoveUserAccessRestrictions
) -> Result<Vec<SimpleUser>, ReposRemoveUserAccessRestrictionsError>
Remove user access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Removes the ability of a user to push to this branch.
Type | Description |
---|---|
array | Usernames of the people who should no longer have push access. Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for remove_user_access_restrictions
pub async fn rename_branch_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposRenameBranch
) -> Result<BranchWithProtection, ReposRenameBranchError>
pub async fn rename_branch_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposRenameBranch
) -> Result<BranchWithProtection, ReposRenameBranchError>
Rename a branch
Renames a branch in a repository.
Note: Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won’t be able to push to the old branch name while the rename process is in progress. For more information, see “Renaming a branch”.
The permissions required to use this endpoint depends on whether you are renaming the default branch.
To rename a non-default branch:
- Users must have push access.
- GitHub Apps must have the
contents:write
repository permission.
To rename the default branch:
- Users must have admin or owner permissions.
- GitHub Apps must have the
administration:write
repository permission.
GitHub API docs for rename_branch
pub fn rename_branch(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposRenameBranch
) -> Result<BranchWithProtection, ReposRenameBranchError>
pub fn rename_branch(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PostReposRenameBranch
) -> Result<BranchWithProtection, ReposRenameBranchError>
Rename a branch
Renames a branch in a repository.
Note: Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won’t be able to push to the old branch name while the rename process is in progress. For more information, see “Renaming a branch”.
The permissions required to use this endpoint depends on whether you are renaming the default branch.
To rename a non-default branch:
- Users must have push access.
- GitHub Apps must have the
contents:write
repository permission.
To rename the default branch:
- Users must have admin or owner permissions.
- GitHub Apps must have the
administration:write
repository permission.
GitHub API docs for rename_branch
pub async fn replace_all_topics_async(
&self,
owner: &str,
repo: &str,
body: PutReposReplaceAllTopics
) -> Result<Topic, ReposReplaceAllTopicsError>
pub async fn replace_all_topics_async(
&self,
owner: &str,
repo: &str,
body: PutReposReplaceAllTopics
) -> Result<Topic, ReposReplaceAllTopicsError>
pub fn replace_all_topics(
&self,
owner: &str,
repo: &str,
body: PutReposReplaceAllTopics
) -> Result<Topic, ReposReplaceAllTopicsError>
pub fn replace_all_topics(
&self,
owner: &str,
repo: &str,
body: PutReposReplaceAllTopics
) -> Result<Topic, ReposReplaceAllTopicsError>
pub async fn request_pages_build_async(
&self,
owner: &str,
repo: &str
) -> Result<PageBuildStatus, ReposRequestPagesBuildError>
pub async fn request_pages_build_async(
&self,
owner: &str,
repo: &str
) -> Result<PageBuildStatus, ReposRequestPagesBuildError>
Request a GitHub Pages build
You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures.
Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes.
GitHub API docs for request_pages_build
pub fn request_pages_build(
&self,
owner: &str,
repo: &str
) -> Result<PageBuildStatus, ReposRequestPagesBuildError>
pub fn request_pages_build(
&self,
owner: &str,
repo: &str
) -> Result<PageBuildStatus, ReposRequestPagesBuildError>
Request a GitHub Pages build
You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures.
Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes.
GitHub API docs for request_pages_build
pub async fn set_admin_branch_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchAdminEnforced, ReposSetAdminBranchProtectionError>
pub async fn set_admin_branch_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchAdminEnforced, ReposSetAdminBranchProtectionError>
Set admin branch protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled.
GitHub API docs for set_admin_branch_protection
pub fn set_admin_branch_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchAdminEnforced, ReposSetAdminBranchProtectionError>
pub fn set_admin_branch_protection(
&self,
owner: &str,
repo: &str,
branch: &str
) -> Result<ProtectedBranchAdminEnforced, ReposSetAdminBranchProtectionError>
Set admin branch protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled.
GitHub API docs for set_admin_branch_protection
pub async fn set_app_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposSetAppAccessRestrictions
) -> Result<Vec<Integration>, ReposSetAppAccessRestrictionsError>
pub async fn set_app_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposSetAppAccessRestrictions
) -> Result<Vec<Integration>, ReposSetAppAccessRestrictionsError>
Set app access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with write
access to the contents
permission can be added as authorized actors on a protected branch.
Type | Description |
---|---|
array | The GitHub Apps that have push access to this branch. Use the app’s slug . Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for set_app_access_restrictions
pub fn set_app_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposSetAppAccessRestrictions
) -> Result<Vec<Integration>, ReposSetAppAccessRestrictionsError>
pub fn set_app_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposSetAppAccessRestrictions
) -> Result<Vec<Integration>, ReposSetAppAccessRestrictionsError>
Set app access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with write
access to the contents
permission can be added as authorized actors on a protected branch.
Type | Description |
---|---|
array | The GitHub Apps that have push access to this branch. Use the app’s slug . Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for set_app_access_restrictions
pub async fn set_status_check_contexts_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposSetStatusCheckContexts
) -> Result<Vec<String>, ReposSetStatusCheckContextsError>
pub async fn set_status_check_contexts_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposSetStatusCheckContexts
) -> Result<Vec<String>, ReposSetStatusCheckContextsError>
Set status check contexts
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for set_status_check_contexts
pub fn set_status_check_contexts(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposSetStatusCheckContexts
) -> Result<Vec<String>, ReposSetStatusCheckContextsError>
pub fn set_status_check_contexts(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposSetStatusCheckContexts
) -> Result<Vec<String>, ReposSetStatusCheckContextsError>
Set status check contexts
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
GitHub API docs for set_status_check_contexts
pub async fn set_team_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposSetTeamAccessRestrictions
) -> Result<Vec<Team>, ReposSetTeamAccessRestrictionsError>
pub async fn set_team_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposSetTeamAccessRestrictions
) -> Result<Vec<Team>, ReposSetTeamAccessRestrictionsError>
Set team access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams.
Type | Description |
---|---|
array | The teams that can have push access. Use the team’s slug . Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for set_team_access_restrictions
pub fn set_team_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposSetTeamAccessRestrictions
) -> Result<Vec<Team>, ReposSetTeamAccessRestrictionsError>
pub fn set_team_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposSetTeamAccessRestrictions
) -> Result<Vec<Team>, ReposSetTeamAccessRestrictionsError>
Set team access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams.
Type | Description |
---|---|
array | The teams that can have push access. Use the team’s slug . Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for set_team_access_restrictions
pub async fn set_user_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposSetUserAccessRestrictions
) -> Result<Vec<SimpleUser>, ReposSetUserAccessRestrictionsError>
pub async fn set_user_access_restrictions_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposSetUserAccessRestrictions
) -> Result<Vec<SimpleUser>, ReposSetUserAccessRestrictionsError>
Set user access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people.
Type | Description |
---|---|
array | Usernames for people who can have push access. Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for set_user_access_restrictions
pub fn set_user_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposSetUserAccessRestrictions
) -> Result<Vec<SimpleUser>, ReposSetUserAccessRestrictionsError>
pub fn set_user_access_restrictions(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposSetUserAccessRestrictions
) -> Result<Vec<SimpleUser>, ReposSetUserAccessRestrictionsError>
Set user access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people.
Type | Description |
---|---|
array | Usernames for people who can have push access. Note: The list of users, apps, and teams in total is limited to 100 items. |
GitHub API docs for set_user_access_restrictions
pub async fn test_push_webhook_async(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<(), ReposTestPushWebhookError>
pub async fn test_push_webhook_async(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<(), ReposTestPushWebhookError>
Test the push repository webhook
This will trigger the hook with the latest push to the current repository if the hook is subscribed to push
events. If the hook is not subscribed to push
events, the server will respond with 204 but no test POST will be generated.
Note: Previously /repos/:owner/:repo/hooks/:hook_id/test
GitHub API docs for test_push_webhook
pub fn test_push_webhook(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<(), ReposTestPushWebhookError>
pub fn test_push_webhook(
&self,
owner: &str,
repo: &str,
hook_id: i32
) -> Result<(), ReposTestPushWebhookError>
Test the push repository webhook
This will trigger the hook with the latest push to the current repository if the hook is subscribed to push
events. If the hook is not subscribed to push
events, the server will respond with 204 but no test POST will be generated.
Note: Previously /repos/:owner/:repo/hooks/:hook_id/test
GitHub API docs for test_push_webhook
pub async fn transfer_async(
&self,
owner: &str,
repo: &str,
body: PostReposTransfer
) -> Result<MinimalRepository, ReposTransferError>
pub async fn transfer_async(
&self,
owner: &str,
repo: &str,
body: PostReposTransfer
) -> Result<MinimalRepository, ReposTransferError>
Transfer a repository
A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original owner
, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see about repository transfers.
pub fn transfer(
&self,
owner: &str,
repo: &str,
body: PostReposTransfer
) -> Result<MinimalRepository, ReposTransferError>
pub fn transfer(
&self,
owner: &str,
repo: &str,
body: PostReposTransfer
) -> Result<MinimalRepository, ReposTransferError>
Transfer a repository
A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original owner
, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see about repository transfers.
pub async fn update_async(
&self,
owner: &str,
repo: &str,
body: PatchReposUpdate
) -> Result<FullRepository, ReposUpdateError>
pub async fn update_async(
&self,
owner: &str,
repo: &str,
body: PatchReposUpdate
) -> Result<FullRepository, ReposUpdateError>
Update a repository
Note: To edit a repository’s topics, use the Replace all repository topics endpoint.
pub fn update(
&self,
owner: &str,
repo: &str,
body: PatchReposUpdate
) -> Result<FullRepository, ReposUpdateError>
pub fn update(
&self,
owner: &str,
repo: &str,
body: PatchReposUpdate
) -> Result<FullRepository, ReposUpdateError>
Update a repository
Note: To edit a repository’s topics, use the Replace all repository topics endpoint.
pub async fn update_branch_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposUpdateBranchProtection
) -> Result<ProtectedBranch, ReposUpdateBranchProtectionError>
pub async fn update_branch_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposUpdateBranchProtection
) -> Result<ProtectedBranch, ReposUpdateBranchProtectionError>
Update branch protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Protecting a branch requires admin or owner permissions to the repository.
Note: Passing new arrays of users
and teams
replaces their previous values.
Note: The list of users, apps, and teams in total is limited to 100 items.
GitHub API docs for update_branch_protection
pub fn update_branch_protection(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposUpdateBranchProtection
) -> Result<ProtectedBranch, ReposUpdateBranchProtectionError>
pub fn update_branch_protection(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PutReposUpdateBranchProtection
) -> Result<ProtectedBranch, ReposUpdateBranchProtectionError>
Update branch protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Protecting a branch requires admin or owner permissions to the repository.
Note: Passing new arrays of users
and teams
replaces their previous values.
Note: The list of users, apps, and teams in total is limited to 100 items.
GitHub API docs for update_branch_protection
pub async fn update_commit_comment_async(
&self,
owner: &str,
repo: &str,
comment_id: i32,
body: PatchReposUpdateCommitComment
) -> Result<CommitComment, ReposUpdateCommitCommentError>
pub async fn update_commit_comment_async(
&self,
owner: &str,
repo: &str,
comment_id: i32,
body: PatchReposUpdateCommitComment
) -> Result<CommitComment, ReposUpdateCommitCommentError>
pub fn update_commit_comment(
&self,
owner: &str,
repo: &str,
comment_id: i32,
body: PatchReposUpdateCommitComment
) -> Result<CommitComment, ReposUpdateCommitCommentError>
pub fn update_commit_comment(
&self,
owner: &str,
repo: &str,
comment_id: i32,
body: PatchReposUpdateCommitComment
) -> Result<CommitComment, ReposUpdateCommitCommentError>
pub async fn update_information_about_pages_site_async(
&self,
owner: &str,
repo: &str,
body: PutReposUpdateInformationAboutPagesSite
) -> Result<(), ReposUpdateInformationAboutPagesSiteError>
pub async fn update_information_about_pages_site_async(
&self,
owner: &str,
repo: &str,
body: PutReposUpdateInformationAboutPagesSite
) -> Result<(), ReposUpdateInformationAboutPagesSiteError>
Update information about a GitHub Pages site
Updates information for a GitHub Pages site. For more information, see “About GitHub Pages.
GitHub API docs for update_information_about_pages_site
pub fn update_information_about_pages_site(
&self,
owner: &str,
repo: &str,
body: PutReposUpdateInformationAboutPagesSite
) -> Result<(), ReposUpdateInformationAboutPagesSiteError>
pub fn update_information_about_pages_site(
&self,
owner: &str,
repo: &str,
body: PutReposUpdateInformationAboutPagesSite
) -> Result<(), ReposUpdateInformationAboutPagesSiteError>
Update information about a GitHub Pages site
Updates information for a GitHub Pages site. For more information, see “About GitHub Pages.
GitHub API docs for update_information_about_pages_site
pub async fn update_invitation_async(
&self,
owner: &str,
repo: &str,
invitation_id: i32,
body: PatchReposUpdateInvitation
) -> Result<RepositoryInvitation, ReposUpdateInvitationError>
pub async fn update_invitation_async(
&self,
owner: &str,
repo: &str,
invitation_id: i32,
body: PatchReposUpdateInvitation
) -> Result<RepositoryInvitation, ReposUpdateInvitationError>
pub fn update_invitation(
&self,
owner: &str,
repo: &str,
invitation_id: i32,
body: PatchReposUpdateInvitation
) -> Result<RepositoryInvitation, ReposUpdateInvitationError>
pub fn update_invitation(
&self,
owner: &str,
repo: &str,
invitation_id: i32,
body: PatchReposUpdateInvitation
) -> Result<RepositoryInvitation, ReposUpdateInvitationError>
pub async fn update_pull_request_review_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PatchReposUpdatePullRequestReviewProtection
) -> Result<ProtectedBranchPullRequestReview, ReposUpdatePullRequestReviewProtectionError>
pub async fn update_pull_request_review_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PatchReposUpdatePullRequestReviewProtection
) -> Result<ProtectedBranchPullRequestReview, ReposUpdatePullRequestReviewProtectionError>
Update pull request review protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled.
Note: Passing new arrays of users
and teams
replaces their previous values.
GitHub API docs for update_pull_request_review_protection
pub fn update_pull_request_review_protection(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PatchReposUpdatePullRequestReviewProtection
) -> Result<ProtectedBranchPullRequestReview, ReposUpdatePullRequestReviewProtectionError>
pub fn update_pull_request_review_protection(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PatchReposUpdatePullRequestReviewProtection
) -> Result<ProtectedBranchPullRequestReview, ReposUpdatePullRequestReviewProtectionError>
Update pull request review protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled.
Note: Passing new arrays of users
and teams
replaces their previous values.
GitHub API docs for update_pull_request_review_protection
pub async fn update_release_async(
&self,
owner: &str,
repo: &str,
release_id: i32,
body: PatchReposUpdateRelease
) -> Result<Release, ReposUpdateReleaseError>
pub async fn update_release_async(
&self,
owner: &str,
repo: &str,
release_id: i32,
body: PatchReposUpdateRelease
) -> Result<Release, ReposUpdateReleaseError>
Update a release
Users with push access to the repository can edit a release.
GitHub API docs for update_release
pub fn update_release(
&self,
owner: &str,
repo: &str,
release_id: i32,
body: PatchReposUpdateRelease
) -> Result<Release, ReposUpdateReleaseError>
pub fn update_release(
&self,
owner: &str,
repo: &str,
release_id: i32,
body: PatchReposUpdateRelease
) -> Result<Release, ReposUpdateReleaseError>
Update a release
Users with push access to the repository can edit a release.
GitHub API docs for update_release
pub async fn update_release_asset_async(
&self,
owner: &str,
repo: &str,
asset_id: i32,
body: PatchReposUpdateReleaseAsset
) -> Result<ReleaseAsset, ReposUpdateReleaseAssetError>
pub async fn update_release_asset_async(
&self,
owner: &str,
repo: &str,
asset_id: i32,
body: PatchReposUpdateReleaseAsset
) -> Result<ReleaseAsset, ReposUpdateReleaseAssetError>
Update a release asset
Users with push access to the repository can edit a release asset.
GitHub API docs for update_release_asset
pub fn update_release_asset(
&self,
owner: &str,
repo: &str,
asset_id: i32,
body: PatchReposUpdateReleaseAsset
) -> Result<ReleaseAsset, ReposUpdateReleaseAssetError>
pub fn update_release_asset(
&self,
owner: &str,
repo: &str,
asset_id: i32,
body: PatchReposUpdateReleaseAsset
) -> Result<ReleaseAsset, ReposUpdateReleaseAssetError>
Update a release asset
Users with push access to the repository can edit a release asset.
GitHub API docs for update_release_asset
pub async fn update_status_check_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PatchReposUpdateStatusCheckProtection
) -> Result<StatusCheckPolicy, ReposUpdateStatusCheckProtectionError>
pub async fn update_status_check_protection_async(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PatchReposUpdateStatusCheckProtection
) -> Result<StatusCheckPolicy, ReposUpdateStatusCheckProtectionError>
Update status check protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled.
GitHub API docs for update_status_check_protection
pub fn update_status_check_protection(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PatchReposUpdateStatusCheckProtection
) -> Result<StatusCheckPolicy, ReposUpdateStatusCheckProtectionError>
pub fn update_status_check_protection(
&self,
owner: &str,
repo: &str,
branch: &str,
body: PatchReposUpdateStatusCheckProtection
) -> Result<StatusCheckPolicy, ReposUpdateStatusCheckProtectionError>
Update status check protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled.
GitHub API docs for update_status_check_protection
pub async fn update_webhook_async(
&self,
owner: &str,
repo: &str,
hook_id: i32,
body: PatchReposUpdateWebhook
) -> Result<Hook, ReposUpdateWebhookError>
pub async fn update_webhook_async(
&self,
owner: &str,
repo: &str,
hook_id: i32,
body: PatchReposUpdateWebhook
) -> Result<Hook, ReposUpdateWebhookError>
Update a repository webhook
Updates a webhook configured in a repository. If you previously had a secret
set, you must provide the same secret
or set a new secret
or the secret will be removed. If you are only updating individual webhook config
properties, use “Update a webhook configuration for a repository.”
GitHub API docs for update_webhook
pub fn update_webhook(
&self,
owner: &str,
repo: &str,
hook_id: i32,
body: PatchReposUpdateWebhook
) -> Result<Hook, ReposUpdateWebhookError>
pub fn update_webhook(
&self,
owner: &str,
repo: &str,
hook_id: i32,
body: PatchReposUpdateWebhook
) -> Result<Hook, ReposUpdateWebhookError>
Update a repository webhook
Updates a webhook configured in a repository. If you previously had a secret
set, you must provide the same secret
or set a new secret
or the secret will be removed. If you are only updating individual webhook config
properties, use “Update a webhook configuration for a repository.”
GitHub API docs for update_webhook
pub async fn update_webhook_config_for_repo_async(
&self,
owner: &str,
repo: &str,
hook_id: i32,
body: PatchReposUpdateWebhookConfigForRepo
) -> Result<WebhookConfig, ReposUpdateWebhookConfigForRepoError>
pub async fn update_webhook_config_for_repo_async(
&self,
owner: &str,
repo: &str,
hook_id: i32,
body: PatchReposUpdateWebhookConfigForRepo
) -> Result<WebhookConfig, ReposUpdateWebhookConfigForRepoError>
Update a webhook configuration for a repository
Updates the webhook configuration for a repository. To update more information about the webhook, including the active
state and events
, use “Update a repository webhook.”
Access tokens must have the write:repo_hook
or repo
scope, and GitHub Apps must have the repository_hooks:write
permission.
GitHub API docs for update_webhook_config_for_repo
pub fn update_webhook_config_for_repo(
&self,
owner: &str,
repo: &str,
hook_id: i32,
body: PatchReposUpdateWebhookConfigForRepo
) -> Result<WebhookConfig, ReposUpdateWebhookConfigForRepoError>
pub fn update_webhook_config_for_repo(
&self,
owner: &str,
repo: &str,
hook_id: i32,
body: PatchReposUpdateWebhookConfigForRepo
) -> Result<WebhookConfig, ReposUpdateWebhookConfigForRepoError>
Update a webhook configuration for a repository
Updates the webhook configuration for a repository. To update more information about the webhook, including the active
state and events
, use “Update a repository webhook.”
Access tokens must have the write:repo_hook
or repo
scope, and GitHub Apps must have the repository_hooks:write
permission.
GitHub API docs for update_webhook_config_for_repo
pub async fn upload_release_asset_async(
&self,
owner: &str,
repo: &str,
release_id: i32,
query_params: impl Into<ReposUploadReleaseAssetParams<'api>>,
body: String
) -> Result<ReleaseAsset, ReposUploadReleaseAssetError>
pub async fn upload_release_asset_async(
&self,
owner: &str,
repo: &str,
release_id: i32,
query_params: impl Into<ReposUploadReleaseAssetParams<'api>>,
body: String
) -> Result<ReleaseAsset, ReposUploadReleaseAssetError>
Upload a release asset
This endpoint makes use of a Hypermedia relation to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the upload_url
returned in
the response of the Create a release endpoint to upload a release asset.
You need to use an HTTP client which supports SNI to make calls to this endpoint.
Most libraries will set the required Content-Length
header automatically. Use the required Content-Type
header to provide the media type of the asset. For a list of media types, see Media Types. For example:
application/zip
GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, you’ll still need to pass your authentication to be able to upload an asset.
When an upstream failure occurs, you will receive a 502 Bad Gateway
status. This may leave an empty asset with a state of starter
. It can be safely deleted.
Notes:
- GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The “List assets for a release” endpoint lists the renamed filenames. For more information and help, contact GitHub Support.
- If you upload an asset with the same filename as another uploaded asset, you’ll receive an error and must delete the old file before you can re-upload the new asset.
GitHub API docs for upload_release_asset
pub fn upload_release_asset(
&self,
owner: &str,
repo: &str,
release_id: i32,
query_params: impl Into<ReposUploadReleaseAssetParams<'api>>,
body: String
) -> Result<ReleaseAsset, ReposUploadReleaseAssetError>
pub fn upload_release_asset(
&self,
owner: &str,
repo: &str,
release_id: i32,
query_params: impl Into<ReposUploadReleaseAssetParams<'api>>,
body: String
) -> Result<ReleaseAsset, ReposUploadReleaseAssetError>
Upload a release asset
This endpoint makes use of a Hypermedia relation to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the upload_url
returned in
the response of the Create a release endpoint to upload a release asset.
You need to use an HTTP client which supports SNI to make calls to this endpoint.
Most libraries will set the required Content-Length
header automatically. Use the required Content-Type
header to provide the media type of the asset. For a list of media types, see Media Types. For example:
application/zip
GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, you’ll still need to pass your authentication to be able to upload an asset.
When an upstream failure occurs, you will receive a 502 Bad Gateway
status. This may leave an empty asset with a state of starter
. It can be safely deleted.
Notes:
- GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The “List assets for a release” endpoint lists the renamed filenames. For more information and help, contact GitHub Support.
- If you upload an asset with the same filename as another uploaded asset, you’ll receive an error and must delete the old file before you can re-upload the new asset.
GitHub API docs for upload_release_asset