Client API Reference
This reference is organized by the chained SDK entrypoints users call at
runtime, such as GitCode.branches.list() and
AsyncGitCode.pulls.list().
GitCode and AsyncGitCode are context managers: use with GitCode(...)
and async with AsyncGitCode(...) so the underlying httpx client is closed
when the block ends. The same applies to SyncAPIClient and
AsyncAPIClient; see Quickstart for examples. Closing the SDK client
also closes a supplied http_client instance.
Default TLS verification for the built-in httpx client (including
GITCODE_CA_BUNDLE / REQUESTS_CA_BUNDLE env variables) is described under
TLS and certificate verification in Quickstart. Pass http_client when you
need different TLS settings.
Resource introspection
Every chained resource on GitCode and AsyncGitCode (for example
client.repos or client.pulls) exposes the methods property: a tuple
of public callable names in stable SDK-defined order. Private names (leading _), the
methods and method_signature() helpers,
and non-callables are omitted. The tuple is cached on first access for the lifetime of that
resource object.
The same objects provide method_signature()
(also on AsyncResource), which takes a method name and
returns that name plus the formatted inspect.signature string (cached per name, annotations
shortened by stripping the internal gitcode_api._models. prefix).
Synchronous client
- class GitCode(*, api_key: str | None = None, owner: str | None = None, repo: str | None = None, base_url: str = 'https://api.gitcode.com/api/v5', timeout: float | None = None, http_client: Client | None = None, decrypt: Callable | None = None)
Bases:
SyncAPIClientSynchronous GitCode API client.
- Parameters:
api_key – Personal access token used for GitCode API requests.
owner – Default repository owner used by repository-scoped helpers.
repo – Default repository name used by repository-scoped helpers.
base_url – Base URL for the GitCode REST API.
timeout – Request timeout in seconds.
http_client – Optional pre-configured
httpx.Clientinstance.decrypt – Optional decryption function for encrypted access token.
Create a synchronous client and attach resource groups.
- repos: ReposResource
Repository endpoints exposed as
client.repos.
- contents: RepoContentsResource
Repository content endpoints exposed as
client.contents.
- branches: BranchesResource
Repository branch endpoints exposed as
client.branches.
- commits: CommitsResource
Repository commit endpoints exposed as
client.commits.
- close() None
Close the underlying HTTP client and clear cache for garbage collection.
- request(method: str, path: str, *, params: Dict[str, Any] | None = None, json: Any = None, data: Dict[str, Any] | None = None, headers: Dict[str, str] | None = None, raw: bool = False) Any
Send an HTTP request to the GitCode API and parse the response.
- Parameters:
method – HTTP method such as
"GET"or"POST".path – Relative API path or absolute URL.
params – Optional query parameters.
json – Optional JSON request body.
data – Optional form payload.
headers – Optional extra HTTP headers.
raw – When
True, return response bytes instead of parsed JSON.
- Returns:
Parsed JSON payload, raw bytes, text, or
None.
- issues: IssuesResource
Issue endpoints exposed as
client.issues.
- pulls: PullsResource
Pull request endpoints exposed as
client.pulls.
- labels: LabelsResource
Label endpoints exposed as
client.labels.
- milestones: MilestonesResource
Milestone endpoints exposed as
client.milestones.
- members: MembersResource
Repository member endpoints exposed as
client.members.
- releases: ReleasesResource
Release endpoints exposed as
client.releases.
- tags: TagsResource
Tag endpoints exposed as
client.tags.
- webhooks: WebhooksResource
Webhook endpoints exposed as
client.webhooks.
- users: UsersResource
User endpoints exposed as
client.users.
- orgs: OrgsResource
Organization endpoints exposed as
client.orgs.
- search: SearchResource
Search endpoints exposed as
client.search.
- oauth: OAuthResource
OAuth helper endpoints exposed as
client.oauth.
Repository resources
GitCode.repos
- GitCode.repos: ReposResource
Repository endpoints exposed as
client.repos.
- ReposResource.get(*, owner: str | None = None, repo: str | None = None) Repository
Get a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Repository metadata.
- ReposResource.list_user(*, visibility: str | None = None, affiliation: str | None = None, type: str | None = None, sort: str | None = None, direction: str | None = None, q: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]
List repositories visible to the authenticated user.
- Parameters:
visibility – Visibility filter such as
public,private, orall.affiliation – Ownership filter accepted by the REST API.
type – Repository type filter.
sort – Sort field such as
createdorfull_name.direction – Sort direction.
q – Optional keyword filter.
page – Page number.
per_page – Page size.
- Returns:
Matching repositories.
- ReposResource.list_for_owner(*, owner: str, type: str | None = None, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]
List public repositories for a user or owner path.
- Parameters:
owner – Repository owner path or username.
type – Repository type filter.
sort – Sort field.
direction – Sort direction.
page – Page number.
per_page – Page size.
- Returns:
Matching repositories.
- ReposResource.create_personal(*, name: str, description: str | None = None, path: str | None = None, private: bool | None = None, auto_init: bool | None = None, has_issues: bool | None = None, has_wiki: bool | None = None, default_branch: str | None = None, gitignore_template: str | None = None, license_template: str | None = None) Repository
Create a repository for the authenticated user.
- Parameters:
name – Repository name.
description – Repository description.
path – Optional repository path.
private – Whether the repository should be private.
auto_init – Whether to initialize the repository with a README.
has_issues – Whether issues are enabled.
has_wiki – Whether wiki support is enabled.
default_branch – Default branch name when initializing.
gitignore_template – Optional gitignore template.
license_template – Optional license template.
- Returns:
Created repository metadata.
- ReposResource.create_for_org(*, org: str, name: str, description: str | None = None, homepage: str | None = None, path: str | None = None, private: bool | None = None, public: int | None = None, auto_init: bool | None = None, has_issues: bool | None = None, has_wiki: bool | None = None, can_comment: bool | None = None, default_branch: str | None = None, gitignore_template: str | None = None, license_template: str | None = None) Repository
Create a repository under an organization.
- Parameters:
org – Organization path or login.
name – Repository name.
description – Repository description.
homepage – Repository homepage URL.
path – Optional repository path.
private – Whether the repository should be private.
public – Visibility mode used by the GitCode API.
auto_init – Whether to initialize the repository with a README.
has_issues – Whether issues are enabled.
has_wiki – Whether wiki support is enabled.
can_comment – Whether comments are enabled.
default_branch – Default branch name when initializing.
gitignore_template – Optional gitignore template.
license_template – Optional license template.
- Returns:
Created repository metadata.
- ReposResource.update(*, owner: str | None = None, repo: str | None = None, **changes) Repository
Update repository metadata.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
changes – Repository fields accepted by the update endpoint.
- Returns:
Updated repository metadata.
- ReposResource.delete(*, owner: str | None = None, repo: str | None = None) None
Delete a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- ReposResource.fork(*, owner: str | None = None, repo: str | None = None, namespace: str | None = None, path: str | None = None, name: str | None = None) Repository
Fork a repository.
- Parameters:
owner – Source repository owner path.
repo – Source repository name.
namespace – Optional destination namespace.
path – Optional destination repository path.
name – Optional destination repository name.
- Returns:
Forked repository metadata.
- ReposResource.list_forks(*, owner: str | None = None, repo: str | None = None, sort: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]
List forks of a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
sort – Optional sort field.
page – Page number.
per_page – Page size.
- Returns:
Fork repositories.
- ReposResource.list_contributors(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[Contributor]
List repository contributors.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
page – Page number.
per_page – Page size.
- Returns:
Contributors for the repository.
- ReposResource.list_languages(*, owner: str | None = None, repo: str | None = None) Dict[str, int]
List language statistics for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Mapping of language names to byte counts.
- ReposResource.list_stargazers(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[UserSummary]
List users who starred a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
page – Page number.
per_page – Page size.
- Returns:
Users who starred the repository.
- ReposResource.list_subscribers(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[UserSummary]
List users watching a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
page – Page number.
per_page – Page size.
- Returns:
Subscribers for the repository.
- ReposResource.update_module_settings(*, owner: str | None = None, repo: str | None = None, **settings) ApiStatusResponse
Update repository module settings.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
settings – Module settings accepted by the GitCode API.
- Returns:
API response payload.
- ReposResource.update_reviewer_settings(*, owner: str | None = None, repo: str | None = None, **settings) RepositoryReviewerSettingsUpdate
Update repository reviewer settings.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
settings – Reviewer settings accepted by the GitCode API.
- Returns:
API response payload.
- ReposResource.set_org_repo_status(*, org: str, repo: str, **payload) ApiStatusResponse
Update organization repository status metadata.
- Parameters:
org – Organization path.
repo – Repository path.
payload – Status fields accepted by the API.
- Returns:
API response payload.
- ReposResource.transfer_to_org(*, org: str, repo: str, **payload) ApiStatusResponse
Transfer a repository to an organization.
- Parameters:
org – Destination organization path.
repo – Repository path.
payload – Transfer options accepted by the API.
- Returns:
API response payload.
- ReposResource.get_transition(*, owner: str | None = None, repo: str | None = None) RepositoryPermissionMode
Get repository transition settings.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Transition configuration.
- ReposResource.update_transition(*, owner: str | None = None, repo: str | None = None, **payload) ApiStatusResponse
Update repository transition settings.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
payload – Transition settings accepted by the API.
- Returns:
API response payload.
- ReposResource.update_push_config(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryPushConfig
Update repository push configuration.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
payload – Push configuration values accepted by the API.
- Returns:
API response payload.
- ReposResource.get_push_config(*, owner: str | None = None, repo: str | None = None) RepositoryPushConfig
Get repository push configuration.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Push configuration payload.
- ReposResource.upload_image(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryUploadResult
Upload an image asset for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
payload – Upload fields accepted by the API.
- Returns:
Uploaded image metadata.
- ReposResource.upload_file(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryUploadResult
Upload a file asset for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
payload – Upload fields accepted by the API.
- Returns:
Uploaded file metadata.
- ReposResource.update_repo_settings(*, owner: str | None = None, repo: str | None = None, **payload) RepositorySettings
Update repository settings.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
payload – Settings fields accepted by the API.
- Returns:
API response payload.
- ReposResource.get_repo_settings(*, owner: str | None = None, repo: str | None = None) RepositorySettings
Get repository settings.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Repository settings payload.
- ReposResource.get_pull_request_settings(*, owner: str | None = None, repo: str | None = None) PullRequestSettings
Get pull request settings for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Pull request settings payload.
- ReposResource.update_pull_request_settings(*, owner: str | None = None, repo: str | None = None, **payload) PullRequestSettings
Update pull request settings for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
payload – Pull request settings accepted by the API.
- Returns:
API response payload.
- ReposResource.set_member_role(*, username: str, owner: str | None = None, repo: str | None = None, permission: str | None = None) RepoMember
Set a repository member role.
- Parameters:
username – Member username or login.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
permission – Permission or role name accepted by the API.
- Returns:
API response payload.
- ReposResource.transfer(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryTransferResult
Transfer a repository to another owner or namespace.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
payload – Transfer options accepted by the API.
- Returns:
API response payload.
- ReposResource.list_customized_roles(*, owner: str | None = None, repo: str | None = None) List[RepositoryCustomizedRole]
List customized roles for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Customized role definitions.
- ReposResource.get_download_statistics(*, owner: str | None = None, repo: str | None = None, **params) RepositoryDownloadStatistics
Get download statistics for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
params – Query parameters accepted by the statistics endpoint.
- Returns:
Download statistics payload.
- ReposResource.get_contributor_statistics(*, owner: str | None = None, repo: str | None = None) List[ContributorStatistics]
Get code contribution statistics for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Contributor statistics payload.
- ReposResource.list_events(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[APIObject]
List repository events.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
page – Page number.
per_page – Page size.
- Returns:
Repository event payloads.
GitCode.contents
- GitCode.contents: RepoContentsResource
Repository content endpoints exposed as
client.contents.
- RepoContentsResource.get(*, path: str, owner: str | None = None, repo: str | None = None, ref: str | None = None) ContentObject
Get a file or directory entry from a repository.
- Parameters:
path – Repository-relative file path.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
ref – Optional branch, tag, or commit SHA.
- Returns:
Content metadata and payload details.
- RepoContentsResource.create(*, path: str, content: str, message: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult
Create a file in a repository.
- Parameters:
path – Repository-relative file path.
content – File content, typically base64-encoded for this API.
message – Commit message.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
branch – Optional target branch.
author_name – Optional commit author name.
author_email – Optional commit author email.
- Returns:
Commit result payload.
- RepoContentsResource.update(*, path: str, content: str, message: str, sha: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult
Update a file in a repository.
- Parameters:
path – Repository-relative file path.
content – Updated file content, typically base64-encoded.
message – Commit message.
sha – Current blob SHA required by the API.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
branch – Optional target branch.
author_name – Optional commit author name.
author_email – Optional commit author email.
- Returns:
Commit result payload.
- RepoContentsResource.delete(*, path: str, message: str, sha: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult
Delete a file from a repository.
- Parameters:
path – Repository-relative file path.
message – Commit message.
sha – Current blob SHA required by the API.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
branch – Optional target branch.
author_name – Optional commit author name.
author_email – Optional commit author email.
- Returns:
Commit result payload.
- RepoContentsResource.list_paths(*, owner: str | None = None, repo: str | None = None, ref_name: str | None = None, file_name: str | None = None) List[str]
List repository paths known to GitCode.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
ref_name – Optional ref name to inspect.
file_name – Optional filename filter.
- Returns:
Matching repository paths.
- RepoContentsResource.get_tree(*, sha: str, owner: str | None = None, repo: str | None = None, recursive: int | None = None, page: int | None = None, per_page: int | None = None) Tree
Get a Git tree object.
- Parameters:
sha – Tree SHA.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
recursive – Pass
1to fetch the tree recursively (query parameter per Repository API).page – Page number for large trees.
per_page – Page size for large trees.
- Returns:
Tree metadata and entries.
- RepoContentsResource.get_blob(*, sha: str, owner: str | None = None, repo: str | None = None) Blob
Get a Git blob object by SHA.
- Parameters:
sha – Blob SHA.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Blob metadata and content.
- RepoContentsResource.get_raw(*, path: str, owner: str | None = None, repo: str | None = None, ref: str | None = None) bytes
Download raw file bytes from a repository.
- Parameters:
path – Repository-relative file path.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
ref – Optional branch, tag, or commit SHA.
- Returns:
Raw file bytes.
GitCode.branches
- GitCode.branches: BranchesResource
Repository branch endpoints exposed as
client.branches.
- BranchesResource.list(*, owner: str | None = None, repo: str | None = None, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Branch]
List branches in a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
sort – Optional sort field such as
nameorupdated.direction – Sort direction, usually
ascordesc.page – Page number.
per_page – Page size.
- Returns:
Repository branches.
- BranchesResource.get(*, branch: str, owner: str | None = None, repo: str | None = None) BranchDetail
Get a single branch.
- Parameters:
branch – Branch name.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Branch details.
- BranchesResource.create(*, branch: str, ref: str, owner: str | None = None, repo: str | None = None) Branch
Create a branch from an existing ref.
- Parameters:
branch – New branch name.
ref – Starting ref such as a branch, tag, or commit SHA.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Created branch details.
- BranchesResource.list_protected(*, owner: str | None = None, repo: str | None = None) List[ProtectedBranch]
List protected branch rules for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Protected branch rules.
GitCode.commits
- GitCode.commits: CommitsResource
Repository commit endpoints exposed as
client.commits.
- CommitsResource.list(*, owner: str | None = None, repo: str | None = None, sha: str | None = None, path: str | None = None, page: int | None = None, per_page: int | None = None) List[CommitSummary]
List commits in a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
sha – Optional starting SHA or ref.
path – Optional file path filter.
page – Page number.
per_page – Page size.
- Returns:
Matching commits.
- CommitsResource.get(*, sha: str, owner: str | None = None, repo: str | None = None) Commit
Get a single commit.
- Parameters:
sha – Commit SHA or branch name accepted by the API.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Commit details.
- CommitsResource.compare(*, base: str, head: str, owner: str | None = None, repo: str | None = None) CommitComparison
Compare two refs in a repository.
- Parameters:
base – Base commit SHA, branch, or tag.
head – Head commit SHA, branch, or tag.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Commit comparison payload.
- CommitsResource.list_comments(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[CommitComment]
List commit comments for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
page – Page number.
per_page – Page size.
- Returns:
Commit comments.
- CommitsResource.get_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) CommitComment
Get a single commit comment.
- Parameters:
comment_id – Commit comment identifier.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Commit comment details.
- CommitsResource.create_comment(*, sha: str, body: str, owner: str | None = None, repo: str | None = None, path: str | None = None, position: int | None = None) CommitComment
Create a comment on a commit.
- Parameters:
sha – Commit SHA.
body – Comment body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
path – Optional file path associated with the comment.
position – Optional diff position.
- Returns:
Created commit comment.
- CommitsResource.update_comment(*, comment_id: int | str, body: str, owner: str | None = None, repo: str | None = None) CommitComment
Update a commit comment.
- Parameters:
comment_id – Commit comment identifier.
body – Updated comment body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Updated commit comment.
- CommitsResource.delete_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) None
Delete a commit comment.
- Parameters:
comment_id – Commit comment identifier.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
Collaboration resources
Issue and pull request templates
IssuesResource.list_templates, IssuesResource.get_template,
PullsResource.list_templates, and PullsResource.get_template (and the
Async* equivalents) help you read GitCode active templates from the
repository default branch via the Contents and Raw APIs.
list_templates returns RepositoryGitCodeTemplate
rows: each row includes path, sha, and the template_owner /
template_repo of the repository where that file was found. get_template
returns the decoded file body as str; pass owner= and repo= from
the row when they differ from the client’s default context (for example when
the template was resolved from another repository).
Resolution (first source with any matching template wins). The SDK builds
an ordered list of (owner, repo) pairs, then walks GET .../contents/.gitcode
for each until it finds paths that match the template naming rules:
The client’s default repository (
owner/repofrom the call or client).The owner’s dedicated template repository:
(owner, ".gitcode").For every candidate in that list,
GET /repos/{owner}/{repo}is used; whenforkis true, the parent’sfull_nameis split into(parent_owner, parent_repo)and both(parent_owner, parent_repo)and(parent_owner, ".gitcode")are appended if not already present. New pairs are processed the same way (so a forkedowner/.gitcoderepo can still pull in its upstream). The walk stops at a bounded number of candidates.
Path filters. Issue templates match repository-relative paths under
.gitcode/ whose names start with ISSUE_TEMPLATE (case-insensitive) and
end with .md, .markdown, .yml, or .yaml. Pull request templates
use the PULL_REQUEST_TEMPLATE prefix with the same extension set.
Runnable examples: examples/get_issue_templates.py and
examples/get_pull_request_templates.py.
GitCode.issues
- GitCode.issues: IssuesResource
Issue endpoints exposed as
client.issues.
- IssuesResource.list(*, owner: str | None = None, repo: str | None = None, state: str | None = None, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Issue]
List issues for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
state – Issue state filter such as
openorclosed(see Issues API).sort – Optional sort field.
direction – Optional sort direction.
page – Page number.
per_page – Page size.
- Returns:
Matching issues.
- IssuesResource.get(*, number: int | str, owner: str | None = None, repo: str | None = None) Issue
Get a single issue by number.
- Parameters:
number – Repository-local issue number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Issue details.
- IssuesResource.create(*, owner: str, repo: str | None = None, title: str, body: str | None = None, assignee: str | None = None, labels: List[str] | None = None, milestone: int | str | None = None, security_hole: str | None = None) Issue
Create an issue for a repository.
- Parameters:
owner – Repository owner path.
repo – Repository name. Uses the client default when omitted.
title – Issue title.
body – Optional issue description.
assignee – Optional assignee username.
labels – Optional label names.
milestone – Optional milestone identifier.
security_hole – Whether the issue is private; form field described in the Issues API (default public).
- Returns:
Created issue details.
- IssuesResource.update(*, number: int | str, owner: str, repo: str | None = None, title: str | None = None, body: str | None = None, state: str | None = None, assignee: str | None = None, labels: List[str] | None = None, milestone: int | str | None = None, security_hole: str | None = None) Issue
Update an existing issue.
- Parameters:
number – Repository-local issue number.
owner – Repository owner path.
repo – Repository name. Uses the client default when omitted.
title – Updated issue title.
body – Updated issue description.
state – Updated state such as
reopenorclose.assignee – Updated assignee username.
labels – Replacement label names.
milestone – Updated milestone identifier.
security_hole – Whether the issue is private; form field described in the Issues API.
- Returns:
Updated issue details.
- IssuesResource.list_comments(*, number: int | str, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[IssueComment]
List comments for an issue.
- Parameters:
number – Repository-local issue number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path (name). Uses the client default when omitted.
page – Current page number (query).
per_page – Page size; maximum per REST API is typically 100.
- Returns:
Issue comments.
- IssuesResource.create_comment(*, number: int | str, body: str, owner: str | None = None, repo: str | None = None) IssueComment
Create a comment on an issue.
- Parameters:
number – Repository-local issue number.
body – Comment body text.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Created comment.
- IssuesResource.get_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) IssueComment
Get a single issue comment by identifier.
- Parameters:
comment_id – Comment id from the API.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Issue comment.
- IssuesResource.update_comment(*, comment_id: int | str, body: str, owner: str | None = None, repo: str | None = None) IssueComment
Update an issue comment.
- Parameters:
comment_id – Comment id from the API.
body – Updated comment body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Updated comment.
- IssuesResource.delete_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) None
Delete an issue comment.
- Parameters:
comment_id – Comment id from the API.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- IssuesResource.list_pull_requests(*, number: int | str, owner: str | None = None, repo: str | None = None) List[PullRequest]
List pull requests associated with an issue.
- Parameters:
number – Repository-local issue number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Pull requests linked to the issue.
- IssuesResource.add_labels(*, number: int | str, labels: List[str], owner: str | None = None, repo: str | None = None) List[Label]
Add labels to an issue.
- Parameters:
number – Repository-local issue number.
labels – Label names to add (request body is a JSON array per REST API).
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Labels on the issue after the operation.
- IssuesResource.remove_label(*, number: int | str, name: str, owner: str | None = None, repo: str | None = None) None
Remove one label from an issue (REST path includes the label name).
- Parameters:
number – Repository-local issue number.
name – Label name to remove.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- IssuesResource.list_enterprise(*, enterprise: str, **params) List[Issue]
List enterprise issues visible to the caller.
- Parameters:
enterprise – Enterprise path or login.
params – Additional query parameters accepted by
GET .../enterprises/{enterprise}/issues.
- Returns:
Enterprise-scoped issues.
- IssuesResource.list_user(**params) List[Issue]
List issues for the authenticated user.
- Parameters:
params – Query parameters for
GET /user/issues(filters, pagination, etc.).- Returns:
Issues assigned to or authored by the user, per API rules.
- IssuesResource.list_org(*, org: str, **params) List[Issue]
List organization issues visible to the current user.
- Parameters:
org – Organization path or login.
params – Query parameters for
GET .../orgs/{org}/issues.
- Returns:
Organization-scoped issues.
- IssuesResource.get_enterprise_issue(*, enterprise: str, number: int | str) Issue
Get a specific enterprise issue.
- Parameters:
enterprise – Enterprise path or login.
number – Enterprise issue id or number as accepted by the API path.
- Returns:
Issue payload.
- IssuesResource.list_enterprise_comments(*, enterprise: str, number: int | str, **params) List[IssueComment]
List comments for an enterprise issue.
- Parameters:
enterprise – Enterprise path or login.
number – Enterprise issue identifier in the path.
params – Optional pagination or filter query parameters.
- Returns:
Comments on the enterprise issue.
- IssuesResource.list_enterprise_labels(*, enterprise: str, issue_id: int | str) List[Label]
List labels attached to an enterprise issue.
- Parameters:
enterprise – Enterprise path or login.
issue_id – Enterprise issue id in the path segment
.../issues/{issue_id}/labels.
- Returns:
Labels on the issue.
- IssuesResource.list_operation_logs(*, owner: str, number: int | str, page: int | None = None, per_page: int | None = None) List[IssueOperationLog]
List operation (audit) logs for an issue.
- Parameters:
owner – Repository owner path (path segment
repos/{owner}/...for this endpoint).number – Repository-local issue number.
page – Page number.
per_page – Page size.
- Returns:
Operation log entries.
- IssuesResource.list_templates(*, owner: str | None = None, repo: str | None = None) List[RepositoryGitCodeTemplate]
List active issue templates under
.gitcode/for this repository.Matches Markdown (
.md,.markdown) and YAML (.yml/.yaml) paths whose names start withISSUE_TEMPLATEunder.gitcode/(case-insensitive), including files inside localized directories such as.gitcode/ISSUE_TEMPLATE.en/.Resolution tries the repository, then the owner’s
.gitcoderepository, then any parent main andparent/.gitcodepairs discovered from forks (each candidate is inspected withGET /repos/{owner}/{repo}; whenforkis true, its parent’s repos are appended, deduplicated, and visited in order). The first source with matching templates wins.- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Template metadata entries (paths and SHAs); empty when none match.
- IssuesResource.get_template(*, path: str, owner: str | None = None, repo: str | None = None) str
Load a single issue template file body from the default branch.
Uses the same resolution order as
list_templates(). The path must match the active issue template naming convention (see GitCode.gitcodedocumentation).- Parameters:
path – Repository-relative path such as
.gitcode/ISSUE_TEMPLATE_bug.mdor.gitcode/ISSUE_TEMPLATE/config.yml.owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Decoded template file contents (UTF-8).
GitCode.pulls
- GitCode.pulls: PullsResource
Pull request endpoints exposed as
client.pulls.
- PullsResource.list(*, owner: str | None = None, repo: str | None = None, state: str | None = None, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None, **params) List[PullRequest] | PullRequestCount
List pull requests for a repository.
When
only_countis true inparams(or passed via**params), the API returns a JSON object with counts per state instead of an array (see Pull Request API).- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path (name). Uses the client default when omitted.
state – PR state filter:
all,open,closed,locked,merged(defaultallin API).sort – Sort field, typically
createdorupdated.direction –
ascordesc(API default is usuallydesc).page – Current page number.
per_page – Page size (max 100 per API documentation).
params – Extra query parameters from the Pull Request API, for example
base,since,author,assignee,reviewer,milestone_number,labels(comma-separated),merged_after,merged_before,created_after,created_before,updated_after,updated_before,only_count(boolean), and ISO 8601 timestamps (URL-encoded when sent).
- Returns:
A list of pull requests, or an
APIObjectwhen the response is a count object.
- PullsResource.get(*, number: int | str, owner: str | None = None, repo: str | None = None) PullRequest
Get a single pull request.
- Parameters:
number – Pull request number in the repository.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Pull request details.
- PullsResource.create(*, title: str, head: str, base: str, owner: str | None = None, repo: str | None = None, body: str | None = None, draft: bool | None = None, assignees: List[str] | None = None, testers: List[str] | None = None, labels: List[str] | None = None, milestone_number: int | None = None, issue: str | None = None, prune_source_branch: bool | None = None, squash: bool | None = None, squash_commit_message: str | None = None, fork_path: str | None = None) PullRequest
Create a pull request.
- Parameters:
title – Pull request title.
head – Source branch ref (head branch, in forks use
owner:branchlike “SushiNinja:develop”).base – Target branch ref (base branch).
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
body – Description body.
draft – Whether to create as draft.
assignees – Assignee logins; sent as a comma-separated string per API.
testers – Tester logins; comma-separated in the JSON body.
labels – Label names; comma-separated in the JSON body.
milestone_number – Target milestone number.
issue – Related issue reference when supported by the API.
prune_source_branch – Whether to delete the source branch after merge when applicable.
squash – Squash-merge preference where supported.
squash_commit_message – Custom squash commit message.
fork_path – Fork
owner/repowhen opening a PR from a fork, like “SushiNinja/agent-core-contrib”.
- Returns:
Created pull request.
- PullsResource.update(*, number: int | str, owner: str | None = None, repo: str | None = None, title: str | None = None, body: str | None = None, state: str | None = None, base: str | None = None, labels: List[str] | None = None, draft: bool | None = None) PullRequest
Update a pull request.
- Parameters:
number – Pull request number in the repository.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
title – New title.
body – New description.
state – New state as accepted by the API (for example close or reopen semantics).
base – New base branch name.
labels – Replacement labels; comma-separated in the JSON body.
draft – Draft flag.
- Returns:
Updated pull request.
- PullsResource.merge(*, number: int | str, owner: str | None = None, repo: str | None = None, merge_commit_message: str | None = None, squash: bool | None = None) MergeResult
Merge a pull request.
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
merge_commit_message – Optional merge commit message.
squash – Whether to squash merge when supported.
- Returns:
Merge result payload.
- PullsResource.get_merge_status(*, number: int | str, owner: str | None = None, repo: str | None = None) MergeStatus
Get mergeability status for a pull request (GET on the merge resource).
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Merge status / mergeability information.
- PullsResource.list_commits(*, number: int | str, owner: str | None = None, repo: str | None = None) List[APIObject]
List commits included in a pull request.
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Commit objects (wrapped as
APIObject).
- PullsResource.list_files(*, number: int | str, owner: str | None = None, repo: str | None = None) List[PullRequestFile]
List files changed by a pull request.
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
File change entries.
- PullsResource.list_comments(*, number: int | str, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[PullRequestComment]
List comments on a pull request.
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
page – Page number.
per_page – Page size.
- Returns:
Pull request review comments.
- PullsResource.create_comment(*, number: int | str, body: str, owner: str | None = None, repo: str | None = None, commit_id: str | None = None, path: str | None = None, position: int | None = None) PullRequestComment
Create a pull request (review) comment.
- Parameters:
number – Pull request number.
body – Comment body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
commit_id – Commit SHA the comment applies to.
path – File path in the diff.
position – Line or diff position as defined by the API.
- Returns:
Created comment.
- PullsResource.get_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) PullRequestComment
Get a single pull request comment by id (global comment endpoint).
- Parameters:
comment_id – Comment id.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Pull request comment.
- PullsResource.update_comment(*, comment_id: int | str, body: str, owner: str | None = None, repo: str | None = None) PullRequestComment
Update a pull request comment.
- Parameters:
comment_id – Comment id.
body – Updated body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Updated comment.
- PullsResource.delete_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) None
Delete a pull request comment.
- Parameters:
comment_id – Comment id.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- PullsResource.list_labels(*, number: int | str, owner: str | None = None, repo: str | None = None) List[Label]
List labels attached to a pull request.
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Labels on the pull request.
- PullsResource.add_labels(*, number: int | str, labels: List[str], owner: str | None = None, repo: str | None = None) List[Label]
Add labels to a pull request.
- Parameters:
number – Pull request number.
labels – Label names (JSON array body per API).
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Labels after the operation.
- PullsResource.replace_labels(*, number: int | str, labels: List[str], owner: str | None = None, repo: str | None = None) List[Label]
Replace all labels on a pull request.
- Parameters:
number – Pull request number.
labels – Complete new label set (JSON array body).
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Labels after replacement.
- PullsResource.remove_label(*, number: int | str, label: str, owner: str | None = None, repo: str | None = None) None
Remove a label from a pull request.
- Parameters:
number – Pull request number.
label – Label name to remove.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- PullsResource.request_review(*, number: int | str, owner: str | None = None, repo: str | None = None, event: str, body: str | None = None) None
Submit a pull request review event (approve, request changes, etc., per API).
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
event – Review event name as required by GitCode (for example
APPROVE; see API docs).body – Optional comment body accompanying the event.
- Returns:
Review result object.
- PullsResource.list_operation_logs(*, number: int | str, owner: str | None = None, repo: str | None = None, **params) List[PullRequestOperationLog]
List operation logs for a pull request.
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
params – Additional query parameters accepted by the operate_logs endpoint.
- Returns:
Log entries as generic API objects.
- PullsResource.request_test(*, number: int | str, owner: str | None = None, repo: str | None = None, **payload) None
Request testing for a pull request.
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
payload – JSON fields required by the test request endpoint.
- Returns:
Test request result.
- PullsResource.update_testers(*, number: int | str, testers: List[str], owner: str | None = None, repo: str | None = None) None
Replace pull request testers.
- Parameters:
number – Pull request number.
testers – New tester list; serialized as a comma-separated
testersfield in JSON.owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
API response payload.
- PullsResource.add_testers(*, number: int | str, testers: List[str], owner: str | None = None, repo: str | None = None) List[UserSummary]
Add testers to a pull request.
- Parameters:
number – Pull request number.
testers – Usernames to add; comma-separated in the JSON body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
API response payload.
- PullsResource.update_assignees(*, number: int | str, assignees: List[str], owner: str | None = None, repo: str | None = None) None
Replace pull request assignees.
- Parameters:
number – Pull request number.
assignees – New assignee list; comma-separated in the JSON body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
API response payload.
- PullsResource.add_assignees(*, number: int | str, assignees: List[str], owner: str | None = None, repo: str | None = None) PullRequestAssigneeCount
Add assignees to a pull request.
- Parameters:
number – Pull request number.
assignees – Usernames to add; comma-separated in the JSON body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
API response payload.
- PullsResource.remove_assignees(*, number: int | str, assignees: List[str], owner: str | None = None, repo: str | None = None) None
Remove assignees from a pull request.
- Parameters:
number – Pull request number.
assignees – Usernames to remove; comma-separated in the JSON body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- PullsResource.list_issues(*, number: int | str, owner: str | None = None, repo: str | None = None) List[Issue]
List issues linked to a pull request.
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Linked issues.
- PullsResource.list_enterprise(*, enterprise: str, **params) List[PullRequest]
List enterprise pull requests.
- Parameters:
enterprise – Enterprise path or login.
params – Query parameters for the enterprise pull_requests listing.
- Returns:
Pull requests in the enterprise scope.
- PullsResource.list_org(*, org: str, **params) List[PullRequest]
List pull requests for an organization scope.
- Parameters:
org – Organization path (
GET .../org/{org}/pull_requests).params – Query parameters accepted by that listing.
- Returns:
Organization-scoped pull requests.
- PullsResource.list_issue_pull_requests(*, enterprise: str, number: int | str) List[PullRequest]
List pull requests associated with an enterprise issue.
- Parameters:
enterprise – Enterprise path or login.
number – Enterprise issue number or id in the path.
- Returns:
Related pull requests.
- PullsResource.list_templates(*, owner: str | None = None, repo: str | None = None) List[RepositoryGitCodeTemplate]
List active pull request templates under
.gitcode/for this repository.Resolution tries the repository, then the owner’s
.gitcoderepository, then any parent main andparent/.gitcodepairs discovered from forks (each candidate is inspected withGET /repos/{owner}/{repo}; whenforkis true, its parent’s repos are appended, deduplicated, and visited in order). The first source with matching templates wins.- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Template metadata entries (paths and SHAs); empty when none match.
- PullsResource.get_template(*, path: str, owner: str | None = None, repo: str | None = None) str
Load a single pull request template file body from the default branch.
Uses the same resolution order as
list_templates(). The path must match the active pull request template naming convention (see GitCode.gitcodedocumentation).- Parameters:
path – Repository-relative path such as
.gitcode/PULL_REQUEST_TEMPLATE.md.owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Decoded template file contents (UTF-8).
GitCode.labels
- GitCode.labels: LabelsResource
Label endpoints exposed as
client.labels.
- LabelsResource.list(*, owner: str | None = None, repo: str | None = None) List[Label]
List repository labels.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
All labels defined on the repository.
- LabelsResource.create(*, name: str, color: str, owner: str | None = None, repo: str | None = None) Label
Create a repository label.
- Parameters:
name – Label name.
color – Label color (typically a
#RRGGBBhex string per API examples).owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Created label.
- LabelsResource.update(*, original_name: str, owner: str | None = None, repo: str | None = None, name: str | None = None, color: str | None = None) Label
Update a repository label.
- Parameters:
original_name – Current label name in the URL path.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
name – New label name, if renaming.
color – New color value.
- Returns:
Updated label.
- LabelsResource.delete(*, name: str, owner: str | None = None, repo: str | None = None) None
Delete a repository label.
- Parameters:
name – Label name in the path.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- LabelsResource.clear_issue_labels(*, number: int | str, owner: str | None = None, repo: str | None = None) None
Remove all labels from an issue.
- Parameters:
number – Repository-local issue number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- LabelsResource.replace_issue_labels(*, number: int | str, labels: List[str], owner: str | None = None, repo: str | None = None) List[Label]
Replace all labels on an issue.
- Parameters:
number – Repository-local issue number.
labels – Complete new label set (JSON array body).
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Labels after replacement.
- LabelsResource.list_enterprise(*, enterprise: str, search: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None, api_version: str = 'v5') List[Label]
List labels for an enterprise, optionally using a different API version.
- Parameters:
enterprise – Enterprise path or login.
search – Optional name search string.
direction – Sort direction for results.
page – Page number.
per_page – Page size.
api_version –
v5uses/api/v5/...; other values build/api/{version}/...on the same host.
- Returns:
Enterprise label definitions.
GitCode.milestones
- GitCode.milestones: MilestonesResource
Milestone endpoints exposed as
client.milestones.
- MilestonesResource.list(*, owner: str | None = None, repo: str | None = None, **params) List[Milestone]
List milestones for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
params – Query parameters accepted by the milestones listing (state, sort, pagination, etc.).
- Returns:
Milestones.
- MilestonesResource.get(*, number: int | str, owner: str | None = None, repo: str | None = None) Milestone
Get a single milestone.
- Parameters:
number – Milestone number in the repository.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Milestone details.
- MilestonesResource.create(*, title: str, due_on: str, owner: str | None = None, repo: str | None = None, description: str | None = None) Milestone
Create a milestone.
- Parameters:
title – Milestone title.
due_on – Due date string in the format expected by the API (often ISO 8601).
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
description – Optional description.
- Returns:
Created milestone.
- MilestonesResource.update(*, number: int | str, title: str, due_on: str, owner: str | None = None, repo: str | None = None, description: str | None = None, state: str | None = None) Milestone
Update a milestone.
- Parameters:
number – Milestone number.
title – Updated title.
due_on – Updated due date.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
description – Updated description.
state – Milestone state such as
openorclosedper API.
- Returns:
Updated milestone.
- MilestonesResource.delete(*, number: int | str, owner: str | None = None, repo: str | None = None) None
Delete a milestone.
- Parameters:
number – Milestone number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
GitCode.members
- GitCode.members: MembersResource
Repository member endpoints exposed as
client.members.
- MembersResource.add_or_update(*, username: str, owner: str | None = None, repo: str | None = None, permission: str | None = None) RepoMember
Add or update repository member permissions.
- Parameters:
username – Collaborator login.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
permission – Permission string (for example
pull,push,adminper GitCode API).
- Returns:
Collaborator record.
- MembersResource.remove(*, username: str, owner: str | None = None, repo: str | None = None) None
Remove a repository member.
- Parameters:
username – Collaborator login to remove.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- MembersResource.list(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[RepoCollaborator]
List repository members (collaborators).
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
page – Page number.
per_page – Page size.
- Returns:
Collaborators with permission metadata.
- MembersResource.get(*, username: str, owner: str | None = None, repo: str | None = None) RepositoryCollaboratorCheck
Check whether a user is a repository member.
- MembersResource.get_permission(*, username: str, owner: str | None = None, repo: str | None = None) RepoMemberPermission
Get repository member permissions.
- Parameters:
username – Collaborator login.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Effective permission for the user on the repository.
Account and discovery resources
GitCode.users
- GitCode.users: UsersResource
User endpoints exposed as
client.users.
- UsersResource.get(*, username: str) User
Get a user profile.
- Parameters:
username – GitCode username or login.
- Returns:
User profile details.
- UsersResource.me() User
Get the profile of the authenticated user.
- Returns:
Authorized user profile.
- UsersResource.list_emails() List[Email]
List email addresses for the authenticated user.
- Returns:
Email records associated with the current account.
- UsersResource.list_events(*, username: str, year: str | None = None, next: str | None = None) UserEventsResponse
List activity events for a user.
- Parameters:
username – GitCode username or login (path segment, see User API).
year – Optional start year filter (query
year, e.g.2024per documentation).next – Optional end date / pagination cursor (query
next; often an ISO timestamp from a prior page).
- Returns:
Event payload grouped by date.
- UsersResource.list_repos(*, username: str, **params) List[Repository]
List public repositories owned by a user.
Supported filters follow the user repository API documentation, such as
type,sort,direction,page, andper_page.- Parameters:
username – GitCode username or login.
params – Query parameters accepted by the REST endpoint.
- Returns:
Matching repositories.
- UsersResource.create_key(*, key: str, title: str) PublicKey
Add a public SSH key for the authenticated user.
- Parameters:
key – Public key material.
title – Human-readable key name.
- Returns:
Created key metadata.
- UsersResource.list_keys(*, page: int | None = None, per_page: int | None = None) List[APIObject]
List public SSH keys for the authenticated user.
- Parameters:
page – Page number.
per_page – Page size.
- Returns:
Public key records.
- UsersResource.delete_key(*, key_id: int | str) None
Delete a public SSH key.
- Parameters:
key_id – Public key identifier.
- UsersResource.get_key(*, key_id: int | str) PublicKey
Get a single public SSH key.
- Parameters:
key_id – Public key identifier.
- Returns:
Public key metadata.
- UsersResource.get_namespace(*, path: str) Namespace
Resolve namespace information for the authenticated user.
- Parameters:
path – Namespace path to look up.
- Returns:
Namespace details.
- UsersResource.list_starred(*, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]
List repositories starred by the authenticated user.
- Parameters:
sort – Sort field such as
createdorupdated.direction – Sort direction, usually
ascordesc.page – Page number.
per_page – Page size.
- Returns:
Starred repositories.
GitCode.orgs
- GitCode.orgs: OrgsResource
Organization endpoints exposed as
client.orgs.
- OrgsResource.list_for_user(*, username: str, page: int | None = None, per_page: int | None = None) List[OrganizationSummary]
List organizations for a user.
- Parameters:
username – GitCode username or login.
page – Page number.
per_page – Page size.
- Returns:
Organizations the user belongs to.
- OrgsResource.list_authenticated(*, page: int | None = None, per_page: int | None = None, admin: bool | None = None) List[OrganizationSummary]
List organizations for the authenticated user.
- Parameters:
page – Page number.
per_page – Page size.
admin – Optional admin-only filter.
- Returns:
Organizations visible to the authorized user.
- OrgsResource.get_member(*, org: str, username: str) OrganizationMembership
Get an organization member profile.
- Parameters:
org – Organization path or login.
username – Member username or login.
- Returns:
Organization membership details.
- OrgsResource.get(*, org: str) Organization
Get an organization.
- Parameters:
org – Organization path or login.
- Returns:
Organization details.
- OrgsResource.list_repos(*, org: str, type: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]
List repositories for an organization.
- Parameters:
org – Organization path or login.
type – Repository type filter such as
all,public, orprivate.page – Page number.
per_page – Page size.
- Returns:
Matching repositories.
- OrgsResource.create_repo(*, org: str, name: str, **payload) Repository
Create an organization repository.
Additional payload fields match the organization repository creation endpoint, such as
description,homepage,private,public,auto_init, anddefault_branch.- Parameters:
org – Organization path or login.
name – Repository name.
payload – Additional repository creation fields.
- Returns:
Created repository metadata.
- OrgsResource.get_enterprise_member(*, enterprise: str, username: str) EnterpriseMember
Get a member profile for an enterprise.
- Parameters:
enterprise – Enterprise path or login.
username – Member username or login.
- Returns:
Enterprise membership details.
- OrgsResource.get_membership(*, org: str) OrganizationMembership
Get the authenticated user’s membership in an organization.
- Parameters:
org – Organization path or login.
- Returns:
Membership details for the current user.
- OrgsResource.list_members(*, org: str, page: int | None = None, per_page: int | None = None, role: str | None = None) List[User]
List members of an organization.
- Parameters:
org – Organization path or login.
page – Page number.
per_page – Page size.
role – Optional role filter such as
all,admin, ormember.
- Returns:
Organization members.
- OrgsResource.list_enterprise_members(*, enterprise: str, page: int | None = None, per_page: int | None = None, role: str | None = None) List[EnterpriseMember]
List members of an enterprise.
- Parameters:
enterprise – Enterprise path or login.
page – Page number.
per_page – Page size.
role – Optional role filter.
- Returns:
Enterprise members.
- OrgsResource.remove_member(*, org: str, username: str) EmptyResponse
Remove a member from an organization.
- Parameters:
org – Organization path or login.
username – Member username or login.
- Returns:
API response payload, if any.
- OrgsResource.list_followers(*, owner: str, page: int | None = None, per_page: int | None = None) List[User]
List followers of an organization.
- Parameters:
owner – Organization path.
page – Page number.
per_page – Page size.
- Returns:
Followers of the organization.
- OrgsResource.get_issue_extend_settings(*, org: str) List[APIObject]
Get extended issue type and status settings for an organization.
- Parameters:
org – Organization path or login.
- Returns:
Extended issue configuration entries.
- OrgsResource.invite_member(*, org: str, username: str, permission: str | None = None, role_id: str | None = None) User
Invite a user to an organization.
- Parameters:
org – Organization path or login.
username – Member username or login.
permission – Permission level such as
pull,push, oradmin.role_id – Custom role identifier when using a customized permission.
- Returns:
Invited user information with permissions.
- OrgsResource.update_enterprise_member(*, enterprise: str, username: str, role: str) EnterpriseMember
Update the role of an enterprise member.
- Parameters:
enterprise – Enterprise path or login.
username – Member username or login.
role – Enterprise role such as
viewer,developer, oradmin.
- Returns:
Updated enterprise membership.
- OrgsResource.update(*, org: str, **payload) Organization
Update organization metadata.
- Parameters:
org – Organization path or login.
payload – Updatable fields such as
name,email, ordescription.
- Returns:
Updated organization details.
- OrgsResource.leave(*, org: str) None
Leave an organization as the authenticated user.
- Parameters:
org – Organization path or login.
GitCode.search
- GitCode.search: SearchResource
Search endpoints exposed as
client.search.
- SearchResource.users(*, q: str, page: int | None = None, per_page: int | None = None, sort: str | None = None, order: str | None = None) List[SearchUser]
Search users.
- Parameters:
q – Search keywords.
page – Page number.
per_page – Page size.
sort – Optional sort field such as
joined_at.order – Sort order, usually
ascordesc.
- Returns:
Matching user search results.
- SearchResource.issues(*, q: str, page: int | None = None, per_page: int | None = None, sort: str | None = None, order: str | None = None, repo: str | None = None, state: str | None = None) List[SearchIssue]
Search issues.
- Parameters:
q – Search keywords.
page – Page number.
per_page – Page size.
sort – Optional sort field.
order – Sort order, usually
ascordesc.repo – Optional repository path filter.
state – Optional issue state filter.
- Returns:
Matching issue search results.
- SearchResource.repositories(*, q: str, page: int | None = None, per_page: int | None = None, sort: str | None = None, order: str | None = None, owner: str | None = None, fork: str | None = None, language: str | None = None) List[SearchRepository]
Search repositories.
- Parameters:
q – Search keywords.
page – Page number.
per_page – Page size.
sort – Optional sort field such as
stars_count.order – Sort order, usually
ascordesc.owner – Optional owner path filter.
fork – Optional fork visibility filter.
language – Optional programming language filter.
- Returns:
Matching repository search results.
GitCode.oauth
- GitCode.oauth: OAuthResource
OAuth helper endpoints exposed as
client.oauth.
- OAuthResource.build_authorize_url(*, client_id: str, redirect_uri: str, scope: str | None = None, state: str | None = None, response_type: str = 'code') str
Build the GitCode OAuth authorization URL.
- Parameters:
client_id – OAuth application client ID.
redirect_uri – Registered redirect URI.
scope – Optional OAuth scopes.
state – Optional CSRF protection value.
response_type – OAuth response type, defaults to
"code".
- Returns:
Browser URL for the authorization step.
- OAuthResource.exchange_token(*, code: str, client_id: str, client_secret: str) OAuthToken
Exchange an authorization code for an OAuth token.
- Parameters:
code – Authorization code returned by GitCode.
client_id – OAuth application client ID.
client_secret – OAuth application client secret.
- Returns:
OAuth access token payload.
- OAuthResource.refresh_token(*, refresh_token: str) OAuthToken
Refresh an OAuth token.
- Parameters:
refresh_token – Refresh token previously issued by GitCode.
- Returns:
Refreshed OAuth token payload.
Miscellaneous repository resources
GitCode.releases
- GitCode.releases: ReleasesResource
Release endpoints exposed as
client.releases.
- ReleasesResource.create(*, tag: str, name: str, body: str, owner: str | None = None, repo: str | None = None, target_commitish: str | None = None, release_status: str | None = None) Release
Create a repository release.
- Parameters:
tag – Tag name for the release.
name – Release title.
body – Release description.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
target_commitish – Branch name or commit SHA for creating a missing tag.
release_status – Release status, such as
preorlatest.
- Returns:
Created release payload.
- ReleasesResource.update(*, tag: str, name: str, body: str, owner: str | None = None, repo: str | None = None, release_status: str | None = None) Release
Update a repository release.
- Parameters:
tag – Tag name in the release URL path.
name – Release name.
body – Release description.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
release_status – Release status, such as
preorlatest.
- Returns:
Updated release payload.
- ReleasesResource.get_upload_url(*, tag: str, file_name: str, owner: str | None = None, repo: str | None = None) ReleaseUploadURL
Get a pre-signed URL for uploading a release attachment.
- Parameters:
tag – Tag name in the release URL path.
file_name – Attachment file name to upload.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Upload URL and required headers.
- ReleasesResource.upload(*, tag: str, file_name: str, content: bytes | str, owner: str | None = None, repo: str | None = None, upload_timeout: float | None = 300.0) None
Upload a release attachment through the pre-signed upload URL.
- Parameters:
tag – Tag name in the release URL path.
file_name – Attachment file name to upload.
content – Attachment bytes, or a local file path to read as bytes.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
upload_timeout – Timeout for upload operation. Default to 300 (5 minutes).
- ReleasesResource.get_by_tag(*, tag: str, owner: str | None = None, repo: str | None = None) Release
Get a repository release by tag name.
- Parameters:
tag – Git tag the release is attached to.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Release metadata for that tag.
- ReleasesResource.list(*, owner: str | None = None, repo: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Release]
List releases for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
direction – Sort direction, for example
ascordesc.page – Page number.
per_page – Page size, up to 100.
- Returns:
Releases ordered as returned by the API.
- ReleasesResource.get_latest(*, owner: str | None = None, repo: str | None = None, type: str | None = None) Release
Get the latest repository release.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
type – Selection type, either
updatedorlatest.
- Returns:
Latest release metadata.
- ReleasesResource.get(*, tag: str, owner: str | None = None, repo: str | None = None, temp_download_url: bool | str | None = None) Release
Get a repository release by tag path.
- Parameters:
tag – Tag name in the release URL path.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
temp_download_url – Whether to return temporary source package and attachment URLs.
- Returns:
Release metadata.
- ReleasesResource.download_attachment(*, tag: str, file_name: str, owner: str | None = None, repo: str | None = None) bytes
Download a release attachment as bytes.
- Parameters:
tag – Tag name in the release URL path.
file_name – Attachment file name.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Attachment bytes.
GitCode.webhooks
- GitCode.webhooks: WebhooksResource
Webhook endpoints exposed as
client.webhooks.
- WebhooksResource.list(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[Webhook]
List webhooks for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
page – Page number.
per_page – Page size.
- Returns:
Hook configurations.
- WebhooksResource.create(*, url: str, owner: str | None = None, repo: str | None = None, **payload) Webhook
Create a repository webhook.
- Parameters:
url – Payload URL GitCode should POST events to.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
payload – Additional fields from the Webhooks API (events list, secret, content type, etc.).
- Returns:
Created webhook.
- WebhooksResource.get(*, hook_id: int | str, owner: str | None = None, repo: str | None = None) Webhook
Get a repository webhook by identifier.
- Parameters:
hook_id – Webhook id from the API.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Webhook configuration.
- WebhooksResource.update(*, hook_id: int | str, url: str, owner: str | None = None, repo: str | None = None, **payload) Webhook
Update a repository webhook.
- Parameters:
hook_id – Webhook id.
url – New payload URL (merged into the JSON body).
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
payload – Other mutable webhook fields accepted by the API.
- Returns:
Updated webhook.
- WebhooksResource.delete(*, hook_id: int | str, owner: str | None = None, repo: str | None = None) None
Delete a repository webhook.
- Parameters:
hook_id – Webhook id.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- WebhooksResource.test(*, hook_id: int | str, owner: str | None = None, repo: str | None = None) None
Send a test delivery for a repository webhook.
- Parameters:
hook_id – Webhook id.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
Asynchronous client
- class AsyncGitCode(*, api_key: str | None = None, owner: str | None = None, repo: str | None = None, base_url: str = 'https://api.gitcode.com/api/v5', timeout: float | None = None, http_client: AsyncClient | None = None, decrypt: Callable | None = None)
Bases:
AsyncAPIClientAsynchronous GitCode API client.
- Parameters:
api_key – Personal access token used for GitCode API requests.
owner – Default repository owner used by repository-scoped helpers.
repo – Default repository name used by repository-scoped helpers.
base_url – Base URL for the GitCode REST API.
timeout – Request timeout in seconds.
http_client – Optional pre-configured
httpx.AsyncClientinstance.decrypt – Optional decryption function for encrypted access token.
Create an asynchronous client and attach resource groups.
- async close() None
Close the underlying async HTTP client and clear cache for garbage collection.
- async request(method: str, path: str, *, params: Dict[str, Any] | None = None, json: Any = None, data: Dict[str, Any] | None = None, headers: Dict[str, str] | None = None, raw: bool = False) Any
Send an asynchronous HTTP request to the GitCode API.
- Parameters:
method – HTTP method such as
"GET"or"POST".path – Relative API path or absolute URL.
params – Optional query parameters.
json – Optional JSON request body.
data – Optional form payload.
headers – Optional extra HTTP headers.
raw – When
True, return response bytes instead of parsed JSON.
- Returns:
Parsed JSON payload, raw bytes, text, or
None.
- repos: AsyncReposResource
Repository endpoints exposed as
client.repos.
- contents: AsyncRepoContentsResource
Repository content endpoints exposed as
client.contents.
- branches: AsyncBranchesResource
Repository branch endpoints exposed as
client.branches.
- commits: AsyncCommitsResource
Repository commit endpoints exposed as
client.commits.
- issues: AsyncIssuesResource
Issue endpoints exposed as
client.issues.
- pulls: AsyncPullsResource
Pull request endpoints exposed as
client.pulls.
- labels: AsyncLabelsResource
Label endpoints exposed as
client.labels.
- milestones: AsyncMilestonesResource
Milestone endpoints exposed as
client.milestones.
- members: AsyncMembersResource
Repository member endpoints exposed as
client.members.
- releases: AsyncReleasesResource
Release endpoints exposed as
client.releases.
- tags: AsyncTagsResource
Tag endpoints exposed as
client.tags.
- webhooks: AsyncWebhooksResource
Webhook endpoints exposed as
client.webhooks.
- users: AsyncUsersResource
User endpoints exposed as
client.users.
- orgs: AsyncOrgsResource
Organization endpoints exposed as
client.orgs.
- search: AsyncSearchResource
Search endpoints exposed as
client.search.
- oauth: AsyncOAuthResource
OAuth helper endpoints exposed as
client.oauth.
Repository resources
AsyncGitCode.repos
- AsyncGitCode.repos: AsyncReposResource
Repository endpoints exposed as
client.repos.
- async AsyncReposResource.get(*, owner: str | None = None, repo: str | None = None) Repository
Get a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Repository metadata.
- async AsyncReposResource.list_user(**params) List[Repository]
List repositories visible to the authenticated user.
Pass query parameters as keyword arguments (same names as
ReposResource.list_user(), for examplevisibility,affiliation,type,sort,direction,q,page,per_page).- Parameters:
params – Query parameters for
GET /user/repos.- Returns:
Matching repositories.
- async AsyncReposResource.list_for_owner(*, owner: str, **params) List[Repository]
List public repositories for a user or owner path.
- Parameters:
owner – Repository owner path or username.
params – Query parameters such as
type,sort,direction,page,per_page.
- Returns:
Matching repositories.
- async AsyncReposResource.create_personal(*, name: str, **payload) Repository
Create a repository for the authenticated user.
- Parameters:
name – Repository name (also written into
payload).payload – Additional JSON fields; see
ReposResource.create_personal()for supported keys.
- Returns:
Created repository metadata.
- async AsyncReposResource.create_for_org(*, org: str, name: str, **payload) Repository
Create a repository under an organization.
- Parameters:
org – Organization path or login.
name – Repository name (also written into
payload).payload – Additional JSON fields; see
ReposResource.create_for_org().
- Returns:
Created repository metadata.
- async AsyncReposResource.update(*, owner: str | None = None, repo: str | None = None, **changes) Repository
Update repository metadata.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
changes – Repository fields accepted by the update endpoint.
- Returns:
Updated repository metadata.
- async AsyncReposResource.delete(*, owner: str | None = None, repo: str | None = None) None
Delete a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- async AsyncReposResource.fork(*, owner: str | None = None, repo: str | None = None, **payload) Repository
Fork a repository.
- Parameters:
owner – Source repository owner path. Uses the client default when omitted.
repo – Source repository name. Uses the client default when omitted.
payload – JSON body fields such as
namespace,path, andname(seeReposResource.fork()).
- Returns:
Forked repository metadata.
- async AsyncReposResource.list_forks(*, owner: str | None = None, repo: str | None = None, **params) List[Repository]
List forks of a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
params – Query parameters such as
sort,page,per_page.
- Returns:
Fork repositories.
- async AsyncReposResource.list_contributors(*, owner: str | None = None, repo: str | None = None, **params) List[Contributor]
List repository contributors.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
params – Query parameters such as
pageandper_page.
- Returns:
Contributors for the repository.
- async AsyncReposResource.list_languages(*, owner: str | None = None, repo: str | None = None) Dict[str, int]
List language statistics for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Mapping of language names to byte counts.
- async AsyncReposResource.list_stargazers(*, owner: str | None = None, repo: str | None = None, **params) List[UserSummary]
List users who starred a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
params – Query parameters such as
pageandper_page.
- Returns:
Users who starred the repository.
- async AsyncReposResource.list_subscribers(*, owner: str | None = None, repo: str | None = None, **params) List[UserSummary]
List users watching a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
params – Query parameters such as
pageandper_page.
- Returns:
Subscribers for the repository.
- async AsyncReposResource.update_module_settings(*, owner: str | None = None, repo: str | None = None, **settings) ApiStatusResponse
Update repository module settings.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
settings – Module settings accepted by the GitCode API.
- Returns:
API response payload.
- async AsyncReposResource.update_reviewer_settings(*, owner: str | None = None, repo: str | None = None, **settings) RepositoryReviewerSettingsUpdate
Update repository reviewer settings.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
settings – Reviewer settings accepted by the GitCode API.
- Returns:
API response payload.
- async AsyncReposResource.set_org_repo_status(*, org: str, repo: str, **payload) ApiStatusResponse
Update organization repository status metadata.
- Parameters:
org – Organization path.
repo – Repository path.
payload – Status fields accepted by the API.
- Returns:
API response payload.
- async AsyncReposResource.transfer_to_org(*, org: str, repo: str, **payload) ApiStatusResponse
Transfer a repository to an organization.
- Parameters:
org – Destination organization path.
repo – Repository path.
payload – Transfer options accepted by the API.
- Returns:
API response payload.
- async AsyncReposResource.get_transition(*, owner: str | None = None, repo: str | None = None) RepositoryPermissionMode
Get repository transition settings.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Transition configuration.
- async AsyncReposResource.update_transition(*, owner: str | None = None, repo: str | None = None, **payload) ApiStatusResponse
Update repository transition settings.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
payload – Transition settings accepted by the API.
- Returns:
API response payload.
- async AsyncReposResource.update_push_config(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryPushConfig
Update repository push configuration.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
payload – Push configuration values accepted by the API.
- Returns:
API response payload.
- async AsyncReposResource.get_push_config(*, owner: str | None = None, repo: str | None = None) RepositoryPushConfig
Get repository push configuration.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Push configuration payload.
- async AsyncReposResource.upload_image(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryUploadResult
Upload an image asset for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
payload – Upload fields accepted by the API.
- Returns:
Uploaded image metadata.
- async AsyncReposResource.upload_file(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryUploadResult
Upload a file asset for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
payload – Upload fields accepted by the API.
- Returns:
Uploaded file metadata.
- async AsyncReposResource.update_repo_settings(*, owner: str | None = None, repo: str | None = None, **payload) RepositorySettings
Update repository settings.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
payload – Settings fields accepted by the API.
- Returns:
API response payload.
- async AsyncReposResource.get_repo_settings(*, owner: str | None = None, repo: str | None = None) RepositorySettings
Get repository settings.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Repository settings payload.
- async AsyncReposResource.get_pull_request_settings(*, owner: str | None = None, repo: str | None = None) PullRequestSettings
Get pull request settings for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Pull request settings payload.
- async AsyncReposResource.update_pull_request_settings(*, owner: str | None = None, repo: str | None = None, **payload) PullRequestSettings
Update pull request settings for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
payload – Pull request settings accepted by the API.
- Returns:
API response payload.
- async AsyncReposResource.set_member_role(*, username: str, owner: str | None = None, repo: str | None = None, permission: str | None = None) RepoMember
Set a repository member role.
- Parameters:
username – Member username or login.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
permission – Permission or role name accepted by the API.
- Returns:
API response payload.
- async AsyncReposResource.transfer(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryTransferResult
Transfer a repository to another owner or namespace.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
payload – Transfer options accepted by the API.
- Returns:
API response payload.
- async AsyncReposResource.list_customized_roles(*, owner: str | None = None, repo: str | None = None) List[RepositoryCustomizedRole]
List customized roles for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Customized role definitions.
- async AsyncReposResource.get_download_statistics(*, owner: str | None = None, repo: str | None = None, **params) RepositoryDownloadStatistics
Get download statistics for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
params – Query parameters accepted by the statistics endpoint.
- Returns:
Download statistics payload.
- async AsyncReposResource.get_contributor_statistics(*, owner: str | None = None, repo: str | None = None) List[ContributorStatistics]
Get code contribution statistics for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Contributor statistics payload.
- async AsyncReposResource.list_events(*, owner: str | None = None, repo: str | None = None, **params) List[APIObject]
List repository events.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
params – Query parameters such as
pageandper_page.
- Returns:
Repository event payloads.
AsyncGitCode.contents
- AsyncGitCode.contents: AsyncRepoContentsResource
Repository content endpoints exposed as
client.contents.
- async AsyncRepoContentsResource.get(*, path: str, owner: str | None = None, repo: str | None = None, ref: str | None = None) ContentObject
Get a file or directory entry from a repository.
- Parameters:
path – Repository-relative file path.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
ref – Optional branch, tag, or commit SHA.
- Returns:
Content metadata and payload details.
- async AsyncRepoContentsResource.create(*, path: str, content: str, message: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult
Create a file in a repository.
- Parameters:
path – Repository-relative file path.
content – File content, typically base64-encoded for this API.
message – Commit message.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
branch – Optional target branch.
author_name – Optional commit author name.
author_email – Optional commit author email.
- Returns:
Commit result payload.
- async AsyncRepoContentsResource.update(*, path: str, content: str, message: str, sha: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult
Update a file in a repository.
- Parameters:
path – Repository-relative file path.
content – Updated file content, typically base64-encoded.
message – Commit message.
sha – Current blob SHA required by the API.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
branch – Optional target branch.
author_name – Optional commit author name.
author_email – Optional commit author email.
- Returns:
Commit result payload.
- async AsyncRepoContentsResource.delete(*, path: str, message: str, sha: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult
Delete a file from a repository.
- Parameters:
path – Repository-relative file path.
message – Commit message.
sha – Current blob SHA required by the API.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
branch – Optional target branch.
author_name – Optional commit author name.
author_email – Optional commit author email.
- Returns:
Commit result payload.
- async AsyncRepoContentsResource.list_paths(*, owner: str | None = None, repo: str | None = None, ref_name: str | None = None, file_name: str | None = None) List[str]
List repository paths known to GitCode.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
ref_name – Optional ref name to inspect.
file_name – Optional filename filter.
- Returns:
Matching repository paths.
- async AsyncRepoContentsResource.get_tree(*, sha: str, owner: str | None = None, repo: str | None = None, recursive: int | None = None, page: int | None = None, per_page: int | None = None) Tree
Get a Git tree object.
- Parameters:
sha – Tree SHA.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
recursive – Pass
1to fetch the tree recursively (query parameter per Repository API).page – Page number for large trees.
per_page – Page size for large trees.
- Returns:
Tree metadata and entries.
- async AsyncRepoContentsResource.get_blob(*, sha: str, owner: str | None = None, repo: str | None = None) Blob
Get a Git blob object by SHA.
- Parameters:
sha – Blob SHA.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Blob metadata and content.
- async AsyncRepoContentsResource.get_raw(*, path: str, owner: str | None = None, repo: str | None = None, ref: str | None = None) bytes
Download raw file bytes from a repository.
- Parameters:
path – Repository-relative file path.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
ref – Optional branch, tag, or commit SHA.
- Returns:
Raw file bytes.
AsyncGitCode.branches
- AsyncGitCode.branches: AsyncBranchesResource
Repository branch endpoints exposed as
client.branches.
- async AsyncBranchesResource.list(*, owner: str | None = None, repo: str | None = None, **params) List[Branch]
List branches in a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
params – Query parameters such as
sort,direction,page,per_page.
- Returns:
Repository branches.
- async AsyncBranchesResource.get(*, branch: str, owner: str | None = None, repo: str | None = None) BranchDetail
Get a single branch.
- Parameters:
branch – Branch name.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Branch details.
- async AsyncBranchesResource.create(*, branch: str, ref: str, owner: str | None = None, repo: str | None = None) Branch
Create a branch from an existing ref.
- Parameters:
branch – New branch name.
ref – Starting ref such as a branch, tag, or commit SHA.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Created branch details.
- async AsyncBranchesResource.list_protected(*, owner: str | None = None, repo: str | None = None) List[ProtectedBranch]
List protected branch rules for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Protected branch rules.
AsyncGitCode.commits
- AsyncGitCode.commits: AsyncCommitsResource
Repository commit endpoints exposed as
client.commits.
- async AsyncCommitsResource.list(*, owner: str | None = None, repo: str | None = None, **params) List[CommitSummary]
List commits in a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
params – Query parameters such as
sha,path,page,per_page.
- Returns:
Matching commits.
- async AsyncCommitsResource.get(*, sha: str, owner: str | None = None, repo: str | None = None) Commit
Get a single commit.
- Parameters:
sha – Commit SHA or branch name accepted by the API.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Commit details.
- async AsyncCommitsResource.compare(*, base: str, head: str, owner: str | None = None, repo: str | None = None) CommitComparison
Compare two refs in a repository.
- Parameters:
base – Base commit SHA, branch, or tag.
head – Head commit SHA, branch, or tag.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Commit comparison payload.
- async AsyncCommitsResource.list_comments(*, owner: str | None = None, repo: str | None = None, **params) List[CommitComment]
List commit comments for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
params – Query parameters such as
pageandper_page.
- Returns:
Commit comments.
- async AsyncCommitsResource.get_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) CommitComment
Get a single commit comment.
- Parameters:
comment_id – Commit comment identifier.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Commit comment details.
- async AsyncCommitsResource.create_comment(*, sha: str, body: str, owner: str | None = None, repo: str | None = None, path: str | None = None, position: int | None = None) CommitComment
Create a comment on a commit.
- Parameters:
sha – Commit SHA.
body – Comment body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
path – Optional file path associated with the comment.
position – Optional diff position.
- Returns:
Created commit comment.
- async AsyncCommitsResource.update_comment(*, comment_id: int | str, body: str, owner: str | None = None, repo: str | None = None) CommitComment
Update a commit comment.
- Parameters:
comment_id – Commit comment identifier.
body – Updated comment body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Updated commit comment.
- async AsyncCommitsResource.delete_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) None
Delete a commit comment.
- Parameters:
comment_id – Commit comment identifier.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
Collaboration resources
Issue and pull request templates
IssuesResource.list_templates, IssuesResource.get_template,
PullsResource.list_templates, and PullsResource.get_template (and the
Async* equivalents) help you read GitCode active templates from the
repository default branch via the Contents and Raw APIs.
list_templates returns RepositoryGitCodeTemplate
rows: each row includes path, sha, and the template_owner /
template_repo of the repository where that file was found. get_template
returns the decoded file body as str; pass owner= and repo= from
the row when they differ from the client’s default context (for example when
the template was resolved from another repository).
Resolution (first source with any matching template wins). The SDK builds
an ordered list of (owner, repo) pairs, then walks GET .../contents/.gitcode
for each until it finds paths that match the template naming rules:
The client’s default repository (
owner/repofrom the call or client).The owner’s dedicated template repository:
(owner, ".gitcode").For every candidate in that list,
GET /repos/{owner}/{repo}is used; whenforkis true, the parent’sfull_nameis split into(parent_owner, parent_repo)and both(parent_owner, parent_repo)and(parent_owner, ".gitcode")are appended if not already present. New pairs are processed the same way (so a forkedowner/.gitcoderepo can still pull in its upstream). The walk stops at a bounded number of candidates.
Path filters. Issue templates match repository-relative paths under
.gitcode/ whose names start with ISSUE_TEMPLATE (case-insensitive) and
end with .md, .markdown, .yml, or .yaml. Pull request templates
use the PULL_REQUEST_TEMPLATE prefix with the same extension set.
Runnable examples: examples/get_issue_templates.py and
examples/get_pull_request_templates.py.
AsyncGitCode.issues
- AsyncGitCode.issues: AsyncIssuesResource
Issue endpoints exposed as
client.issues.
- async AsyncIssuesResource.list(*, owner: str | None = None, repo: str | None = None, **params) List[Issue]
List issues for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
params – Query parameters such as
state,sort,direction,page,per_page.
- Returns:
Matching issues.
- async AsyncIssuesResource.get(*, number: int | str, owner: str | None = None, repo: str | None = None) Issue
Get a single issue by number.
- Parameters:
number – Repository-local issue number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Issue details.
- async AsyncIssuesResource.create(*, owner: str, repo: str | None = None, title: str, body: str | None = None, assignee: str | None = None, labels: List[str] | None = None, milestone: int | str | None = None, security_hole: str | None = None) Issue
Create an issue for a repository.
- Parameters:
owner – Repository owner path.
repo – Repository name. Uses the client default when omitted.
title – Issue title.
body – Optional issue description.
assignee – Optional assignee username.
labels – Optional label names (comma-separated in the JSON body).
milestone – Optional milestone identifier.
security_hole – Whether the issue is private; form field described in the Issues API.
- Returns:
Created issue details.
- async AsyncIssuesResource.update(*, number: int | str, owner: str, repo: str | None = None, title: str | None = None, body: str | None = None, state: str | None = None, assignee: str | None = None, labels: List[str] | None = None, milestone: int | str | None = None, security_hole: str | None = None) Issue
Update an existing issue.
- Parameters:
number – Repository-local issue number.
owner – Repository owner path.
repo – Repository name. Uses the client default when omitted.
title – Updated issue title.
body – Updated issue description.
state – Updated state such as
reopenorclose.assignee – Updated assignee username.
labels – Replacement label names (comma-separated in the JSON body).
milestone – Updated milestone identifier.
security_hole – Whether the issue is private; form field described in the Issues API.
- Returns:
Updated issue details.
- async AsyncIssuesResource.list_comments(*, number: int | str, owner: str | None = None, repo: str | None = None, **params) List[IssueComment]
List comments for an issue.
- Parameters:
number – Repository-local issue number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path (name). Uses the client default when omitted.
params – Optional query parameters (for example
page,per_page).
- Returns:
Issue comments.
- async AsyncIssuesResource.create_comment(*, number: int | str, body: str, owner: str | None = None, repo: str | None = None) IssueComment
Create a comment on an issue.
- Parameters:
number – Repository-local issue number.
body – Comment body text.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Created comment.
- async AsyncIssuesResource.get_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) IssueComment
Get a single issue comment by identifier.
- Parameters:
comment_id – Comment id from the API.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Issue comment.
- async AsyncIssuesResource.update_comment(*, comment_id: int | str, body: str, owner: str | None = None, repo: str | None = None) IssueComment
Update an issue comment.
- Parameters:
comment_id – Comment id from the API.
body – Updated comment body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Updated comment.
- async AsyncIssuesResource.delete_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) None
Delete an issue comment.
- Parameters:
comment_id – Comment id from the API.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- async AsyncIssuesResource.list_pull_requests(*, number: int | str, owner: str | None = None, repo: str | None = None) List[PullRequest]
List pull requests associated with an issue.
- Parameters:
number – Repository-local issue number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Pull requests linked to the issue.
- async AsyncIssuesResource.add_labels(*, number: int | str, labels: List[str], owner: str | None = None, repo: str | None = None) List[Label]
Add labels to an issue.
- Parameters:
number – Repository-local issue number.
labels – Label names to add (request body is a JSON array per REST API).
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Labels on the issue after the operation.
- async AsyncIssuesResource.remove_label(*, number: int | str, name: str, owner: str | None = None, repo: str | None = None) None
Remove one label from an issue (REST path includes the label name).
- Parameters:
number – Repository-local issue number.
name – Label name to remove.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- async AsyncIssuesResource.list_enterprise(*, enterprise: str, **params) List[Issue]
List enterprise issues visible to the caller.
- Parameters:
enterprise – Enterprise path or login.
params – Additional query parameters accepted by
GET .../enterprises/{enterprise}/issues.
- Returns:
Enterprise-scoped issues.
- async AsyncIssuesResource.list_user(**params) List[Issue]
List issues for the authenticated user.
- Parameters:
params – Query parameters for
GET /user/issues(filters, pagination, etc.).- Returns:
Issues assigned to or authored by the user, per API rules.
- async AsyncIssuesResource.list_org(*, org: str, **params) List[Issue]
List organization issues visible to the current user.
- Parameters:
org – Organization path or login.
params – Query parameters for
GET .../orgs/{org}/issues.
- Returns:
Organization-scoped issues.
- async AsyncIssuesResource.get_enterprise_issue(*, enterprise: str, number: int | str) Issue
Get a specific enterprise issue.
- Parameters:
enterprise – Enterprise path or login.
number – Enterprise issue id or number as accepted by the API path.
- Returns:
Issue payload.
- async AsyncIssuesResource.list_enterprise_comments(*, enterprise: str, number: int | str, **params) List[IssueComment]
List comments for an enterprise issue.
- Parameters:
enterprise – Enterprise path or login.
number – Enterprise issue identifier in the path.
params – Optional pagination or filter query parameters.
- Returns:
Comments on the enterprise issue.
- async AsyncIssuesResource.list_enterprise_labels(*, enterprise: str, issue_id: int | str) List[Label]
List labels attached to an enterprise issue.
- Parameters:
enterprise – Enterprise path or login.
issue_id – Enterprise issue id in the path segment
.../issues/{issue_id}/labels.
- Returns:
Labels on the issue.
- async AsyncIssuesResource.list_operation_logs(*, owner: str, number: int | str, **params) List[IssueOperationLog]
List operation (audit) logs for an issue.
- Parameters:
owner – Repository owner path (path segment
repos/{owner}/...for this endpoint).number – Repository-local issue number.
params – Optional query parameters (for example
page,per_page).
- Returns:
Operation log entries.
- async AsyncIssuesResource.list_templates(*, owner: str | None = None, repo: str | None = None) List[RepositoryGitCodeTemplate]
List active issue templates under
.gitcode/for this repository.Matches Markdown (
.md,.markdown) and YAML (.yml/.yaml) paths whose names start withISSUE_TEMPLATEunder.gitcode/(case-insensitive), including files inside localized directories such as.gitcode/ISSUE_TEMPLATE.en/.Resolution tries the repository, then the owner’s
.gitcoderepository, then any parent main andparent/.gitcodepairs discovered from forks (each candidate is inspected withGET /repos/{owner}/{repo}; whenforkis true, its parent’s repos are appended, deduplicated, and visited in order). The first source with matching templates wins.- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Template metadata entries (paths and SHAs); empty when none match.
- async AsyncIssuesResource.get_template(*, path: str, owner: str | None = None, repo: str | None = None) str
Load a single issue template file body from the default branch.
Uses the same resolution order as
list_templates(). The path must match the active issue template naming convention (see GitCode.gitcodedocumentation).- Parameters:
path – Repository-relative path such as
.gitcode/ISSUE_TEMPLATE_bug.mdor.gitcode/ISSUE_TEMPLATE/config.yml.owner – Repository owner path. Uses the client default when omitted.
repo – Repository name. Uses the client default when omitted.
- Returns:
Decoded template file contents (UTF-8).
AsyncGitCode.pulls
- AsyncGitCode.pulls: AsyncPullsResource
Pull request endpoints exposed as
client.pulls.
- async AsyncPullsResource.list(*, owner: str | None = None, repo: str | None = None, **params) List[PullRequest] | PullRequestCount
List pull requests for a repository.
When
only_countis true inparams, the API returns a JSON object with counts per state instead of an array (see Pull Request API).- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path (name). Uses the client default when omitted.
params – Query parameters:
state,sort,direction,page,per_page,base,since,author,assignee,reviewer,milestone_number,labels, time filters,only_count, and other fields documented underdocs/rest_api.
- Returns:
A list of pull requests, or an
APIObjectfor count-only responses.
- async AsyncPullsResource.get(*, number: int | str, owner: str | None = None, repo: str | None = None) PullRequest
Get a single pull request.
- Parameters:
number – Pull request number in the repository.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Pull request details.
- async AsyncPullsResource.create(*, title: str, head: str, base: str, owner: str | None = None, repo: str | None = None, body: str | None = None, draft: bool | None = None, assignees: List[str] | None = None, testers: List[str] | None = None, labels: List[str] | None = None, milestone_number: int | None = None, issue: str | None = None, prune_source_branch: bool | None = None, squash: bool | None = None, squash_commit_message: str | None = None, fork_path: str | None = None) PullRequest
Create a pull request.
- Parameters:
title – Pull request title.
head – Source branch ref (head branch, in forks use
owner:branchlike “SushiNinja:develop”).base – Target branch ref (base branch).
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
body – Description body.
draft – Whether to create as draft.
assignees – Assignee logins; sent as a comma-separated string per API.
testers – Tester logins; comma-separated in the JSON body.
labels – Label names; comma-separated in the JSON body.
milestone_number – Target milestone number.
issue – Related issue reference when supported by the API.
prune_source_branch – Whether to delete the source branch after merge when applicable.
squash – Squash-merge preference where supported.
squash_commit_message – Custom squash commit message.
fork_path – Fork
owner/repowhen opening a PR from a fork, like “SushiNinja/agent-core-contrib”.
- Returns:
Created pull request.
- async AsyncPullsResource.update(*, number: int | str, owner: str | None = None, repo: str | None = None, title: str | None = None, body: str | None = None, state: str | None = None, base: str | None = None, labels: List[str] | None = None, draft: bool | None = None) PullRequest
Update a pull request.
- Parameters:
number – Pull request number in the repository.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
title – New title.
body – New description.
state – New state as accepted by the API.
base – New base branch name.
labels – Replacement labels; comma-separated in the JSON body.
draft – Draft flag.
- Returns:
Updated pull request.
- async AsyncPullsResource.merge(*, number: int | str, owner: str | None = None, repo: str | None = None, merge_commit_message: str | None = None, squash: bool | None = None) MergeResult
Merge a pull request.
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
merge_commit_message – Optional merge commit message.
squash – Whether to squash merge when supported.
- Returns:
Merge result payload.
- async AsyncPullsResource.get_merge_status(*, number: int | str, owner: str | None = None, repo: str | None = None) MergeStatus
Get mergeability status for a pull request (GET on the merge resource).
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Merge status / mergeability information.
- async AsyncPullsResource.list_commits(*, number: int | str, owner: str | None = None, repo: str | None = None) List[APIObject]
List commits included in a pull request.
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Commit objects (wrapped as
APIObject).
- async AsyncPullsResource.list_files(*, number: int | str, owner: str | None = None, repo: str | None = None) List[PullRequestFile]
List files changed by a pull request.
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
File change entries.
- async AsyncPullsResource.list_comments(*, number: int | str, owner: str | None = None, repo: str | None = None, **params) List[PullRequestComment]
List comments on a pull request.
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
params – Optional query parameters (for example
page,per_page).
- Returns:
Pull request review comments.
- async AsyncPullsResource.create_comment(*, number: int | str, body: str, owner: str | None = None, repo: str | None = None, commit_id: str | None = None, path: str | None = None, position: int | None = None) PullRequestComment
Create a pull request (review) comment.
- Parameters:
number – Pull request number.
body – Comment body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
commit_id – Commit SHA the comment applies to.
path – File path in the diff.
position – Line or diff position as defined by the API.
- Returns:
Created comment.
- async AsyncPullsResource.get_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) PullRequestComment
Get a single pull request comment by id (global comment endpoint).
- Parameters:
comment_id – Comment id.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Pull request comment.
- async AsyncPullsResource.update_comment(*, comment_id: int | str, body: str, owner: str | None = None, repo: str | None = None) PullRequestComment
Update a pull request comment.
- Parameters:
comment_id – Comment id.
body – Updated body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Updated comment.
- async AsyncPullsResource.delete_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) None
Delete a pull request comment.
- Parameters:
comment_id – Comment id.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- async AsyncPullsResource.list_labels(*, number: int | str, owner: str | None = None, repo: str | None = None) List[Label]
List labels attached to a pull request.
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Labels on the pull request.
- async AsyncPullsResource.add_labels(*, number: int | str, labels: List[str], owner: str | None = None, repo: str | None = None) List[Label]
Add labels to a pull request.
- Parameters:
number – Pull request number.
labels – Label names (JSON array body per API).
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Labels after the operation.
- async AsyncPullsResource.replace_labels(*, number: int | str, labels: List[str], owner: str | None = None, repo: str | None = None) List[Label]
Replace all labels on a pull request.
- Parameters:
number – Pull request number.
labels – Complete new label set (JSON array body).
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Labels after replacement.
- async AsyncPullsResource.remove_label(*, number: int | str, label: str, owner: str | None = None, repo: str | None = None) None
Remove a label from a pull request.
- Parameters:
number – Pull request number.
label – Label name to remove.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- async AsyncPullsResource.request_review(*, number: int | str, owner: str | None = None, repo: str | None = None, event: str, body: str | None = None) None
Submit a pull request review event (approve, request changes, etc., per API).
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
event – Review event name as required by GitCode (see API docs).
body – Optional comment body accompanying the event.
- Returns:
Review result object.
- async AsyncPullsResource.list_operation_logs(*, number: int | str, owner: str | None = None, repo: str | None = None, **params) List[PullRequestOperationLog]
List operation logs for a pull request.
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
params – Additional query parameters accepted by the operate_logs endpoint.
- Returns:
Log entries as generic API objects.
- async AsyncPullsResource.request_test(*, number: int | str, owner: str | None = None, repo: str | None = None, **payload) None
Request testing for a pull request.
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
payload – JSON fields required by the test request endpoint.
- Returns:
Test request result.
- async AsyncPullsResource.update_testers(*, number: int | str, testers: List[str], owner: str | None = None, repo: str | None = None) None
Replace pull request testers.
- Parameters:
number – Pull request number.
testers – New tester list; serialized as a comma-separated
testersfield in JSON.owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
API response payload.
- async AsyncPullsResource.add_testers(*, number: int | str, testers: List[str], owner: str | None = None, repo: str | None = None) List[UserSummary]
Add testers to a pull request.
- Parameters:
number – Pull request number.
testers – Usernames to add; comma-separated in the JSON body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
API response payload.
- async AsyncPullsResource.update_assignees(*, number: int | str, assignees: List[str], owner: str | None = None, repo: str | None = None) None
Replace pull request assignees.
- Parameters:
number – Pull request number.
assignees – New assignee list; comma-separated in the JSON body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
API response payload.
- async AsyncPullsResource.add_assignees(*, number: int | str, assignees: List[str], owner: str | None = None, repo: str | None = None) PullRequestAssigneeCount
Add assignees to a pull request.
- Parameters:
number – Pull request number.
assignees – Usernames to add; comma-separated in the JSON body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
API response payload.
- async AsyncPullsResource.remove_assignees(*, number: int | str, assignees: List[str], owner: str | None = None, repo: str | None = None) None
Remove assignees from a pull request.
- Parameters:
number – Pull request number.
assignees – Usernames to remove; comma-separated in the JSON body.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- async AsyncPullsResource.list_issues(*, number: int | str, owner: str | None = None, repo: str | None = None) List[Issue]
List issues linked to a pull request.
- Parameters:
number – Pull request number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Linked issues.
- async AsyncPullsResource.list_enterprise(*, enterprise: str, **params) List[PullRequest]
List enterprise pull requests.
- Parameters:
enterprise – Enterprise path or login.
params – Query parameters for the enterprise pull_requests listing.
- Returns:
Pull requests in the enterprise scope.
- async AsyncPullsResource.list_org(*, org: str, **params) List[PullRequest]
List pull requests for an organization scope.
- Parameters:
org – Organization path (
GET .../org/{org}/pull_requests).params – Query parameters accepted by that listing.
- Returns:
Organization-scoped pull requests.
- async AsyncPullsResource.list_issue_pull_requests(*, enterprise: str, number: int | str) List[PullRequest]
List pull requests associated with an enterprise issue.
- Parameters:
enterprise – Enterprise path or login.
number – Enterprise issue number or id in the path.
- Returns:
Related pull requests.
- async AsyncPullsResource.list_templates(*, owner: str | None = None, repo: str | None = None) List[RepositoryGitCodeTemplate]
List active pull request templates under
.gitcode/for this repository.Resolution tries the repository, then the owner’s
.gitcoderepository, then any parent main andparent/.gitcodepairs discovered from forks (each candidate is inspected withGET /repos/{owner}/{repo}; whenforkis true, its parent’s repos are appended, deduplicated, and visited in order). The first source with matching templates wins.- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Template metadata entries (paths and SHAs); empty when none match.
- async AsyncPullsResource.get_template(*, path: str, owner: str | None = None, repo: str | None = None) str
Load a single pull request template file body from the default branch.
Uses the same resolution order as
list_templates(). The path must match the active pull request template naming convention (see GitCode.gitcodedocumentation).- Parameters:
path – Repository-relative path such as
.gitcode/PULL_REQUEST_TEMPLATE.md.owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Decoded template file contents (UTF-8).
AsyncGitCode.labels
- AsyncGitCode.labels: AsyncLabelsResource
Label endpoints exposed as
client.labels.
- async AsyncLabelsResource.list(*, owner: str | None = None, repo: str | None = None) List[Label]
List repository labels.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
All labels defined on the repository.
- async AsyncLabelsResource.create(*, name: str, color: str, owner: str | None = None, repo: str | None = None) Label
Create a repository label.
- Parameters:
name – Label name.
color – Label color (typically a
#RRGGBBhex string per API examples).owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Created label.
- async AsyncLabelsResource.update(*, original_name: str, owner: str | None = None, repo: str | None = None, name: str | None = None, color: str | None = None) Label
Update a repository label.
- Parameters:
original_name – Current label name in the URL path.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
name – New label name, if renaming.
color – New color value.
- Returns:
Updated label.
- async AsyncLabelsResource.delete(*, name: str, owner: str | None = None, repo: str | None = None) None
Delete a repository label.
- Parameters:
name – Label name in the path.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- async AsyncLabelsResource.clear_issue_labels(*, number: int | str, owner: str | None = None, repo: str | None = None) None
Remove all labels from an issue.
- Parameters:
number – Repository-local issue number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- async AsyncLabelsResource.replace_issue_labels(*, number: int | str, labels: List[str], owner: str | None = None, repo: str | None = None) List[Label]
Replace all labels on an issue.
- Parameters:
number – Repository-local issue number.
labels – Complete new label set (JSON array body).
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Labels after replacement.
- async AsyncLabelsResource.list_enterprise(*, enterprise: str, search: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None, api_version: str = 'v5') List[Label]
List labels for an enterprise, optionally using a different API version.
- Parameters:
enterprise – Enterprise path or login.
search – Optional name search string.
direction – Sort direction for results.
page – Page number.
per_page – Page size.
api_version –
v5uses/api/v5/...; other values build/api/{version}/...on the same host.
- Returns:
Enterprise label definitions.
AsyncGitCode.milestones
- AsyncGitCode.milestones: AsyncMilestonesResource
Milestone endpoints exposed as
client.milestones.
- async AsyncMilestonesResource.list(*, owner: str | None = None, repo: str | None = None, **params) List[Milestone]
List milestones for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
params – Query parameters accepted by the milestones listing (state, sort, pagination, etc.).
- Returns:
Milestones.
- async AsyncMilestonesResource.get(*, number: int | str, owner: str | None = None, repo: str | None = None) Milestone
Get a single milestone.
- Parameters:
number – Milestone number in the repository.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Milestone details.
- async AsyncMilestonesResource.create(*, title: str, due_on: str, owner: str | None = None, repo: str | None = None, description: str | None = None) Milestone
Create a milestone.
- Parameters:
title – Milestone title.
due_on – Due date string in the format expected by the API (often ISO 8601).
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
description – Optional description.
- Returns:
Created milestone.
- async AsyncMilestonesResource.update(*, number: int | str, title: str, due_on: str, owner: str | None = None, repo: str | None = None, description: str | None = None, state: str | None = None) Milestone
Update a milestone.
- Parameters:
number – Milestone number.
title – Updated title.
due_on – Updated due date.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
description – Updated description.
state – Milestone state such as
openorclosedper API.
- Returns:
Updated milestone.
- async AsyncMilestonesResource.delete(*, number: int | str, owner: str | None = None, repo: str | None = None) None
Delete a milestone.
- Parameters:
number – Milestone number.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
AsyncGitCode.members
- AsyncGitCode.members: AsyncMembersResource
Repository member endpoints exposed as
client.members.
- async AsyncMembersResource.add_or_update(*, username: str, owner: str | None = None, repo: str | None = None, permission: str | None = None) RepoMember
Add or update repository member permissions.
- Parameters:
username – Collaborator login.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
permission – Permission string (for example
pull,push,adminper GitCode API).
- Returns:
Collaborator record.
- async AsyncMembersResource.remove(*, username: str, owner: str | None = None, repo: str | None = None) None
Remove a repository member.
- Parameters:
username – Collaborator login to remove.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- async AsyncMembersResource.list(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[RepoCollaborator]
List repository members (collaborators).
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
page – Page number.
per_page – Page size.
- Returns:
Collaborators with permission metadata.
- async AsyncMembersResource.get(*, username: str, owner: str | None = None, repo: str | None = None) RepositoryCollaboratorCheck
Check whether a user is a repository member.
- Parameters:
username – User login to look up.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Membership payload (typically includes whether the user is a collaborator).
- async AsyncMembersResource.get_permission(*, username: str, owner: str | None = None, repo: str | None = None) RepoMemberPermission
Get repository member permissions.
- Parameters:
username – Collaborator login.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Effective permission for the user on the repository.
Account and discovery resources
AsyncGitCode.users
- AsyncGitCode.users: AsyncUsersResource
User endpoints exposed as
client.users.
- async AsyncUsersResource.get(*, username: str) User
Get a user profile.
- Parameters:
username – GitCode username or login.
- Returns:
User profile details.
- async AsyncUsersResource.me() User
Get the profile of the authenticated user.
- Returns:
Authorized user profile.
- async AsyncUsersResource.list_emails() List[Email]
List email addresses for the authenticated user.
- Returns:
Email records associated with the current account.
- async AsyncUsersResource.list_events(*, username: str, year: str | None = None, next: str | None = None) UserEventsResponse
List activity events for a user.
- Parameters:
username – GitCode username or login (path segment, see User API).
year – Optional start year filter (query
year, e.g.2024per documentation).next – Optional end date / pagination cursor (query
next; often an ISO timestamp from a prior page).
- Returns:
Event payload grouped by date.
- async AsyncUsersResource.list_repos(*, username: str, **params) List[Repository]
List public repositories owned by a user.
Supported filters follow the user repository API documentation, such as
type,sort,direction,page, andper_page.- Parameters:
username – GitCode username or login.
params – Query parameters accepted by the REST endpoint.
- Returns:
Matching repositories.
- async AsyncUsersResource.create_key(*, key: str, title: str) PublicKey
Add a public SSH key for the authenticated user.
- Parameters:
key – Public key material.
title – Human-readable key name.
- Returns:
Created key metadata.
- async AsyncUsersResource.list_keys(*, page: int | None = None, per_page: int | None = None) List[APIObject]
List public SSH keys for the authenticated user.
- Parameters:
page – Page number.
per_page – Page size.
- Returns:
Public key records.
- async AsyncUsersResource.delete_key(*, key_id: int | str) None
Delete a public SSH key.
- Parameters:
key_id – Public key identifier.
- async AsyncUsersResource.get_key(*, key_id: int | str) PublicKey
Get a single public SSH key.
- Parameters:
key_id – Public key identifier.
- Returns:
Public key metadata.
- async AsyncUsersResource.get_namespace(*, path: str) Namespace
Resolve namespace information for the authenticated user.
- Parameters:
path – Namespace path to look up.
- Returns:
Namespace details.
- async AsyncUsersResource.list_starred(*, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]
List repositories starred by the authenticated user.
- Parameters:
sort – Sort field such as
createdorupdated.direction – Sort direction, usually
ascordesc.page – Page number.
per_page – Page size.
- Returns:
Starred repositories.
AsyncGitCode.orgs
- AsyncGitCode.orgs: AsyncOrgsResource
Organization endpoints exposed as
client.orgs.
- async AsyncOrgsResource.list_for_user(*, username: str, page: int | None = None, per_page: int | None = None) List[OrganizationSummary]
List organizations for a user.
- Parameters:
username – GitCode username or login.
page – Page number.
per_page – Page size.
- Returns:
Organizations the user belongs to.
- async AsyncOrgsResource.list_authenticated(*, page: int | None = None, per_page: int | None = None, admin: bool | None = None) List[OrganizationSummary]
List organizations for the authenticated user.
- Parameters:
page – Page number.
per_page – Page size.
admin – Optional admin-only filter.
- Returns:
Organizations visible to the authorized user.
- async AsyncOrgsResource.get_member(*, org: str, username: str) OrganizationMembership
Get an organization member profile.
- Parameters:
org – Organization path or login.
username – Member username or login.
- Returns:
Organization membership details.
- async AsyncOrgsResource.get(*, org: str) Organization
Get an organization.
- Parameters:
org – Organization path or login.
- Returns:
Organization details.
- async AsyncOrgsResource.list_repos(*, org: str, type: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]
List repositories for an organization.
- Parameters:
org – Organization path or login.
type – Repository type filter such as
all,public, orprivate.page – Page number.
per_page – Page size.
- Returns:
Matching repositories.
- async AsyncOrgsResource.create_repo(*, org: str, name: str, **payload) Repository
Create an organization repository.
Additional payload fields match the organization repository creation endpoint, such as
description,homepage,private,public,auto_init, anddefault_branch.- Parameters:
org – Organization path or login.
name – Repository name.
payload – Additional repository creation fields.
- Returns:
Created repository metadata.
- async AsyncOrgsResource.get_enterprise_member(*, enterprise: str, username: str) EnterpriseMember
Get a member profile for an enterprise.
- Parameters:
enterprise – Enterprise path or login.
username – Member username or login.
- Returns:
Enterprise membership details.
- async AsyncOrgsResource.get_membership(*, org: str) OrganizationMembership
Get the authenticated user’s membership in an organization.
- Parameters:
org – Organization path or login.
- Returns:
Membership details for the current user.
- async AsyncOrgsResource.list_members(*, org: str, page: int | None = None, per_page: int | None = None, role: str | None = None) List[User]
List members of an organization.
- Parameters:
org – Organization path or login.
page – Page number.
per_page – Page size.
role – Optional role filter such as
all,admin, ormember.
- Returns:
Organization members.
- async AsyncOrgsResource.list_enterprise_members(*, enterprise: str, page: int | None = None, per_page: int | None = None, role: str | None = None) List[EnterpriseMember]
List members of an enterprise.
- Parameters:
enterprise – Enterprise path or login.
page – Page number.
per_page – Page size.
role – Optional role filter.
- Returns:
Enterprise members.
- async AsyncOrgsResource.remove_member(*, org: str, username: str) EmptyResponse
Remove a member from an organization.
- Parameters:
org – Organization path or login.
username – Member username or login.
- Returns:
API response payload, if any.
- async AsyncOrgsResource.list_followers(*, owner: str, page: int | None = None, per_page: int | None = None) List[User]
List followers of an organization.
- Parameters:
owner – Organization path.
page – Page number.
per_page – Page size.
- Returns:
Followers of the organization.
- async AsyncOrgsResource.get_issue_extend_settings(*, org: str) List[APIObject]
Get extended issue type and status settings for an organization.
- Parameters:
org – Organization path or login.
- Returns:
Extended issue configuration entries.
- async AsyncOrgsResource.invite_member(*, org: str, username: str, permission: str | None = None, role_id: str | None = None) User
Invite a user to an organization.
- Parameters:
org – Organization path or login.
username – Member username or login.
permission – Permission level such as
pull,push, oradmin.role_id – Custom role identifier when using a customized permission.
- Returns:
Invited user information with permissions.
- async AsyncOrgsResource.update_enterprise_member(*, enterprise: str, username: str, role: str) EnterpriseMember
Update the role of an enterprise member.
- Parameters:
enterprise – Enterprise path or login.
username – Member username or login.
role – Enterprise role such as
viewer,developer, oradmin.
- Returns:
Updated enterprise membership.
- async AsyncOrgsResource.update(*, org: str, **payload) Organization
Update organization metadata.
- Parameters:
org – Organization path or login.
payload – Updatable fields such as
name,email, ordescription.
- Returns:
Updated organization details.
- async AsyncOrgsResource.leave(*, org: str) None
Leave an organization as the authenticated user.
- Parameters:
org – Organization path or login.
AsyncGitCode.search
- AsyncGitCode.search: AsyncSearchResource
Search endpoints exposed as
client.search.
- async AsyncSearchResource.users(*, q: str, **params) List[SearchUser]
Search users.
- Parameters:
q – Search keywords (required).
params – Optional query parameters merged into the request, such as
page,per_page,sort, andorder(same meanings asSearchResource.users()).
- Returns:
Matching user search results.
- async AsyncSearchResource.issues(*, q: str, **params) List[SearchIssue]
Search issues.
- Parameters:
q – Search keywords (required).
params – Optional query parameters merged into the request, such as
page,per_page,sort,order,repo, andstate(seeSearchResource.issues()).
- Returns:
Matching issue search results.
- async AsyncSearchResource.repositories(*, q: str, **params) List[SearchRepository]
Search repositories.
- Parameters:
q – Search keywords (required).
params – Optional query parameters merged into the request, such as
page,per_page,sort,order,owner,fork, andlanguage(seeSearchResource.repositories()).
- Returns:
Matching repository search results.
AsyncGitCode.oauth
- AsyncGitCode.oauth: AsyncOAuthResource
OAuth helper endpoints exposed as
client.oauth.
- AsyncOAuthResource.build_authorize_url(*, client_id: str, redirect_uri: str, scope: str | None = None, state: str | None = None, response_type: str = 'code') str
Build the GitCode OAuth authorization URL.
- Parameters:
client_id – OAuth application client ID.
redirect_uri – Registered redirect URI.
scope – Optional OAuth scopes.
state – Optional CSRF protection value.
response_type – OAuth response type, defaults to
"code".
- Returns:
Browser URL for the authorization step.
- async AsyncOAuthResource.exchange_token(*, code: str, client_id: str, client_secret: str) OAuthToken
Exchange an authorization code for an OAuth token.
- Parameters:
code – Authorization code returned by GitCode.
client_id – OAuth application client ID.
client_secret – OAuth application client secret.
- Returns:
OAuth access token payload.
- async AsyncOAuthResource.refresh_token(*, refresh_token: str) OAuthToken
Refresh an OAuth token.
- Parameters:
refresh_token – Refresh token previously issued by GitCode.
- Returns:
Refreshed OAuth token payload.
Miscellaneous repository resources
AsyncGitCode.releases
- AsyncGitCode.releases: AsyncReleasesResource
Release endpoints exposed as
client.releases.
- async AsyncReleasesResource.create(*, tag: str, name: str, body: str, owner: str | None = None, repo: str | None = None, target_commitish: str | None = None, release_status: str | None = None) Release
Create a repository release.
- Parameters:
tag – Tag name for the release.
name – Release title.
body – Release description.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
target_commitish – Branch name or commit SHA for creating a missing tag.
release_status – Release status, such as
preorlatest.
- Returns:
Created release payload.
- async AsyncReleasesResource.update(*, tag: str, name: str, body: str, owner: str | None = None, repo: str | None = None, release_status: str | None = None) Release
Update a repository release.
- Parameters:
tag – Tag name in the release URL path.
name – Release name.
body – Release description.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
release_status – Release status, such as
preorlatest.
- Returns:
Updated release payload.
- async AsyncReleasesResource.get_upload_url(*, tag: str, file_name: str, owner: str | None = None, repo: str | None = None) ReleaseUploadURL
Get a pre-signed URL for uploading a release attachment.
- Parameters:
tag – Tag name in the release URL path.
file_name – Attachment file name to upload.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Upload URL and required headers.
- async AsyncReleasesResource.upload(*, tag: str, file_name: str, content: bytes | str, owner: str | None = None, repo: str | None = None, upload_timeout: float | None = 300.0) None
Upload a release attachment through the pre-signed upload URL.
- Parameters:
tag – Tag name in the release URL path.
file_name – Attachment file name to upload.
content – Attachment bytes, or a local file path to read as bytes.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
upload_timeout – Timeout for upload operation. Default to 300 (5 minutes).
- async AsyncReleasesResource.get_by_tag(*, tag: str, owner: str | None = None, repo: str | None = None) Release
Get a repository release by tag name.
- Parameters:
tag – Git tag the release is attached to.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Release metadata for that tag.
- async AsyncReleasesResource.list(*, owner: str | None = None, repo: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Release]
List releases for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
direction – Sort direction, for example
ascordesc.page – Page number.
per_page – Page size, up to 100.
- Returns:
Releases ordered as returned by the API.
- async AsyncReleasesResource.get_latest(*, owner: str | None = None, repo: str | None = None, type: str | None = None) Release
Get the latest repository release.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
type – Selection type, either
updatedorlatest.
- Returns:
Latest release metadata.
- async AsyncReleasesResource.get(*, tag: str, owner: str | None = None, repo: str | None = None, temp_download_url: bool | str | None = None) Release
Get a repository release by tag path.
- Parameters:
tag – Tag name in the release URL path.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
temp_download_url – Whether to return temporary source package and attachment URLs.
- Returns:
Release metadata.
- async AsyncReleasesResource.download_attachment(*, tag: str, file_name: str, owner: str | None = None, repo: str | None = None) bytes
Download a release attachment as bytes.
- Parameters:
tag – Tag name in the release URL path.
file_name – Attachment file name.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Attachment bytes.
AsyncGitCode.webhooks
- AsyncGitCode.webhooks: AsyncWebhooksResource
Webhook endpoints exposed as
client.webhooks.
- async AsyncWebhooksResource.list(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[Webhook]
List webhooks for a repository.
- Parameters:
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
page – Page number.
per_page – Page size.
- Returns:
Hook configurations.
- async AsyncWebhooksResource.create(*, url: str, owner: str | None = None, repo: str | None = None, **payload) Webhook
Create a repository webhook.
- Parameters:
url – Payload URL GitCode should POST events to.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
payload – Additional fields from the Webhooks API (events list, secret, content type, etc.).
- Returns:
Created webhook.
- async AsyncWebhooksResource.get(*, hook_id: int | str, owner: str | None = None, repo: str | None = None) Webhook
Get a repository webhook by identifier.
- Parameters:
hook_id – Webhook id from the API.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- Returns:
Webhook configuration.
- async AsyncWebhooksResource.update(*, hook_id: int | str, url: str, owner: str | None = None, repo: str | None = None, **payload) Webhook
Update a repository webhook.
- Parameters:
hook_id – Webhook id.
url – New payload URL (merged into the JSON body).
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
payload – Other mutable webhook fields accepted by the API.
- Returns:
Updated webhook.
- async AsyncWebhooksResource.delete(*, hook_id: int | str, owner: str | None = None, repo: str | None = None) None
Delete a repository webhook.
- Parameters:
hook_id – Webhook id.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
- async AsyncWebhooksResource.test(*, hook_id: int | str, owner: str | None = None, repo: str | None = None) None
Send a test delivery for a repository webhook.
- Parameters:
hook_id – Webhook id.
owner – Repository owner path. Uses the client default when omitted.
repo – Repository path. Uses the client default when omitted.
Utilities
Helpers re-exported from the top-level gitcode_api package (alongside
GitCode / AsyncGitCode).
as_dict() converts typed response wrappers to plain mappings: one
APIObject becomes a dict, a list of them
becomes list[dict]. It is similar in purpose to dataclasses.asdict()
for turning structured instances into serializable data, using
to_dict() under the hood.
- as_dict(data: APIObject, deep_copy: bool = False) Dict[str, Any]
- as_dict(data: List[APIObject], deep_copy: bool = False) List[Dict[str, Any]]
Convert one
APIObjectto a plaindict, or several to a list of dicts.Similar to
dataclasses.asdict(). Input is converted withto_dict(). Whendeep_copyis true, each mapping is copied withcopy.deepcopy().- Parameters:
data – A single response model or a list of them.
deep_copy – When true, return deep-copied dicts.
- Returns:
A dict for a single input, or a list of dicts for a list input.