Pull changes from GitHub
Pulls new commits from the connected repository into the app.
Call this after someone pushes to the repository, or before reading the app’s code, to bring Base44 up to date. It compares the repository’s head with the last commit Base44 pulled, applies the diff to the app’s files, updates the app’s sandbox, and records the new head. With nothing new to apply it returns synced: false and already_up_to_date: true.
error: merge_conflict means the repository’s commits and the app’s own changes touch the same lines. Hand it to Resolve GitHub sync conflicts. sync_in_progress means another pull, or a builder turn, holds the app right now, so retry it. On any error Base44 leaves the commit it last pulled where it was, so the next pull starts over from the same place rather than skipping the commits that failed.
This endpoint allows 20 requests per minute per caller, shared with Resolve GitHub sync conflicts.
Authorizations
Personal API key.
Path Parameters
ID of the app whose GitHub sync this affects.
Response
The outcome of the pull.
Outcome of a pull from the connected repository.
Whether this call applied new commits to the app.
true
true when the repository's head was already the last commit Base44 pulled, so there was nothing to do.
false
How many commits commits holds, so commits Base44 pushed itself aren't counted. 0 when nothing was pulled.
2
Repository head after the pull, or null when nothing was pulled.
"4c7e1f90ab3d5628e1a0f7b24c9d8e6350a1b2c4"
The commits this call applied, oldest first. Commits Base44 pushed itself are left out, so a pull of only those comes back with an empty list.
Change counts for the pulled commits, or null when nothing was pulled.
Why the pull didn't happen, or null when it succeeded. One of not_connected, no_installation, sync_in_progress, connection_error, merge_conflict, sandbox_sync_failed, rate_limit_exceeded, rate_limit_low, github_api_error or unexpected_error.
"merge_conflict"
Human-readable explanation of error, or null when the pull succeeded.
"Merge conflict while applying the pulled commits"
How long the pull took, in milliseconds. null when Base44 recorded no duration for it.
4120