Git integration
Default branch becomes locked
When connected to a git repository, the default branch becomes read-only. You have to create branches to make changes and apply them via pull-requests. The default branch is automatically up-to-date with merges happening on the git repository.
Backlight.dev offers Git integrations to four different providers:
Set-up
You can use any of these providers to create a repository and Backlight.dev will complete the set-up upon creation, either via registering webhooks on your repository, or via the provider's app installation (i.e. Github).
Token usage
We have defined and set up different OAuth clients for each provider in Backlight.dev.
Backlight.dev uses each of these Oauth integrations to retrieve, generate and refresh tokens, in order to accomplish tasks on your behalf.
For Github: Backlight.dev uses the Github app's token.
You can revoke tokens at anytime, Backlight.dev will try to refresh with your authenticated user.
Git usage
Backlight.dev uses integrations as bare Git client, allowing you to:
- Push a commit to a remote repository
- Pull a branch from a remote repository
- Hard reset of a branch from a remote repository
API Provider usage
- List repositories for a specific provider
- Get username of the user within a provider
- Create and update a Pull/Merge request based on a commit
Events usage
After correctly setting up your repository, Backlight.dev will automatically register webhooks (or application events for Github), in order to be notified of certain events.
Specifically, Backlight.dev will listen for:
- Merge events
- Pull/Merge request events
Merge events
Backlight.dev uses these events to keep your default branch up-to-date in Backlight.dev.
It will also allow you to:
- Keep track of the baseline when you need to create a new branch inside Backlight.dev
- Keep track of the baseline for visual screenshots
Once Backlight.dev receives a merge event
from the configured Git provider on the default branch, Backlight.dev captures the sha
of the default branch and Backlight.dev stores it, to be able to later fetch the default branch in c
Pull/Merge request events
Backlight.dev uses every create
, update
and delete
events to populate the list of the Pull/Merge requests available inside Backlight.dev.