Open, review and merge, end to end
In the sandbox — nothing leaves your browser.
- /repositories/{repo_id}/merge-requests
curl -X POST "/repositories//merge-requests" \ -H "Authorization: Bearer $GITMOAP_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "source_branch": "", "target_branch": "", "title": "" }' - /repositories/{repo_id}/merge-requests/{mr_id}/reviewers
- repo_id ↳ from step 1 · repository_id
- mr_id ↳ from step 1 · merge_request_id
curl -X POST "/repositories//merge-requests//reviewers" \ -H "Authorization: Bearer $GITMOAP_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "reviewer_id": "" }' - /repositories/{repo_id}/merge-requests/{mr_id}/approve
- repo_id ↳ from step 1 · repository_id
- mr_id ↳ from step 1 · merge_request_id
curl -X POST "/repositories//merge-requests//approve" \ -H "Authorization: Bearer $GITMOAP_TOKEN" - /repositories/{repo_id}/merge-requests/{mr_id}/merge-check
- repo_id ↳ from step 1 · repository_id
- mr_id ↳ from step 1 · merge_request_id
curl "/repositories//merge-requests//merge-check" \ -H "Authorization: Bearer $GITMOAP_TOKEN" - /repositories/{repo_id}/merge-requests/{mr_id}/merge
- repo_id ↳ from step 1 · repository_id
- mr_id ↳ from step 1 · merge_request_id
curl -X POST "/repositories//merge-requests//merge" \ -H "Authorization: Bearer $GITMOAP_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
As a shell script
trail.shsh
#!/bin/sh# Open, review and merge, end to end — from Merge requests. Generated by the Gitmoap API reference.set -eu: "${GITMOAP_TOKEN:?export GITMOAP_TOKEN first}" # 1. Create a merge requeststep1=$(curl -fsS -X POST "https://api.gitmoap.com/repositories/5b0e7c2a-9d14-4e8b-a6f1-2c3d4e5f6a70/merge-requests" \ -H "Authorization: Bearer $GITMOAP_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "source_branch": "fix/payload-build-pin", "target_branch": "main", "title": "Stream pipeline status into the run header" }')step1_repository_id=$(printf '%s' "$step1" | jq -r '.repository_id')step1_merge_request_id=$(printf '%s' "$step1" | jq -r '.merge_request_id')# 2. Add a reviewer to a merge requeststep2=$(curl -fsS -X POST "https://api.gitmoap.com/repositories/$step1_repository_id/merge-requests/$step1_merge_request_id/reviewers" \ -H "Authorization: Bearer $GITMOAP_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "reviewer_id": "a3f1c2d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d" }')# 3. Approve a merge requeststep3=$(curl -fsS -X POST "https://api.gitmoap.com/repositories/$step1_repository_id/merge-requests/$step1_merge_request_id/approve" \ -H "Authorization: Bearer $GITMOAP_TOKEN")# 4. Check merge status for a merge requeststep4=$(curl -fsS "https://api.gitmoap.com/repositories/$step1_repository_id/merge-requests/$step1_merge_request_id/merge-check" \ -H "Authorization: Bearer $GITMOAP_TOKEN")# 5. Merge a merge requeststep5=$(curl -fsS -X POST "https://api.gitmoap.com/repositories/$step1_repository_id/merge-requests/$step1_merge_request_id/merge" \ -H "Authorization: Bearer $GITMOAP_TOKEN" \ -H "Content-Type: application/json" \ -d '{}')