Skip to content
GitmoapAPIBeta
Trail · from Merge requests

Open, review and merge, end to end

In the sandbox — nothing leaves your browser.
  1. /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": ""
      }'
  2. /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": ""
      }'
  3. /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"
  4. /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"
  5. /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 request
step1=$(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 request
step2=$(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 request
step3=$(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 request
step4=$(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 request
step5=$(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 '{}')