Merge PullRequest

Merges a pull request asynchronously. Poll operation status at the returned status_url.

Request

POST

https://api.sourcecraft.tech/repos/{org_slug}/{repo_slug}/pulls/{pull_request_slug}/merge

Path parameters

Name

Description

org_slug

Type: string

Example: ``

pull_request_slug

Type: string

Example: ``

repo_slug

Type: string

Example: ``

Query parameters

Name

Description

pull_request_id

Type: string

Example: ``

silent

Type: boolean

Body

application/json
{
  "rebase": true,
  "squash": true,
  "delete_branch": true,
  "force": true
}

Name

Description

delete_branch

Type: boolean

force

Type: boolean

rebase

Type: boolean

squash

Type: boolean

Responses

202 Accepted

A successful response.

Body

application/json
{
  "operation_id": "example",
  "status_url": "example",
  "status": "scheduled",
  "created_at": "2025-01-01T00:00:00Z",
  "modified_at": "2025-01-01T00:00:00Z",
  "response": {
    "merge_parameters": {
      "rebase": true,
      "squash": true,
      "delete_branch": true
    },
    "target_commit_hash": "example",
    "merge_commit_hash": "example"
  },
  "error": {
    "error_code": "example",
    "message": "example",
    "details": {}
  }
}

Name

Description

created_at

Type: string<date-time>

Example: 2025-01-01T00:00:00Z

error

Type: OperationError

Example
{
  "error_code": "example",
  "message": "example",
  "details": {}
}

modified_at

Type: string<date-time>

Example: 2025-01-01T00:00:00Z

operation_id

Type: string

Example: example

response

Type: MergePullRequestOperationResult

Example
{
  "merge_parameters": {
    "rebase": true,
    "squash": true,
    "delete_branch": true
  },
  "target_commit_hash": "example",
  "merge_commit_hash": "example"
}

status

Type: OperationStatus

Enum: scheduled, in_progress, success, failed, cancel

status_url

Type: string

Example: example

OperationStatus

Type: string

Enum: scheduled, in_progress, success, failed, cancel

MergeParameters

Name

Description

delete_branch

Type: boolean

rebase

Type: boolean

squash

Type: boolean

Example
{
  "rebase": true,
  "squash": true,
  "delete_branch": true
}

MergePullRequestOperationResult

Name

Description

merge_commit_hash

Type: string

Example: example

merge_parameters

Type: MergeParameters

Example
{
  "rebase": true,
  "squash": true,
  "delete_branch": true
}

target_commit_hash

Type: string

Example: example

Example
{
  "merge_parameters": {
    "rebase": true,
    "squash": true,
    "delete_branch": true
  },
  "target_commit_hash": "example",
  "merge_commit_hash": "example"
}

OperationError

Name

Description

details

Type: Optional details. Exact structure depends on error_code

[additional]

Type: string

Example: example

Example
{}

error_code

Type: string

Example: example

message

Type: string

Example: example

Example
{
  "error_code": "example",
  "message": "example",
  "details": {}
}

default

Both Client Errors (4xx) and Server Errors (5xx) are serialized into this scheme

Body

application/json
{
  "error_code": "example",
  "message": "example",
  "request_id": "example",
  "details": {}
}

Name

Description

details

Type: Optional details. Exact structure depends on error_code

[additional]

Type: string

Example: example

Example
{}

error_code

Type: string

Example: example

message

Type: string

Example: example

request_id

Type: string

Example: example

Предыдущая
Следующая