GitHub for GitHub workflows

Our top pick for GitHub workflowsOfficialGitHub30,334

For GitHub workflows, GitHub's official remote server is the top pick of four, which is no surprise: it is the core of the platform the task is named for. It reads repository files, searches code across GitHub, and manages issues, pull requests, commits, and Actions, so an agent operates on the hosted side directly.

It ranks first because the bulk of a GitHub workflow happens on github.com, and this server is the agent's hands there. The other picks fill in the layers around it.

How GitHub fits

get_file_contents reads any file or directory from a repository, and create_or_update_file, delete_file, and push_files write changes, with push_files batching a multi-file change into a single commit. create_branch and list_branches manage branches, list_tags reads releases, and create_repository and fork_repository start or copy projects. get_me, get_teams, and get_team_members resolve identity and membership. With the server's issue and pull-request management on top, an agent can open a PR, organize work, and act on the hosted repository in one place.

The siblings cover the layers GitHub's hosted surface does not reach. The local Git server handles the on-disk side, status, diffs, and commits on the checkout, so an agent can stage and commit before pushing. GitLab is the pick when a second forge is in the mix, and CircleCI when the question lands on continuous integration specifically. GitHub ranks first because it owns the platform core; pair it with the Git server for local commits and a CI server when pipelines are the focus.

Tools you would use

ToolWhat it does
get_meGets the authenticated user's profile.
get_teamsGets the teams a user or organization belongs to.
get_team_membersLists the members of an organization team.
get_file_contentsGets the contents of a file or directory from a repository.
create_or_update_fileCreates a new file or updates an existing one in a repository.
delete_fileDeletes a file from a repository.
push_filesPushes multiple files to a repository in a single commit.
create_repositoryCreates a new repository.
fork_repositoryForks a repository into your account.
create_branchCreates a new branch in a repository.
Full GitHub setup and config →

FAQ

Why is GitHub's server the first pick for GitHub workflows?
Because the workflow is centered on the github.com platform, and this server is the agent's reach into it: reading files with get_file_contents, writing with push_files and create_or_update_file, branching, and managing issues and pull requests. It owns the hosted core.
What does GitHub's server not handle in a GitHub workflow?
The local checkout and dedicated CI. Staging and committing on disk is the Git server's job, and CircleCI handles continuous integration when that is the focus. GitLab covers a second forge. GitHub's server owns the hosted platform side.