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).
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.
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.
Version 1.2.19: Now also supporting GitHub-mirrored repos with a .github/ folder.
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.
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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.repos.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.
- GitCode.contents.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.
- GitCode.contents.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.
- GitCode.contents.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.
- GitCode.contents.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.
- GitCode.contents.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.
- GitCode.contents.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.
- GitCode.contents.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.
- GitCode.contents.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.
- GitCode.branches.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.
- GitCode.branches.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.
- GitCode.branches.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.
- GitCode.branches.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.
- GitCode.commits.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.
- GitCode.commits.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.
- GitCode.commits.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.
- GitCode.commits.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.
- GitCode.commits.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.
- GitCode.commits.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.
- GitCode.commits.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.
- GitCode.commits.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
GitCode.issues
- GitCode.issues: IssuesResource
Issue endpoints exposed as
client.issues.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.
- GitCode.issues.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.Version 1.2.19: Now also supporting GitHub-mirrored repos with a
.github/folder.- 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.
- GitCode.issues.get_template(*, path: str, owner: str | None = None, repo: str | None = None, encoding: str = 'utf-8', **decoding_kwargs) 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.
encoding – Codec to use when decoding raw file bytes. Default
utf-8.decoding_kwargs – Keyword arguments forwarded to
bytes.decode(), such aserrors("strict","ignore", or"replace").
- Returns:
Decoded template file contents.
GitCode.pulls
- GitCode.pulls: PullsResource
Pull request endpoints exposed as
client.pulls.
- GitCode.pulls.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
APIObjectfor count-only responses.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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).
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.
- GitCode.pulls.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.Version 1.2.19: Now also supporting GitHub-mirrored repos with a
.github/folder.- 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.
- GitCode.pulls.get_template(*, path: str, owner: str | None = None, repo: str | None = None, encoding: str = 'utf-8', **decoding_kwargs) 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.
encoding – Codec to use when decoding raw file bytes. Default
utf-8.decoding_kwargs – Keyword arguments forwarded to
bytes.decode(), such aserrors("strict","ignore", or"replace").
- Returns:
Decoded template file contents.
GitCode.labels
- GitCode.labels: LabelsResource
Label endpoints exposed as
client.labels.
- GitCode.labels.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.
- GitCode.labels.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.
- GitCode.labels.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.
- GitCode.labels.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.
- GitCode.labels.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.
- GitCode.labels.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.
- GitCode.labels.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.
- GitCode.milestones.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.
- GitCode.milestones.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.
- GitCode.milestones.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.
- GitCode.milestones.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.
- GitCode.milestones.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.
- GitCode.members.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.
- GitCode.members.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.
- GitCode.members.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.
- GitCode.members.get(*, username: str, owner: str | None = None, repo: str | None = None) RepositoryCollaboratorCheck
Check whether a user is a repository member.
- GitCode.members.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.
- GitCode.users.get(*, username: str) User
Get a user profile.
- Parameters:
username – GitCode username or login.
- Returns:
User profile details.
- GitCode.users.me() User
Get the profile of the authenticated user.
- Returns:
Authorized user profile.
- GitCode.users.list_emails() List[Email]
List email addresses for the authenticated user.
- Returns:
Email records associated with the current account.
- GitCode.users.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.
- GitCode.users.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.
- GitCode.users.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.
- GitCode.users.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.
- GitCode.users.delete_key(*, key_id: int | str) None
Delete a public SSH key.
- Parameters:
key_id – Public key identifier.
- GitCode.users.get_key(*, key_id: int | str) PublicKey
Get a single public SSH key.
- Parameters:
key_id – Public key identifier.
- Returns:
Public key metadata.
- GitCode.users.get_namespace(*, path: str) Namespace
Resolve namespace information for the authenticated user.
- Parameters:
path – Namespace path to look up.
- Returns:
Namespace details.
- GitCode.users.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.
- GitCode.orgs.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.
- GitCode.orgs.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.
- GitCode.orgs.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.
- GitCode.orgs.get(*, org: str) Organization
Get an organization.
- Parameters:
org – Organization path or login.
- Returns:
Organization details.
- GitCode.orgs.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.
- GitCode.orgs.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.
- GitCode.orgs.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.
- GitCode.orgs.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.
- GitCode.orgs.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.
- GitCode.orgs.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.
- GitCode.orgs.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.
- GitCode.orgs.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.
- GitCode.orgs.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.
- GitCode.orgs.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.
- GitCode.orgs.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.
- GitCode.orgs.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.
- GitCode.orgs.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.
- GitCode.search.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.
- GitCode.search.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.
- GitCode.search.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.
- GitCode.oauth.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.
- GitCode.oauth.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.
- GitCode.oauth.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.
- GitCode.releases.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.
- GitCode.releases.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.
- GitCode.releases.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.
- GitCode.releases.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).
- GitCode.releases.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.
- GitCode.releases.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.
- GitCode.releases.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.
- GitCode.releases.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.
- GitCode.releases.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.
- GitCode.webhooks.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.
- GitCode.webhooks.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.
- GitCode.webhooks.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.
- GitCode.webhooks.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.
- GitCode.webhooks.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.
- GitCode.webhooks.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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.
- async AsyncGitCode.repos.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.
- async AsyncGitCode.repos.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.
- async AsyncGitCode.repos.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.
- async AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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.
- async AsyncGitCode.repos.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.
- async AsyncGitCode.repos.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.
- async AsyncGitCode.repos.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 AsyncGitCode.repos.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.
- async AsyncGitCode.repos.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.
- async AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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 AsyncGitCode.repos.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.
AsyncGitCode.contents
- AsyncGitCode.contents: AsyncRepoContentsResource
Repository content endpoints exposed as
client.contents.
- async AsyncGitCode.contents.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 AsyncGitCode.contents.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 AsyncGitCode.contents.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 AsyncGitCode.contents.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 AsyncGitCode.contents.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 AsyncGitCode.contents.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 AsyncGitCode.contents.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 AsyncGitCode.contents.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 AsyncGitCode.branches.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.
- async AsyncGitCode.branches.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 AsyncGitCode.branches.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 AsyncGitCode.branches.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 AsyncGitCode.commits.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.
- async AsyncGitCode.commits.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 AsyncGitCode.commits.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 AsyncGitCode.commits.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.
- async AsyncGitCode.commits.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 AsyncGitCode.commits.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 AsyncGitCode.commits.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 AsyncGitCode.commits.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
AsyncGitCode.issues
- AsyncGitCode.issues: AsyncIssuesResource
Issue endpoints exposed as
client.issues.
- async AsyncGitCode.issues.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.
- async AsyncGitCode.issues.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 AsyncGitCode.issues.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 AsyncGitCode.issues.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 AsyncGitCode.issues.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.
- async AsyncGitCode.issues.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 AsyncGitCode.issues.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 AsyncGitCode.issues.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 AsyncGitCode.issues.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 AsyncGitCode.issues.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 AsyncGitCode.issues.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 AsyncGitCode.issues.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 AsyncGitCode.issues.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 AsyncGitCode.issues.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 AsyncGitCode.issues.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 AsyncGitCode.issues.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 AsyncGitCode.issues.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 AsyncGitCode.issues.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 AsyncGitCode.issues.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.
- async AsyncGitCode.issues.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.Version 1.2.19: Now also supporting GitHub-mirrored repos with a
.github/folder.- 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 AsyncGitCode.issues.get_template(*, path: str, owner: str | None = None, repo: str | None = None, encoding: str = 'utf-8', **decoding_kwargs) 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.
encoding – Codec to use when decoding raw file bytes. Default
utf-8.decoding_kwargs – Keyword arguments forwarded to
bytes.decode(), such aserrors("strict","ignore", or"replace").
- Returns:
Decoded template file contents.
AsyncGitCode.pulls
- AsyncGitCode.pulls: AsyncPullsResource
Pull request endpoints exposed as
client.pulls.
- async AsyncGitCode.pulls.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
APIObjectfor count-only responses.
- async AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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.
- async AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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 AsyncGitCode.pulls.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.Version 1.2.19: Now also supporting GitHub-mirrored repos with a
.github/folder.- 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 AsyncGitCode.pulls.get_template(*, path: str, owner: str | None = None, repo: str | None = None, encoding: str = 'utf-8', **decoding_kwargs) 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.
encoding – Codec to use when decoding raw file bytes. Default
utf-8.decoding_kwargs – Keyword arguments forwarded to
bytes.decode(), such aserrors("strict","ignore", or"replace").
- Returns:
Decoded template file contents.
AsyncGitCode.labels
- AsyncGitCode.labels: AsyncLabelsResource
Label endpoints exposed as
client.labels.
- async AsyncGitCode.labels.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 AsyncGitCode.labels.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 AsyncGitCode.labels.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 AsyncGitCode.labels.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 AsyncGitCode.labels.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 AsyncGitCode.labels.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 AsyncGitCode.labels.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 AsyncGitCode.milestones.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 AsyncGitCode.milestones.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 AsyncGitCode.milestones.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 AsyncGitCode.milestones.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 AsyncGitCode.milestones.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 AsyncGitCode.members.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 AsyncGitCode.members.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 AsyncGitCode.members.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 AsyncGitCode.members.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 AsyncGitCode.members.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 AsyncGitCode.users.get(*, username: str) User
Get a user profile.
- Parameters:
username – GitCode username or login.
- Returns:
User profile details.
- async AsyncGitCode.users.me() User
Get the profile of the authenticated user.
- Returns:
Authorized user profile.
- async AsyncGitCode.users.list_emails() List[Email]
List email addresses for the authenticated user.
- Returns:
Email records associated with the current account.
- async AsyncGitCode.users.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 AsyncGitCode.users.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 AsyncGitCode.users.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 AsyncGitCode.users.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 AsyncGitCode.users.delete_key(*, key_id: int | str) None
Delete a public SSH key.
- Parameters:
key_id – Public key identifier.
- async AsyncGitCode.users.get_key(*, key_id: int | str) PublicKey
Get a single public SSH key.
- Parameters:
key_id – Public key identifier.
- Returns:
Public key metadata.
- async AsyncGitCode.users.get_namespace(*, path: str) Namespace
Resolve namespace information for the authenticated user.
- Parameters:
path – Namespace path to look up.
- Returns:
Namespace details.
- async AsyncGitCode.users.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 AsyncGitCode.orgs.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 AsyncGitCode.orgs.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 AsyncGitCode.orgs.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 AsyncGitCode.orgs.get(*, org: str) Organization
Get an organization.
- Parameters:
org – Organization path or login.
- Returns:
Organization details.
- async AsyncGitCode.orgs.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 AsyncGitCode.orgs.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 AsyncGitCode.orgs.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 AsyncGitCode.orgs.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 AsyncGitCode.orgs.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 AsyncGitCode.orgs.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 AsyncGitCode.orgs.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 AsyncGitCode.orgs.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 AsyncGitCode.orgs.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 AsyncGitCode.orgs.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 AsyncGitCode.orgs.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 AsyncGitCode.orgs.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 AsyncGitCode.orgs.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 AsyncGitCode.search.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.
- async AsyncGitCode.search.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.
- async AsyncGitCode.search.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.
AsyncGitCode.oauth
- AsyncGitCode.oauth: AsyncOAuthResource
OAuth helper endpoints exposed as
client.oauth.
- AsyncGitCode.oauth.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 AsyncGitCode.oauth.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 AsyncGitCode.oauth.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 AsyncGitCode.releases.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 AsyncGitCode.releases.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 AsyncGitCode.releases.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 AsyncGitCode.releases.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 AsyncGitCode.releases.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 AsyncGitCode.releases.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 AsyncGitCode.releases.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 AsyncGitCode.releases.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 AsyncGitCode.releases.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 AsyncGitCode.webhooks.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 AsyncGitCode.webhooks.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 AsyncGitCode.webhooks.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 AsyncGitCode.webhooks.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 AsyncGitCode.webhooks.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 AsyncGitCode.webhooks.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.