Approve and Merge a GitLab Merge Request on Android

Gitalchemy Team5 min read

You can approve and merge a GitLab merge request from an Android phone with GitAlchemy, a free open source client. Open the merge request and scroll to the readiness panel. It shows the approvals, the pipeline and any blockers, and it holds the Approve and Merge buttons. GitLab itself has no official mobile app, and its own tracker lists the approvals section as hard to use on small screens, so a client made for the phone helps.

A merge request in GitAlchemy with its approvals, pipeline status and the Approve and Merge buttons in the readiness panel

Steps

  1. Open the merge request from the MRs tab or from a project. A to-do notification opens it directly.
  2. Scroll to the readiness panel under the tabs. Its headline reads Ready to merge or Merge blocked.
  3. Read the approvals line. It shows how many approvals the merge request has and how many it needs. A project that does not require approvals says so.
  4. Read the pipeline line. Merge on a passing pipeline. If it failed, open the job log first.
  5. Read the Merge blockers section. It lists every reason the merge cannot happen yet, for example that the merge request is still a draft or has conflicts, or says that no blockers were detected.
  6. Tap Approve. The button is disabled when GitLab says you cannot approve this merge request. After you approve, it turns into Unapprove, which takes your approval back.
  7. Behind the target branch? Open the arrow next to Merge and choose Rebase source branch. Wait for the new pipeline before you merge.
  8. Choose the merge options. Tick Delete source branch, Squash commits or Edit commit message as you need.
  9. Tap Merge. The button stays disabled, with the hint to resolve the blockers first, until GitLab accepts the merge.

What the readiness panel tells you

The panel mirrors what GitLab reports about the merge request, so the app does not guess. A draft, a conflict, an unresolved merge status or a failed approval rule all appear as blockers. If the panel says Ready to merge, GitLab agrees. If it says Merge blocked, fix the listed blocker and the panel updates.

A tip: approving is not merging

Approve records your approval and nothing else. On teams that need two approvals, approve from the phone, then let the other reviewer approve, then merge. Rebase is its own step. It changes the source branch, so the pipeline runs again, and you should not merge on the result of the old pipeline.

Limits

  • You cannot resolve merge conflicts in the app. A conflicted merge request shows as blocked, and the fix happens on the branch.
  • The app shows what GitLab allows for your role. If you cannot approve your own merge request or lack merge rights, the button is disabled and the app does not work around it.
  • Merging needs a token with the api scope, since it writes to GitLab, and read_api is not enough. See signing in with a personal access token.

This is one step of the GitAlchemy for Android walkthrough. Before you approve, review the diff on your phone. If a pipeline needs another run, see how to retry or cancel a pipeline.

FAQ

Does the To-Do badge update after I approve or merge?

Yes. The badge updates as soon as you merge, close, approve, comment on or edit an item, since GitLab marks the matching to-dos done by itself.

Can I merge from a phone safely?

The same GitLab rules apply as in the browser. Approvals, required pipelines and protected branches are enforced by GitLab, not by the app.