Navigation
GitHub Interface Compatibility
GitHub compatibility layer: which of its API calls are accepted, how the responses differ and what is not supported
GitRiver answers a subset of GitHub’s calls at /api/v3 — the same path used
by GitHub Enterprise Server. A tool written for GitHub only needs its server
address and token changed.
GitRiver also answers the GitLab interface, on /api/v4
(description). Numeric identifiers are shared between the
two dialects: a repository’s id is the same in a /api/v3 response and in a
/api/v4 response.
This document describes what is supported and what is not. Anything not in the “Supported Calls” table does not work, even if GitHub has such a call.
This layer’s contract is matching GitHub’s response: the
/api/v1 compatibility promise does not extend to
/api/v3, and the v3 here is the version of GitHub’s interface, not
GitRiver’s.
Connecting
# gh
export GH_HOST=git.example.org
gh auth login --hostname git.example.org --with-token < token.txt
# octokit
new Octokit({ baseUrl: "https://git.example.org/api/v3", auth: token })
# curl
curl -H "Authorization: token $TOKEN" https://git.example.org/api/v3/user
The token is an ordinary GitRiver personal access token. Both header forms
are accepted: Authorization: token <…> (used by gh and octokit) and
Authorization: Bearer <…>.
Supported Calls
| Call | State |
|---|---|
GET /api/v3 |
address map |
GET /api/v3/user |
the token’s owner |
GET /api/v3/user/repos |
the token owner’s repositories; parameters type, sort |
GET /api/v3/users/{username} |
profile; visibility follows the public_profiles setting |
GET /api/v3/users/{username}/repos |
the user’s repositories visible to the client |
GET /api/v3/orgs/{org} |
a GitRiver group, shown as an organization |
GET /api/v3/orgs/{org}/repos |
the group’s repositories visible to the client |
GET /api/v3/repos/{owner}/{repo} |
a repository |
GET /api/v3/repos/{owner}/{repo}/branches |
branches, paginated |
GET /api/v3/repos/{owner}/{repo}/branches/{branch} |
one branch |
GET /api/v3/repos/{owner}/{repo}/commits |
commits; parameters sha, path |
GET /api/v3/repos/{owner}/{repo}/commits/{sha} |
one commit |
GET /api/v3/repos/{owner}/{repo}/git/trees/{sha} |
a tree by id; recursive=1 for full depth |
GET /api/v3/repos/{owner}/{repo}/contents/{path} |
a file, directory, symlink or submodule; parameter ref |
GET /api/v3/repos/{owner}/{repo}/issues |
issues; parameter state |
POST /api/v3/repos/{owner}/{repo}/issues |
create an issue |
GET /api/v3/repos/{owner}/{repo}/issues/{number} |
one issue |
PATCH /api/v3/repos/{owner}/{repo}/issues/{number} |
edit, close and reopen |
GET /api/v3/repos/{owner}/{repo}/issues/{number}/comments |
comments |
POST /api/v3/repos/{owner}/{repo}/issues/{number}/comments |
add a comment |
GET /api/v3/repos/{owner}/{repo}/pulls |
pull requests; parameter state |
POST /api/v3/repos/{owner}/{repo}/pulls |
create a pull request; head in owner:branch form — from a fork |
GET /api/v3/repos/{owner}/{repo}/pulls/{number} |
one pull request |
GET /api/v3/repos/{owner}/{repo}/releases |
releases; drafts only for those who can write |
POST /api/v3/repos/{owner}/{repo}/releases |
create a release (the tag must exist) |
GET /api/v3/repos/{owner}/{repo}/releases/tags/{tag} |
a release by tag |
GET /api/v3/repos/{owner}/{repo}/commits/{sha}/statuses |
a commit’s check statuses, paginated |
GET /api/v3/repos/{owner}/{repo}/commits/{sha}/status |
the combined status |
POST /api/v3/repos/{owner}/{repo}/statuses/{sha} |
set a check status |
GET /api/v3/repos/{owner}/{repo}/hooks |
webhooks, paginated (requires repository admin rights) |
Mutating calls behave the same as the same actions through /api/v1:
permission checks, webhooks, channel notifications, notifications and an
activity feed entry.
Not yet supported: merging pull requests, code reviews and review-comment
editing, webhook management (creating and deleting), labels and milestones
as separate calls, git/blobs, events and notifications, GraphQL.
Pagination
Same as GitHub: page (starting at 1) and per_page (default 30, capped
at 100) parameters, with adjacent pages in the Link header.
A page’s cost does not depend on its number: deep pages cost the same as early ones. There is one exception — commit history, described below.
rel="last" is only set where the total record count is known exactly: on
branches, comments, releases and commit statuses. Commit history has no
last. Walk a listing via rel="next" — it is present everywhere.
What Still Depends on Volume
The cost of a commit history page (/commits) grows with its number: on
a repository with fifty thousand commits, page five hundred costs roughly
thirty times more than the first. The page number is capped at ten
thousand. A client that reads the whole history is better off cloning the
repository.
The recursive tree (git/trees/{sha}?recursive=1) has no pagination —
same as GitHub. The response is capped at ten thousand entries; beyond that
limit the body carries "truncated": true, and the rest is read by
subdirectory.
Errors
The error body is {"message": "…", "status": "…"}, as on GitHub: message
holds the reason, status holds the response code as a string. Every failure
of the layer takes this shape, including a nonexistent address, a wrong
method, a response timeout and exceeding the rate limit.
An entity that fails validation is returned with code 422, as on GitHub
(/api/v1 answers the same with 400). An unparseable request body is 400,
same as GitHub.
The texts of 401 and 404 are canonical (Requires authentication,
Not Found), as on GitHub; the detail of what exactly was not found is
written to the server log. 403 and 422 carry a substantive text — same as
GitHub.
An inaccessible object answers 404 with the same body as a nonexistent
address: closed is indistinguishable from nonexistent. GitHub itself answers
this way, and /api/v1 behaves the same. 403 stays where the client can see
the object but lacks the rights for the action itself: an archived
repository, a token without the needed scope, an edition limit.
The rate limit is shared with /api/v1: mutating calls land in the same
bucket. The X-RateLimit-* headers are only sent on responses to mutating
calls: reads are not rate-limited in GitRiver, and their responses carry none
of these headers.
Divergences
The layer’s rule: a field either carries a genuine value or is not returned at all. The layer never returns plausible-looking substitute values.
Compatibility is understood this way: every supported call answers the same as on GitHub, minus the differences listed below. Calls not in the “Supported Calls” table are not supported.
Deliberate Differences
These are BEHAVIORAL differences. Differences in field composition are listed below, in “Differences in response fields”; that list is complete as of the release date.
| What | Our behavior | What to keep in mind |
|---|---|---|
GET /orgs/{org} and its lists |
visibility is decided by membership and the group’s own visibility level | a private group is visible only to its members — same as in /api/v1 and /api/v4 |
GET /users/{username} |
visibility is decided by the server setting public_profiles; profiles are closed by default |
on GitHub, profiles are open by default. For a tool to read profiles without signing in, the administrator enables public_profiles; the setting acts the same on /api/v1, /api/v3 and /api/v4. The author’s card (author/user) of an issue, comment, pull request, review and release is always returned, regardless of the setting |
rel="last" on commit history |
not set | walk the history via rel="next" |
contents for a file over 1 MB |
failure | same as GitHub. But such a file cannot be read via git/blobs the way it can on GitHub: that call is not supported yet |
url on file entries in a git/trees response |
not returned | the git/blobs call it would point to is not supported |
| a CI job token | acts as an anonymous client | a private repository is not reachable with it; a script needs a personal token. On GitHub, the built-in Actions token reads its own repository |
/issues |
returns only issues | on GitHub, issues and pull requests share one number space, and /issues returns both. In GitRiver these are separate entities with independent numbering; pull requests are read via /pulls |
head.sha and base.sha on a pull request |
empty | the branch head is available from GET /repos/{owner}/{repo}/branches/{branch} |
How Fields Are Filled
| Field | Our behavior |
|---|---|
id |
an integer assigned to the object on first access and never changed afterward. One object has the same number in /api/v3 and /api/v4 |
node_id |
an opaque identifier built from the entity’s kind and its number — clients never parse it, only pass it back |
avatar_url |
an identicon derived from the name (/avatars/{name}.svg): it is stable for a given name and needs no external service. GitRiver has no uploads of custom images |
pushed_at |
the time of the last push — the same whether the push went over HTTP or SSH. null means no push has happened (same as GitHub for an empty repository) |
updated_at of the token’s owner (GET /user) |
the time the profile was last edited |
commit.message |
the full message text, not just the subject line |
commit.tree |
the commit’s tree id |
Every address the layer returns in responses (url, html_url,
download_url, avatar_url, tree and owner addresses) points to an existing
resource.
Tested Clients
The layer works with gh and @octokit/rest on every supported call,
including pagination: gh api --paginate and octokit.paginate parse the
Link header themselves.
A quirk of gh’s connection: it only accepts a hostname without a port and
goes over HTTPS, so a server reachable as https://git.example.org connects
with plain gh auth login --hostname. For a server on a nonstandard port or
without TLS, a full address helps: GH_ENTERPRISE_TOKEN=… gh api http://server:port/api/v3/user.
What’s Guaranteed Separately From Response Shape
Numeric identifiers are stable across calls. Someone else’s private
repository is unreachable both to a stranger with a token and to an
anonymous client. The profile visibility setting acts the same on /api/v1
and /api/v3.
Differences in response fields
This list covers the names and types of response fields, nested ones included, compared with GitHub’s interface version 2022-11-28; it does not describe field values.
The list below is complete as of the release date for every supported call except those named at the end of this section: each difference in field composition is either removed or named here — what we do instead, and why. A release contains no undeclared differences.
Declared divergences
Field lists are expanded rather than tabulated: there are hundreds of them, and a table would be unreadable. Use find-in-page to look a field up — every field is named in full, together with its path inside the response.
We do not return it — all calls of this dialect, fields: 128.
GitHub repository fields that have no counterpart in GitRiver: license, language, topics, homepage, mirror, subscriber and network counts, the has_downloads and has_pull_requests flags, custom repository properties. The *_url family is a set of GitHub URL templates; some of them lead to calls the layer does not support. git_url is an address using the git:// protocol, which GitRiver does not support: clone over HTTPS or SSH (clone_url, ssh_url). open_issues_count is not returned. permissions is returned only in a response for a single repository, not in lists; GitRiver has no maintain and triage levels. A field leaves this list in the release where the layer starts returning it.
Fields
$.archive_url, $.assignees_url, $.blobs_url, $.collaborators_url, $.comments_url,
$.commits_url, $.compare_url, $.contributors_url, $.deployments_url, $.downloads_url,
$.events_url, $.forks_url, $.git_commits_url, $.git_refs_url, $.git_tags_url, $.git_url,
$.has_downloads, $.has_pull_requests, $.homepage, $.hooks_url, $.issue_comment_url,
$.issue_events_url, $.issues_url, $.keys_url, $.labels_url, $.language, $.languages_url,
$.license, $.license.key, $.license.name, $.license.node_id, $.license.spdx_id,
$.license.url, $.merges_url, $.milestones_url, $.mirror_url, $.network_count,
$.notifications_url, $.open_issues, $.open_issues_count, $.owner.events_url,
$.owner.followers_url, $.owner.following_url, $.owner.gists_url, $.owner.gravatar_id,
$.owner.organizations_url, $.owner.received_events_url, $.owner.starred_url,
$.owner.subscriptions_url, $.owner.user_view_type, $.permissions.maintain,
$.permissions.triage, $.pull_request_creation_policy, $.stargazers_url, $.statuses_url,
$.subscribers_count, $.subscribers_url, $.subscription_url, $.svn_url, $.tags_url,
$.teams_url, $.temp_clone_token, $.topics, $.topics[], $[].archive_url,
$[].assignees_url, $[].blobs_url, $[].collaborators_url, $[].comments_url,
$[].commits_url, $[].compare_url, $[].contributors_url, $[].custom_properties,
$[].deployments_url, $[].downloads_url, $[].events_url, $[].forks_url,
$[].git_commits_url, $[].git_refs_url, $[].git_tags_url, $[].git_url, $[].has_downloads,
$[].has_pull_requests, $[].homepage, $[].issue_comment_url, $[].issue_events_url,
$[].keys_url, $[].labels_url, $[].language, $[].languages_url, $[].license,
$[].license.key, $[].license.name, $[].license.node_id, $[].license.spdx_id,
$[].license.url, $[].merges_url, $[].milestones_url, $[].mirror_url,
$[].notifications_url, $[].open_issues, $[].open_issues_count, $[].owner.events_url,
$[].owner.followers_url, $[].owner.following_url, $[].owner.gists_url,
$[].owner.gravatar_id, $[].owner.organizations_url, $[].owner.received_events_url,
$[].owner.starred_url, $[].owner.subscriptions_url, $[].owner.user_view_type,
$[].permissions, $[].permissions.admin, $[].permissions.maintain, $[].permissions.pull,
$[].permissions.push, $[].permissions.triage, $[].pull_request_creation_policy,
$[].stargazers_url, $[].statuses_url, $[].subscribers_url, $[].subscription_url,
$[].svn_url, $[].tags_url, $[].teams_url, $[].topics, $[].topics[]
We do not return it — all calls of this dialect, fields: 25.
Someone else’s profile (GET /users/{username}) is returned as a short card: without name, email, creation and edit times — those are present only in the token owner’s profile (GET /user). GitRiver’s member model has no bio, company, links to external networks, follower or public repository counts; the *_url family points to unsupported calls. A field leaves this list in the release where the layer starts returning it.
Fields
$.bio, $.blog, $.company, $.created_at, $.email, $.events_url, $.followers,
$.followers_url, $.following, $.following_url, $.gists_url, $.gravatar_id, $.hireable,
$.location, $.name, $.notification_email, $.organizations_url, $.public_gists,
$.public_repos, $.received_events_url, $.starred_url, $.subscriptions_url,
$.twitter_username, $.updated_at, $.user_view_type
We do not return it — all calls of this dialect, fields: 18.
GitHub organization fields with no counterpart in GitRiver: verified domain, project boards, member and public repository counts, company, location, email, blog, archival time; the *_url family points to unsupported calls. A field leaves this list in the release where the layer starts returning it.
Fields
$.archived_at, $.blog, $.company, $.email, $.events_url, $.followers, $.following,
$.has_organization_projects, $.has_repository_projects, $.hooks_url, $.is_verified,
$.issues_url, $.location, $.members_url, $.public_gists, $.public_members_url,
$.public_repos, $.twitter_username
We do not return it — all calls of this dialect, fields: 164.
GitHub issue fields with no counterpart in GitRiver: author association, reactions, apps, sub-issues and dependencies, close reason, pinned comment, who closed the issue (closed_by). About the milestone: number is its number within the repository, and GitRiver has no numbering of its own for milestones; creator, who created the milestone, is not stored; closed_issues is not returned; there is no milestone page and no milestone-labels call, so there is no html_url or labels_url either. The issue’s author has no *_url templates pointing to unsupported calls. A field leaves this list in the release where the layer starts returning it.
Fields
$.author_association, $.closed_by, $.closed_by.avatar_url, $.closed_by.events_url,
$.closed_by.followers_url, $.closed_by.following_url, $.closed_by.gists_url,
$.closed_by.gravatar_id, $.closed_by.html_url, $.closed_by.id, $.closed_by.login,
$.closed_by.node_id, $.closed_by.organizations_url, $.closed_by.received_events_url,
$.closed_by.repos_url, $.closed_by.site_admin, $.closed_by.starred_url,
$.closed_by.subscriptions_url, $.closed_by.type, $.closed_by.url,
$.closed_by.user_view_type, $.comments_url, $.events_url, $.issue_dependencies_summary,
$.issue_dependencies_summary.blocked_by, $.issue_dependencies_summary.blocking,
$.issue_dependencies_summary.total_blocked_by, $.issue_dependencies_summary.total_blocking,
$.labels_url, $.milestone.closed_issues, $.milestone.creator,
$.milestone.creator.avatar_url, $.milestone.creator.events_url,
$.milestone.creator.followers_url, $.milestone.creator.following_url,
$.milestone.creator.gists_url, $.milestone.creator.gravatar_id, $.milestone.creator.html_url,
$.milestone.creator.id, $.milestone.creator.login, $.milestone.creator.node_id,
$.milestone.creator.organizations_url, $.milestone.creator.received_events_url,
$.milestone.creator.repos_url, $.milestone.creator.site_admin,
$.milestone.creator.starred_url, $.milestone.creator.subscriptions_url,
$.milestone.creator.type, $.milestone.creator.url, $.milestone.creator.user_view_type,
$.milestone.html_url, $.milestone.labels_url, $.milestone.number,
$.performed_via_github_app, $.pinned_comment, $.reactions, $.reactions.+1, $.reactions.-1,
$.reactions.confused, $.reactions.eyes, $.reactions.heart, $.reactions.hooray,
$.reactions.laugh, $.reactions.rocket, $.reactions.total_count, $.reactions.url,
$.state_reason, $.sub_issues_summary, $.sub_issues_summary.completed,
$.sub_issues_summary.percent_completed, $.sub_issues_summary.total, $.timeline_url,
$.user.events_url, $.user.followers_url, $.user.following_url, $.user.gists_url,
$.user.gravatar_id, $.user.organizations_url, $.user.received_events_url,
$.user.starred_url, $.user.subscriptions_url, $.user.user_view_type, $[].author_association,
$[].closed_by, $[].closed_by.avatar_url, $[].closed_by.events_url,
$[].closed_by.followers_url, $[].closed_by.following_url, $[].closed_by.gists_url,
$[].closed_by.gravatar_id, $[].closed_by.html_url, $[].closed_by.id, $[].closed_by.login,
$[].closed_by.node_id, $[].closed_by.organizations_url, $[].closed_by.received_events_url,
$[].closed_by.repos_url, $[].closed_by.site_admin, $[].closed_by.starred_url,
$[].closed_by.subscriptions_url, $[].closed_by.type, $[].closed_by.url,
$[].closed_by.user_view_type, $[].comments_url, $[].events_url,
$[].issue_dependencies_summary, $[].issue_dependencies_summary.blocked_by,
$[].issue_dependencies_summary.blocking, $[].issue_dependencies_summary.total_blocked_by,
$[].issue_dependencies_summary.total_blocking, $[].labels_url, $[].milestone.closed_issues,
$[].milestone.creator, $[].milestone.creator.avatar_url, $[].milestone.creator.events_url,
$[].milestone.creator.followers_url, $[].milestone.creator.following_url,
$[].milestone.creator.gists_url, $[].milestone.creator.gravatar_id,
$[].milestone.creator.html_url, $[].milestone.creator.id, $[].milestone.creator.login,
$[].milestone.creator.node_id, $[].milestone.creator.organizations_url,
$[].milestone.creator.received_events_url, $[].milestone.creator.repos_url,
$[].milestone.creator.site_admin, $[].milestone.creator.starred_url,
$[].milestone.creator.subscriptions_url, $[].milestone.creator.type,
$[].milestone.creator.url, $[].milestone.creator.user_view_type, $[].milestone.html_url,
$[].milestone.labels_url, $[].milestone.number, $[].performed_via_github_app,
$[].pinned_comment, $[].reactions, $[].reactions.+1, $[].reactions.-1,
$[].reactions.confused, $[].reactions.eyes, $[].reactions.heart, $[].reactions.hooray,
$[].reactions.laugh, $[].reactions.rocket, $[].reactions.total_count, $[].reactions.url,
$[].state_reason, $[].sub_issues_summary, $[].sub_issues_summary.completed,
$[].sub_issues_summary.percent_completed, $[].sub_issues_summary.total, $[].timeline_url,
$[].user.events_url, $[].user.followers_url, $[].user.following_url, $[].user.gists_url,
$[].user.gravatar_id, $[].user.organizations_url, $[].user.received_events_url,
$[].user.starred_url, $[].user.subscriptions_url, $[].user.user_view_type
We do not return it — all calls of this dialect, fields: 25.
GitHub comment fields with no counterpart in GitRiver: author association, reactions, comment minimization and pinning, apps. The author has no *_url templates pointing to unsupported calls. A field leaves this list in the release where the layer starts returning it.
Fields
$[].author_association, $[].minimized, $[].performed_via_github_app, $[].pin,
$[].reactions, $[].reactions.+1, $[].reactions.-1, $[].reactions.confused,
$[].reactions.eyes, $[].reactions.heart, $[].reactions.hooray, $[].reactions.laugh,
$[].reactions.rocket, $[].reactions.total_count, $[].reactions.url, $[].user.events_url,
$[].user.followers_url, $[].user.following_url, $[].user.gists_url, $[].user.gravatar_id,
$[].user.organizations_url, $[].user.received_events_url, $[].user.starred_url,
$[].user.subscriptions_url, $[].user.user_view_type
We do not return it — all calls of this dialect, fields: 568.
GitHub pull request fields with no counterpart in GitRiver: auto-merge, maintainer-editable flag, rebaseable flag, reviewer teams, author association, who merged the pull request (merged_by), comment counters (comments, review_comments), diff addresses (diff_url, patch_url) and some of the _links. Nested repository and member cards (head.repo, base.repo, head.user, base.user) are not returned: repository details come from GET /repos/{owner}/{repo}. A field leaves this list in the release where the layer starts returning it.
Fields
$._links.commits, $._links.commits.href, $._links.review_comment,
$._links.review_comment.href, $._links.review_comments, $._links.review_comments.href,
$._links.statuses, $._links.statuses.href, $.author_association, $.auto_merge,
$.base.repo, $.base.repo.allow_forking, $.base.repo.archive_url, $.base.repo.archived,
$.base.repo.assignees_url, $.base.repo.blobs_url, $.base.repo.branches_url,
$.base.repo.clone_url, $.base.repo.collaborators_url, $.base.repo.comments_url,
$.base.repo.commits_url, $.base.repo.compare_url, $.base.repo.contents_url,
$.base.repo.contributors_url, $.base.repo.created_at, $.base.repo.default_branch,
$.base.repo.deployments_url, $.base.repo.description, $.base.repo.disabled,
$.base.repo.downloads_url, $.base.repo.events_url, $.base.repo.fork, $.base.repo.forks,
$.base.repo.forks_count, $.base.repo.forks_url, $.base.repo.full_name,
$.base.repo.git_commits_url, $.base.repo.git_refs_url, $.base.repo.git_tags_url,
$.base.repo.git_url, $.base.repo.has_discussions, $.base.repo.has_downloads,
$.base.repo.has_issues, $.base.repo.has_pages, $.base.repo.has_projects,
$.base.repo.has_pull_requests, $.base.repo.has_wiki, $.base.repo.homepage,
$.base.repo.hooks_url, $.base.repo.html_url, $.base.repo.id, $.base.repo.is_template,
$.base.repo.issue_comment_url, $.base.repo.issue_events_url, $.base.repo.issues_url,
$.base.repo.keys_url, $.base.repo.labels_url, $.base.repo.language,
$.base.repo.languages_url, $.base.repo.license, $.base.repo.license.key,
$.base.repo.license.name, $.base.repo.license.node_id, $.base.repo.license.spdx_id,
$.base.repo.license.url, $.base.repo.merges_url, $.base.repo.milestones_url,
$.base.repo.mirror_url, $.base.repo.name, $.base.repo.node_id,
$.base.repo.notifications_url, $.base.repo.open_issues, $.base.repo.open_issues_count,
$.base.repo.owner, $.base.repo.owner.avatar_url, $.base.repo.owner.events_url,
$.base.repo.owner.followers_url, $.base.repo.owner.following_url, $.base.repo.owner.gists_url,
$.base.repo.owner.gravatar_id, $.base.repo.owner.html_url, $.base.repo.owner.id,
$.base.repo.owner.login, $.base.repo.owner.node_id, $.base.repo.owner.organizations_url,
$.base.repo.owner.received_events_url, $.base.repo.owner.repos_url,
$.base.repo.owner.site_admin, $.base.repo.owner.starred_url,
$.base.repo.owner.subscriptions_url, $.base.repo.owner.type, $.base.repo.owner.url,
$.base.repo.owner.user_view_type, $.base.repo.private,
$.base.repo.pull_request_creation_policy, $.base.repo.pulls_url, $.base.repo.pushed_at,
$.base.repo.releases_url, $.base.repo.size, $.base.repo.ssh_url,
$.base.repo.stargazers_count, $.base.repo.stargazers_url, $.base.repo.statuses_url,
$.base.repo.subscribers_url, $.base.repo.subscription_url, $.base.repo.svn_url,
$.base.repo.tags_url, $.base.repo.teams_url, $.base.repo.topics, $.base.repo.topics[],
$.base.repo.trees_url, $.base.repo.updated_at, $.base.repo.url, $.base.repo.visibility,
$.base.repo.watchers, $.base.repo.watchers_count, $.base.repo.web_commit_signoff_required,
$.base.user, $.base.user.avatar_url, $.base.user.events_url, $.base.user.followers_url,
$.base.user.following_url, $.base.user.gists_url, $.base.user.gravatar_id,
$.base.user.html_url, $.base.user.id, $.base.user.login, $.base.user.node_id,
$.base.user.organizations_url, $.base.user.received_events_url, $.base.user.repos_url,
$.base.user.site_admin, $.base.user.starred_url, $.base.user.subscriptions_url,
$.base.user.type, $.base.user.url, $.base.user.user_view_type, $.comments, $.comments_url,
$.commits_url, $.diff_url, $.head.repo, $.head.repo.allow_forking,
$.head.repo.archive_url, $.head.repo.archived, $.head.repo.assignees_url,
$.head.repo.blobs_url, $.head.repo.branches_url, $.head.repo.clone_url,
$.head.repo.collaborators_url, $.head.repo.comments_url, $.head.repo.commits_url,
$.head.repo.compare_url, $.head.repo.contents_url, $.head.repo.contributors_url,
$.head.repo.created_at, $.head.repo.default_branch, $.head.repo.deployments_url,
$.head.repo.description, $.head.repo.disabled, $.head.repo.downloads_url,
$.head.repo.events_url, $.head.repo.fork, $.head.repo.forks, $.head.repo.forks_count,
$.head.repo.forks_url, $.head.repo.full_name, $.head.repo.git_commits_url,
$.head.repo.git_refs_url, $.head.repo.git_tags_url, $.head.repo.git_url,
$.head.repo.has_discussions, $.head.repo.has_downloads, $.head.repo.has_issues,
$.head.repo.has_pages, $.head.repo.has_projects, $.head.repo.has_pull_requests,
$.head.repo.has_wiki, $.head.repo.homepage, $.head.repo.hooks_url, $.head.repo.html_url,
$.head.repo.id, $.head.repo.is_template, $.head.repo.issue_comment_url,
$.head.repo.issue_events_url, $.head.repo.issues_url, $.head.repo.keys_url,
$.head.repo.labels_url, $.head.repo.language, $.head.repo.languages_url,
$.head.repo.license, $.head.repo.license.key, $.head.repo.license.name,
$.head.repo.license.node_id, $.head.repo.license.spdx_id, $.head.repo.license.url,
$.head.repo.merges_url, $.head.repo.milestones_url, $.head.repo.mirror_url,
$.head.repo.name, $.head.repo.node_id, $.head.repo.notifications_url,
$.head.repo.open_issues, $.head.repo.open_issues_count, $.head.repo.owner,
$.head.repo.owner.avatar_url, $.head.repo.owner.events_url, $.head.repo.owner.followers_url,
$.head.repo.owner.following_url, $.head.repo.owner.gists_url, $.head.repo.owner.gravatar_id,
$.head.repo.owner.html_url, $.head.repo.owner.id, $.head.repo.owner.login,
$.head.repo.owner.node_id, $.head.repo.owner.organizations_url,
$.head.repo.owner.received_events_url, $.head.repo.owner.repos_url,
$.head.repo.owner.site_admin, $.head.repo.owner.starred_url,
$.head.repo.owner.subscriptions_url, $.head.repo.owner.type, $.head.repo.owner.url,
$.head.repo.owner.user_view_type, $.head.repo.private,
$.head.repo.pull_request_creation_policy, $.head.repo.pulls_url, $.head.repo.pushed_at,
$.head.repo.releases_url, $.head.repo.size, $.head.repo.ssh_url,
$.head.repo.stargazers_count, $.head.repo.stargazers_url, $.head.repo.statuses_url,
$.head.repo.subscribers_url, $.head.repo.subscription_url, $.head.repo.svn_url,
$.head.repo.tags_url, $.head.repo.teams_url, $.head.repo.topics, $.head.repo.trees_url,
$.head.repo.updated_at, $.head.repo.url, $.head.repo.visibility, $.head.repo.watchers,
$.head.repo.watchers_count, $.head.repo.web_commit_signoff_required, $.head.user,
$.head.user.avatar_url, $.head.user.events_url, $.head.user.followers_url,
$.head.user.following_url, $.head.user.gists_url, $.head.user.gravatar_id,
$.head.user.html_url, $.head.user.id, $.head.user.login, $.head.user.node_id,
$.head.user.organizations_url, $.head.user.received_events_url, $.head.user.repos_url,
$.head.user.site_admin, $.head.user.starred_url, $.head.user.subscriptions_url,
$.head.user.type, $.head.user.url, $.head.user.user_view_type, $.maintainer_can_modify,
$.merged_by, $.patch_url, $.rebaseable, $.requested_teams, $.review_comment_url,
$.review_comments, $.review_comments_url, $.statuses_url, $.user.events_url,
$.user.followers_url, $.user.following_url, $.user.gists_url, $.user.gravatar_id,
$.user.organizations_url, $.user.received_events_url, $.user.starred_url,
$.user.subscriptions_url, $.user.user_view_type, $[]._links.commits,
$[]._links.commits.href, $[]._links.review_comment, $[]._links.review_comment.href,
$[]._links.review_comments, $[]._links.review_comments.href, $[]._links.statuses,
$[]._links.statuses.href, $[].author_association, $[].auto_merge, $[].base.repo,
$[].base.repo.allow_forking, $[].base.repo.archive_url, $[].base.repo.archived,
$[].base.repo.assignees_url, $[].base.repo.blobs_url, $[].base.repo.branches_url,
$[].base.repo.clone_url, $[].base.repo.collaborators_url, $[].base.repo.comments_url,
$[].base.repo.commits_url, $[].base.repo.compare_url, $[].base.repo.contents_url,
$[].base.repo.contributors_url, $[].base.repo.created_at, $[].base.repo.default_branch,
$[].base.repo.deployments_url, $[].base.repo.description, $[].base.repo.disabled,
$[].base.repo.downloads_url, $[].base.repo.events_url, $[].base.repo.fork,
$[].base.repo.forks, $[].base.repo.forks_count, $[].base.repo.forks_url,
$[].base.repo.full_name, $[].base.repo.git_commits_url, $[].base.repo.git_refs_url,
$[].base.repo.git_tags_url, $[].base.repo.git_url, $[].base.repo.has_discussions,
$[].base.repo.has_downloads, $[].base.repo.has_issues, $[].base.repo.has_pages,
$[].base.repo.has_projects, $[].base.repo.has_pull_requests, $[].base.repo.has_wiki,
$[].base.repo.homepage, $[].base.repo.hooks_url, $[].base.repo.html_url, $[].base.repo.id,
$[].base.repo.is_template, $[].base.repo.issue_comment_url, $[].base.repo.issue_events_url,
$[].base.repo.issues_url, $[].base.repo.keys_url, $[].base.repo.labels_url,
$[].base.repo.language, $[].base.repo.languages_url, $[].base.repo.license,
$[].base.repo.license.key, $[].base.repo.license.name, $[].base.repo.license.node_id,
$[].base.repo.license.spdx_id, $[].base.repo.license.url, $[].base.repo.merges_url,
$[].base.repo.milestones_url, $[].base.repo.mirror_url, $[].base.repo.name,
$[].base.repo.node_id, $[].base.repo.notifications_url, $[].base.repo.open_issues,
$[].base.repo.open_issues_count, $[].base.repo.owner, $[].base.repo.owner.avatar_url,
$[].base.repo.owner.events_url, $[].base.repo.owner.followers_url,
$[].base.repo.owner.following_url, $[].base.repo.owner.gists_url,
$[].base.repo.owner.gravatar_id, $[].base.repo.owner.html_url, $[].base.repo.owner.id,
$[].base.repo.owner.login, $[].base.repo.owner.node_id, $[].base.repo.owner.organizations_url,
$[].base.repo.owner.received_events_url, $[].base.repo.owner.repos_url,
$[].base.repo.owner.site_admin, $[].base.repo.owner.starred_url,
$[].base.repo.owner.subscriptions_url, $[].base.repo.owner.type, $[].base.repo.owner.url,
$[].base.repo.owner.user_view_type, $[].base.repo.private,
$[].base.repo.pull_request_creation_policy, $[].base.repo.pulls_url, $[].base.repo.pushed_at,
$[].base.repo.releases_url, $[].base.repo.size, $[].base.repo.ssh_url,
$[].base.repo.stargazers_count, $[].base.repo.stargazers_url, $[].base.repo.statuses_url,
$[].base.repo.subscribers_url, $[].base.repo.subscription_url, $[].base.repo.svn_url,
$[].base.repo.tags_url, $[].base.repo.teams_url, $[].base.repo.topics,
$[].base.repo.topics[], $[].base.repo.trees_url, $[].base.repo.updated_at,
$[].base.repo.url, $[].base.repo.visibility, $[].base.repo.watchers,
$[].base.repo.watchers_count, $[].base.repo.web_commit_signoff_required, $[].base.user,
$[].base.user.avatar_url, $[].base.user.events_url, $[].base.user.followers_url,
$[].base.user.following_url, $[].base.user.gists_url, $[].base.user.gravatar_id,
$[].base.user.html_url, $[].base.user.id, $[].base.user.login, $[].base.user.node_id,
$[].base.user.organizations_url, $[].base.user.received_events_url, $[].base.user.repos_url,
$[].base.user.site_admin, $[].base.user.starred_url, $[].base.user.subscriptions_url,
$[].base.user.type, $[].base.user.url, $[].base.user.user_view_type, $[].comments_url,
$[].commits_url, $[].diff_url, $[].head.repo, $[].head.repo.allow_forking,
$[].head.repo.archive_url, $[].head.repo.archived, $[].head.repo.assignees_url,
$[].head.repo.blobs_url, $[].head.repo.branches_url, $[].head.repo.clone_url,
$[].head.repo.collaborators_url, $[].head.repo.comments_url, $[].head.repo.commits_url,
$[].head.repo.compare_url, $[].head.repo.contents_url, $[].head.repo.contributors_url,
$[].head.repo.created_at, $[].head.repo.default_branch, $[].head.repo.deployments_url,
$[].head.repo.description, $[].head.repo.disabled, $[].head.repo.downloads_url,
$[].head.repo.events_url, $[].head.repo.fork, $[].head.repo.forks,
$[].head.repo.forks_count, $[].head.repo.forks_url, $[].head.repo.full_name,
$[].head.repo.git_commits_url, $[].head.repo.git_refs_url, $[].head.repo.git_tags_url,
$[].head.repo.git_url, $[].head.repo.has_discussions, $[].head.repo.has_downloads,
$[].head.repo.has_issues, $[].head.repo.has_pages, $[].head.repo.has_projects,
$[].head.repo.has_pull_requests, $[].head.repo.has_wiki, $[].head.repo.homepage,
$[].head.repo.hooks_url, $[].head.repo.html_url, $[].head.repo.id,
$[].head.repo.is_template, $[].head.repo.issue_comment_url, $[].head.repo.issue_events_url,
$[].head.repo.issues_url, $[].head.repo.keys_url, $[].head.repo.labels_url,
$[].head.repo.language, $[].head.repo.languages_url, $[].head.repo.license,
$[].head.repo.license.key, $[].head.repo.license.name, $[].head.repo.license.node_id,
$[].head.repo.license.spdx_id, $[].head.repo.license.url, $[].head.repo.merges_url,
$[].head.repo.milestones_url, $[].head.repo.mirror_url, $[].head.repo.name,
$[].head.repo.node_id, $[].head.repo.notifications_url, $[].head.repo.open_issues,
$[].head.repo.open_issues_count, $[].head.repo.owner, $[].head.repo.owner.avatar_url,
$[].head.repo.owner.events_url, $[].head.repo.owner.followers_url,
$[].head.repo.owner.following_url, $[].head.repo.owner.gists_url,
$[].head.repo.owner.gravatar_id, $[].head.repo.owner.html_url, $[].head.repo.owner.id,
$[].head.repo.owner.login, $[].head.repo.owner.node_id, $[].head.repo.owner.organizations_url,
$[].head.repo.owner.received_events_url, $[].head.repo.owner.repos_url,
$[].head.repo.owner.site_admin, $[].head.repo.owner.starred_url,
$[].head.repo.owner.subscriptions_url, $[].head.repo.owner.type, $[].head.repo.owner.url,
$[].head.repo.owner.user_view_type, $[].head.repo.private,
$[].head.repo.pull_request_creation_policy, $[].head.repo.pulls_url, $[].head.repo.pushed_at,
$[].head.repo.releases_url, $[].head.repo.size, $[].head.repo.ssh_url,
$[].head.repo.stargazers_count, $[].head.repo.stargazers_url, $[].head.repo.statuses_url,
$[].head.repo.subscribers_url, $[].head.repo.subscription_url, $[].head.repo.svn_url,
$[].head.repo.tags_url, $[].head.repo.teams_url, $[].head.repo.topics,
$[].head.repo.topics[], $[].head.repo.trees_url, $[].head.repo.updated_at,
$[].head.repo.url, $[].head.repo.visibility, $[].head.repo.watchers,
$[].head.repo.watchers_count, $[].head.repo.web_commit_signoff_required, $[].head.user,
$[].head.user.avatar_url, $[].head.user.events_url, $[].head.user.followers_url,
$[].head.user.following_url, $[].head.user.gists_url, $[].head.user.gravatar_id,
$[].head.user.html_url, $[].head.user.id, $[].head.user.login, $[].head.user.node_id,
$[].head.user.organizations_url, $[].head.user.received_events_url, $[].head.user.repos_url,
$[].head.user.site_admin, $[].head.user.starred_url, $[].head.user.subscriptions_url,
$[].head.user.type, $[].head.user.url, $[].head.user.user_view_type, $[].patch_url,
$[].requested_teams, $[].review_comment_url, $[].review_comments_url, $[].statuses_url,
$[].user.events_url, $[].user.followers_url, $[].user.following_url, $[].user.gists_url,
$[].user.gravatar_id, $[].user.organizations_url, $[].user.received_events_url,
$[].user.starred_url, $[].user.subscriptions_url, $[].user.user_view_type
We do not return it — all calls of this dialect, fields: 98.
Release attachments (assets[]) have no url description address, no digest and no uploader card (uploader): GitRiver does not record who uploaded a file; download via browser_download_url. There is no upload_url: uploading files through this layer is not supported. There are no reactions, discussion, target_commitish, immutable or mentions_count; the author has no *_url templates pointing to unsupported calls. A field leaves this list in the release where the layer starts returning it.
Fields
$.assets[].digest, $.assets[].uploader, $.assets[].uploader.avatar_url,
$.assets[].uploader.events_url, $.assets[].uploader.followers_url,
$.assets[].uploader.following_url, $.assets[].uploader.gists_url,
$.assets[].uploader.gravatar_id, $.assets[].uploader.html_url, $.assets[].uploader.id,
$.assets[].uploader.login, $.assets[].uploader.node_id, $.assets[].uploader.organizations_url,
$.assets[].uploader.received_events_url, $.assets[].uploader.repos_url,
$.assets[].uploader.site_admin, $.assets[].uploader.starred_url,
$.assets[].uploader.subscriptions_url, $.assets[].uploader.type, $.assets[].uploader.url,
$.assets[].uploader.user_view_type, $.assets[].url, $.author.events_url,
$.author.followers_url, $.author.following_url, $.author.gists_url, $.author.gravatar_id,
$.author.organizations_url, $.author.received_events_url, $.author.repos_url,
$.author.starred_url, $.author.subscriptions_url, $.author.user_view_type, $.discussion_url,
$.immutable, $.reactions, $.reactions.+1, $.reactions.-1, $.reactions.confused,
$.reactions.eyes, $.reactions.heart, $.reactions.hooray, $.reactions.laugh,
$.reactions.rocket, $.reactions.total_count, $.reactions.url, $.target_commitish,
$.updated_at, $.upload_url, $[].assets[].digest, $[].assets[].uploader,
$[].assets[].uploader.avatar_url, $[].assets[].uploader.events_url,
$[].assets[].uploader.followers_url, $[].assets[].uploader.following_url,
$[].assets[].uploader.gists_url, $[].assets[].uploader.gravatar_id,
$[].assets[].uploader.html_url, $[].assets[].uploader.id, $[].assets[].uploader.login,
$[].assets[].uploader.node_id, $[].assets[].uploader.organizations_url,
$[].assets[].uploader.received_events_url, $[].assets[].uploader.repos_url,
$[].assets[].uploader.site_admin, $[].assets[].uploader.starred_url,
$[].assets[].uploader.subscriptions_url, $[].assets[].uploader.type,
$[].assets[].uploader.url, $[].assets[].uploader.user_view_type, $[].assets[].url,
$[].author.events_url, $[].author.followers_url, $[].author.following_url,
$[].author.gists_url, $[].author.gravatar_id, $[].author.organizations_url,
$[].author.received_events_url, $[].author.repos_url, $[].author.starred_url,
$[].author.subscriptions_url, $[].author.user_view_type, $[].discussion_url, $[].immutable,
$[].mentions_count, $[].reactions, $[].reactions.+1, $[].reactions.-1,
$[].reactions.confused, $[].reactions.eyes, $[].reactions.heart, $[].reactions.hooray,
$[].reactions.laugh, $[].reactions.rocket, $[].reactions.total_count, $[].reactions.url,
$[].target_commitish, $[].upload_url
We do not return it — all calls of this dialect, fields: 95.
Author and committer cards as server members (top-level author, committer) are not returned: name, email and time are in commit.author and commit.committer. There is no commit signature information (commit.verification), no comments_url, and no sha on files[] entries. A field leaves this list in the release where the layer starts returning it.
Fields
$.author, $.author.avatar_url, $.author.events_url, $.author.followers_url,
$.author.following_url, $.author.gists_url, $.author.gravatar_id, $.author.html_url,
$.author.id, $.author.login, $.author.node_id, $.author.organizations_url,
$.author.received_events_url, $.author.repos_url, $.author.site_admin, $.author.starred_url,
$.author.subscriptions_url, $.author.type, $.author.url, $.author.user_view_type,
$.comments_url, $.commit.verification, $.commit.verification.payload,
$.commit.verification.reason, $.commit.verification.signature, $.commit.verification.verified,
$.commit.verification.verified_at, $.committer, $.committer.avatar_url,
$.committer.events_url, $.committer.followers_url, $.committer.following_url,
$.committer.gists_url, $.committer.gravatar_id, $.committer.html_url, $.committer.id,
$.committer.login, $.committer.node_id, $.committer.organizations_url,
$.committer.received_events_url, $.committer.repos_url, $.committer.site_admin,
$.committer.starred_url, $.committer.subscriptions_url, $.committer.type, $.committer.url,
$.committer.user_view_type, $.files[].sha, $[].author, $[].author.avatar_url,
$[].author.events_url, $[].author.followers_url, $[].author.following_url,
$[].author.gists_url, $[].author.gravatar_id, $[].author.html_url, $[].author.id,
$[].author.login, $[].author.node_id, $[].author.organizations_url,
$[].author.received_events_url, $[].author.repos_url, $[].author.site_admin,
$[].author.starred_url, $[].author.subscriptions_url, $[].author.type, $[].author.url,
$[].author.user_view_type, $[].comments_url, $[].commit.verification,
$[].commit.verification.payload, $[].commit.verification.reason,
$[].commit.verification.signature, $[].commit.verification.verified,
$[].commit.verification.verified_at, $[].committer, $[].committer.avatar_url,
$[].committer.events_url, $[].committer.followers_url, $[].committer.following_url,
$[].committer.gists_url, $[].committer.gravatar_id, $[].committer.html_url,
$[].committer.id, $[].committer.login, $[].committer.node_id,
$[].committer.organizations_url, $[].committer.received_events_url, $[].committer.repos_url,
$[].committer.site_admin, $[].committer.starred_url, $[].committer.subscriptions_url,
$[].committer.type, $[].committer.url, $[].committer.user_view_type
We do not return it — all calls of this dialect, fields: 47.
The repository card in the combined status (repository) and its owner have no *_url templates pointing to unsupported calls; neither does the status author (creator). A field leaves this list in the release where the layer starts returning it.
Fields
$.repository.archive_url, $.repository.assignees_url, $.repository.blobs_url,
$.repository.collaborators_url, $.repository.comments_url, $.repository.compare_url,
$.repository.contributors_url, $.repository.deployments_url, $.repository.downloads_url,
$.repository.events_url, $.repository.forks_url, $.repository.git_commits_url,
$.repository.git_refs_url, $.repository.git_tags_url, $.repository.issue_comment_url,
$.repository.issue_events_url, $.repository.keys_url, $.repository.labels_url,
$.repository.languages_url, $.repository.merges_url, $.repository.milestones_url,
$.repository.notifications_url, $.repository.owner.events_url,
$.repository.owner.followers_url, $.repository.owner.following_url,
$.repository.owner.gists_url, $.repository.owner.gravatar_id,
$.repository.owner.organizations_url, $.repository.owner.received_events_url,
$.repository.owner.starred_url, $.repository.owner.subscriptions_url,
$.repository.owner.user_view_type, $.repository.stargazers_url, $.repository.subscribers_url,
$.repository.subscription_url, $.repository.tags_url, $.repository.teams_url,
$[].creator.events_url, $[].creator.followers_url, $[].creator.following_url,
$[].creator.gists_url, $[].creator.gravatar_id, $[].creator.organizations_url,
$[].creator.received_events_url, $[].creator.starred_url, $[].creator.subscriptions_url,
$[].creator.user_view_type
We do not return it — all calls of this dialect, fields: 76.
A branch’s nested commit carries only sha and url: the full commit comes from GET /repos/{owner}/{repo}/commits/{sha}. protection and protection_url describe protection rules in GitHub’s own terms (required checks, reviews, force-push restrictions): GitRiver’s rule set is different and is not translated into GitHub’s shape. Whether a branch is protected is shown by the protected field. A field leaves this list in the release where the layer starts returning it.
Fields
$.commit.author, $.commit.author.avatar_url, $.commit.author.events_url,
$.commit.author.followers_url, $.commit.author.following_url, $.commit.author.gists_url,
$.commit.author.gravatar_id, $.commit.author.html_url, $.commit.author.id,
$.commit.author.login, $.commit.author.node_id, $.commit.author.organizations_url,
$.commit.author.received_events_url, $.commit.author.repos_url, $.commit.author.site_admin,
$.commit.author.starred_url, $.commit.author.subscriptions_url, $.commit.author.type,
$.commit.author.url, $.commit.author.user_view_type, $.commit.comments_url, $.commit.commit,
$.commit.commit.author, $.commit.commit.author.date, $.commit.commit.author.email,
$.commit.commit.author.name, $.commit.commit.comment_count, $.commit.commit.committer,
$.commit.commit.committer.date, $.commit.commit.committer.email,
$.commit.commit.committer.name, $.commit.commit.message, $.commit.commit.tree,
$.commit.commit.tree.sha, $.commit.commit.tree.url, $.commit.commit.url,
$.commit.commit.verification, $.commit.commit.verification.payload,
$.commit.commit.verification.reason, $.commit.commit.verification.signature,
$.commit.commit.verification.verified, $.commit.commit.verification.verified_at,
$.commit.committer, $.commit.committer.avatar_url, $.commit.committer.events_url,
$.commit.committer.followers_url, $.commit.committer.following_url,
$.commit.committer.gists_url, $.commit.committer.gravatar_id, $.commit.committer.html_url,
$.commit.committer.id, $.commit.committer.login, $.commit.committer.node_id,
$.commit.committer.organizations_url, $.commit.committer.received_events_url,
$.commit.committer.repos_url, $.commit.committer.site_admin, $.commit.committer.starred_url,
$.commit.committer.subscriptions_url, $.commit.committer.type, $.commit.committer.url,
$.commit.committer.user_view_type, $.commit.html_url, $.commit.node_id, $.commit.parents,
$.commit.parents[], $.commit.parents[].html_url, $.commit.parents[].sha,
$.commit.parents[].url, $.protection, $.protection.enabled,
$.protection.required_status_checks, $.protection.required_status_checks.checks,
$.protection.required_status_checks.contexts,
$.protection.required_status_checks.enforcement_level, $.protection_url
We do not return it — all calls of this dialect, fields: 4.
git_url points to the /git/blobs/{sha} call, which the layer does not support; _links.git is the same address. A field leaves this list in the release where the layer starts returning it.
Fields
$._links.git, $.git_url, $[]._links.git, $[].git_url
We do not return it — all calls of this dialect, fields: 1.
The documentation_url field is not returned in an error body: on GitHub it points to GitHub’s own documentation. The field is optional. A field leaves this list in the release where the layer starts returning it.
Fields
$.documentation_url
We do not return it — all calls of this dialect, fields: 30.
GitHub’s API root lists URL templates for ALL calls on the platform. GitRiver’s root names only the ones the layer supports. A field leaves this list in the release where the layer starts returning it.
Fields
$.authorizations_url, $.code_search_url, $.commit_search_url,
$.current_user_authorizations_html_url, $.current_user_repositories_url, $.emails_url,
$.emojis_url, $.events_url, $.feeds_url, $.followers_url, $.following_url, $.gists_url,
$.hub_url, $.issue_search_url, $.issues_url, $.keys_url, $.label_search_url,
$.notifications_url, $.organization_repositories_url, $.organization_teams_url,
$.organization_url, $.public_gists_url, $.rate_limit_url, $.repository_search_url,
$.starred_gists_url, $.starred_url, $.topic_search_url, $.user_organizations_url,
$.user_repositories_url, $.user_search_url
We always return it empty — all calls of this dialect, fields: 2.
The field exists but is always empty: GitRiver does not store a milestone’s close time. A field leaves this list in the release where the layer starts filling it in.
Fields
$.milestone.closed_at, $[].milestone.closed_at
We always return it empty — all calls of this dialect, fields: 2.
The field exists but is always empty on an OPEN pull request: on GitHub it points to a trial merge prepared in advance, while GitRiver does not perform a trial merge — the merge commit only appears when the merge happens. On a merged pull request the field is filled in. A field leaves this list in the release where the layer starts filling it in.
Fields
$.merge_commit_sha, $[].merge_commit_sha
Calls outside the list
| Call | What to keep in mind |
|---|---|
hooks |
the response’s field composition has not been matched against GitHub; differences, if any, are not named above |