Waiting for engine...
Skip to main content

Boomi Platform API Reference (1.0.0) - MergeRequest

Toggle Pane

Download OpenAPI Specification: Download

MergeRequest

You can use the Merge Request object to create and manage merge requests to merge changes in a development branch to another branch.

To enable fine-grained control over the merge process and facilitate efficient conflict resolution, you can now exclude specific components by using the excluded property in the MERGE REQUEST UPDATE and MERGE REQUEST EXECUTE APIs.

Creates a MergeRequest object

You can use the Merge Request object to merge a development branch into the main branch.

  • To create a merge request, you need the branch IDs for the source and destination branches. The source branch is the branch you want to merge into the destination branch.

  • There are two merge request strategies you can choose from: OVERRIDE or CONFLICT_RESOLVE. An override merge automatically resolves any merge conflicts by prioritizing the branch specified in the priorityBranch field. If you choose the CONFLICT_RESOLVE strategy, you have the opportunity to review any conflicts and choose which version you want to keep.

Authorizations:
basicAuth
Request Body schema:
optional
required
object (MergeRequestDetails)
createdBy
string

The user who created the merge request.

createdDate
string <date-time>

The date and time the merge request was created.

destinationBranchId
string

The ID of the destination branch.

destinationBranchName
string
id
string
inactiveDate
string <date-time>
lockNonce
integer <int64>
lockedBy
string
lockedDate
string <date-time>
mergeRequestAction
string
Enum: "UPDATE" "MERGE" "RETRY_DRAFTING" "REVERT"
modifiedBy
string

The user who last modified the merge request.

modifiedDate
string <date-time>

The date and time the merge request was last modified.

note
string
previousStage
string
Enum: "NOT_EXIST" "DRAFTING" "FAILED_TO_DRAFT" "FAILED_TO_REDRAFT" "DRAFTED" "REVIEWING" "MERGING" "MERGED" "FAILED_TO_MERGE" "DELETED" "REDRAFTING" "REVERTED"

The previous stage of the merge.

priorityBranch
string
Enum: "SOURCE" "DESTINATION"

The branch which should take priority in an override merge.

sourceBranchId
string

The ID of the source branch.

sourceBranchName
string
stage
string
Enum: "NOT_EXIST" "DRAFTING" "FAILED_TO_DRAFT" "FAILED_TO_REDRAFT" "DRAFTED" "REVIEWING" "MERGING" "MERGED" "FAILED_TO_MERGE" "DELETED" "REDRAFTING" "REVERTED"

The current stage of the merge.

strategy
string
Enum: "OVERRIDE" "CONFLICT_RESOLVE" "SUBSET"

The merge strategy.

Responses

Response Schema:
required
object (MergeRequestDetails)
createdBy
string

The user who created the merge request.

createdDate
string <date-time>

The date and time the merge request was created.

destinationBranchId
string

The ID of the destination branch.

destinationBranchName
string
id
string
inactiveDate
string <date-time>
lockNonce
integer <int64>
lockedBy
string
lockedDate
string <date-time>
mergeRequestAction
string
Enum: "UPDATE" "MERGE" "RETRY_DRAFTING" "REVERT"
modifiedBy
string

The user who last modified the merge request.

modifiedDate
string <date-time>

The date and time the merge request was last modified.

note
string
previousStage
string
Enum: "NOT_EXIST" "DRAFTING" "FAILED_TO_DRAFT" "FAILED_TO_REDRAFT" "DRAFTED" "REVIEWING" "MERGING" "MERGED" "FAILED_TO_MERGE" "DELETED" "REDRAFTING" "REVERTED"

The previous stage of the merge.

priorityBranch
string
Enum: "SOURCE" "DESTINATION"

The branch which should take priority in an override merge.

sourceBranchId
string

The ID of the source branch.

sourceBranchName
string
stage
string
Enum: "NOT_EXIST" "DRAFTING" "FAILED_TO_DRAFT" "FAILED_TO_REDRAFT" "DRAFTED" "REVIEWING" "MERGING" "MERGED" "FAILED_TO_MERGE" "DELETED" "REDRAFTING" "REVERTED"

The current stage of the merge.

strategy
string
Enum: "OVERRIDE" "CONFLICT_RESOLVE" "SUBSET"

The merge strategy.

Request samples

Content type
{
  • "sourceBranchId": "QjoyMDI1OTk",
  • "destinationBranchId": "QjoyMDI1OTg",
  • "strategy": "OVERRIDE",
  • "priorityBranch": "SOURCE"
}

Response samples

Content type
{
  • "@type": "MergeRequest",
  • "id": "TVI6NTB9",
  • "sourceBranchId": "QjoyMDI1OTk",
  • "sourceBranchName": "branch-1",
  • "destinationBranchId": "QjoyMDI1OTg",
  • "destinationBranchName": "main",
  • "strategy": "OVERRIDE",
  • "stage": "DRAFTING",
  • "priorityBranch": "SOURCE",
  • "previousStage": "NOT_EXIST",
  • "modifiedBy": "userboomi.com",
  • "modifiedDate": "2024-05-17T19:00:30Z",
  • "createdBy": "userboomi.com",
  • "createdDate": "2024-05-17T19:00:30Z"
}

Retrieves an instance of a MergeRequest object

Retrieve more information about the recently performed merge.

  • The resolution parameter is generated from the original merge request and specifies either the source branch for the final content for the merge or the destination. It can have the following values:

  • OVERRIDE: The source branch has taken priority

  • KEEP_DESTINATION: The destination branch has taken priority

  • The changeType parameter is generated from a branch diff that is performed on merge and can be one of the following values:

  • ADDED: A component was added to the source branch

  • MODIFIED: A component was modified in the source branch

  • DELETED: A component was deleted in the source branch

After performing a merge request between two branches, you can use the merge request’s ID to retrieve more information about the recently performed merge. The following example shows a merge between two branches where something was deleted in the source branch:

Send an HTTP GET to https://api.boomi.com/api/rest/v1/{accountId}/MergeRequest/{mergeRequestId} where {accountId} is the ID of the authenticating account and {mergeRequestId} is the ID of the merge request.

You can also use the GET operation to view a user's current working branch:

Send an HTTP GET to https://api.boomi.com/api/rest/v1/{accountId}/UserAccountProperty/defaultWorkingBranch where the {accountId} is the ID of the account for which you want to view the working branch.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the merge request.

Responses

Response Schema:
required
object (MergeRequestDetails)
createdBy
string

The user who created the merge request.

createdDate
string <date-time>

The date and time the merge request was created.

destinationBranchId
string

The ID of the destination branch.

destinationBranchName
string
id
string
inactiveDate
string <date-time>
lockNonce
integer <int64>
lockedBy
string
lockedDate
string <date-time>
mergeRequestAction
string
Enum: "UPDATE" "MERGE" "RETRY_DRAFTING" "REVERT"
modifiedBy
string

The user who last modified the merge request.

modifiedDate
string <date-time>

The date and time the merge request was last modified.

note
string
previousStage
string
Enum: "NOT_EXIST" "DRAFTING" "FAILED_TO_DRAFT" "FAILED_TO_REDRAFT" "DRAFTED" "REVIEWING" "MERGING" "MERGED" "FAILED_TO_MERGE" "DELETED" "REDRAFTING" "REVERTED"

The previous stage of the merge.

priorityBranch
string
Enum: "SOURCE" "DESTINATION"

The branch which should take priority in an override merge.

sourceBranchId
string

The ID of the source branch.

sourceBranchName
string
stage
string
Enum: "NOT_EXIST" "DRAFTING" "FAILED_TO_DRAFT" "FAILED_TO_REDRAFT" "DRAFTED" "REVIEWING" "MERGING" "MERGED" "FAILED_TO_MERGE" "DELETED" "REDRAFTING" "REVERTED"

The current stage of the merge.

strategy
string
Enum: "OVERRIDE" "CONFLICT_RESOLVE" "SUBSET"

The merge strategy.

Response samples

Content type
{
  • "UserAccountProperty": {
    • "propertyName": "defaultWorkingBranch",
    • "propertyValue": "QjoyMDI1OTk"
    }
}

Modifies or updates a MergeRequest object

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the merge request.

Request Body schema:
optional
required
object (MergeRequestDetails)
createdBy
string

The user who created the merge request.

createdDate
string <date-time>

The date and time the merge request was created.

destinationBranchId
string

The ID of the destination branch.

destinationBranchName
string
id
string
inactiveDate
string <date-time>
lockNonce
integer <int64>
lockedBy
string
lockedDate
string <date-time>
mergeRequestAction
string
Enum: "UPDATE" "MERGE" "RETRY_DRAFTING" "REVERT"
modifiedBy
string

The user who last modified the merge request.

modifiedDate
string <date-time>

The date and time the merge request was last modified.

note
string
previousStage
string
Enum: "NOT_EXIST" "DRAFTING" "FAILED_TO_DRAFT" "FAILED_TO_REDRAFT" "DRAFTED" "REVIEWING" "MERGING" "MERGED" "FAILED_TO_MERGE" "DELETED" "REDRAFTING" "REVERTED"

The previous stage of the merge.

priorityBranch
string
Enum: "SOURCE" "DESTINATION"

The branch which should take priority in an override merge.

sourceBranchId
string

The ID of the source branch.

sourceBranchName
string
stage
string
Enum: "NOT_EXIST" "DRAFTING" "FAILED_TO_DRAFT" "FAILED_TO_REDRAFT" "DRAFTED" "REVIEWING" "MERGING" "MERGED" "FAILED_TO_MERGE" "DELETED" "REDRAFTING" "REVERTED"

The current stage of the merge.

strategy
string
Enum: "OVERRIDE" "CONFLICT_RESOLVE" "SUBSET"

The merge strategy.

Responses

Response Schema:
required
object (MergeRequestDetails)
createdBy
string

The user who created the merge request.

createdDate
string <date-time>

The date and time the merge request was created.

destinationBranchId
string

The ID of the destination branch.

destinationBranchName
string
id
string
inactiveDate
string <date-time>
lockNonce
integer <int64>
lockedBy
string
lockedDate
string <date-time>
mergeRequestAction
string
Enum: "UPDATE" "MERGE" "RETRY_DRAFTING" "REVERT"
modifiedBy
string

The user who last modified the merge request.

modifiedDate
string <date-time>

The date and time the merge request was last modified.

note
string
previousStage
string
Enum: "NOT_EXIST" "DRAFTING" "FAILED_TO_DRAFT" "FAILED_TO_REDRAFT" "DRAFTED" "REVIEWING" "MERGING" "MERGED" "FAILED_TO_MERGE" "DELETED" "REDRAFTING" "REVERTED"

The previous stage of the merge.

priorityBranch
string
Enum: "SOURCE" "DESTINATION"

The branch which should take priority in an override merge.

sourceBranchId
string

The ID of the source branch.

sourceBranchName
string
stage
string
Enum: "NOT_EXIST" "DRAFTING" "FAILED_TO_DRAFT" "FAILED_TO_REDRAFT" "DRAFTED" "REVIEWING" "MERGING" "MERGED" "FAILED_TO_MERGE" "DELETED" "REDRAFTING" "REVERTED"

The current stage of the merge.

strategy
string
Enum: "OVERRIDE" "CONFLICT_RESOLVE" "SUBSET"

The merge strategy.

Request samples

Content type
{
  • "id": "TVI6NjY3",
  • "strategy": "CONFLICT_RESOLVE",
  • "MergeRequestDetails": {
    • "MergeRequestDetail": {
      }
    }
}

Response samples

Content type
{
  • "@type": "MergeRequest",
  • "id": "TVI6NjY3",
  • "sourceBranchId": "QjoxNTc",
  • "sourceBranchName": "feature-1",
  • "destinationBranchId": "Qjo4",
  • "destinationBranchName": "main",
  • "strategy": "CONFLICT_RESOLVE",
  • "stage": "REVIEWING",
  • "priorityBranch": "SOURCE",
  • "previousStage": "REVIEWING",
  • "modifiedBy": "userboomi.com",
  • "modifiedDate": "2024-09-12T13:35:58Z",
  • "createdBy": "userboomi.com",
  • "createdDate": "2024-09-12T13:35:17Z",
  • "lockedBy": "userboomi.com",
  • "lockedDate": "2024-09-12T13:35:57Z",
  • "lockNonce": "3891734813466242810",
  • "MergeRequestDetails": {
    • "MergeRequestDetail": {
      }
    }
}

Deletes a MergeRequest object

If you no longer need an open merge request, you can delete it using the DELETE operation. This action is permanant and the merge request cannot be restored.

Authorizations:
basicAuth
path Parameters
id
required
string

The ID of the merge request you want to delete.

Responses

Response samples

Content type
{
  • "message": "Access denied due to insufficient permissions."
}

Retrieves multiple MergeRequest objects by identifier

To learn more about bulk, refer to the topic Bulk GET operations.

Authorizations:
basicAuth
Request Body schema:
optional
Array of objects (BulkId)
type
string
Enum: "GET" "DELETE" "UPDATE" "CREATE"

Responses

Response Schema:
Array of objects
Array
required
object (MergeRequest)
index
integer <int32>
id
string
statusCode
integer <int32>
errorMessage
string

Request samples

Content type
{
  • "request": [
    • {
      }
    ],
  • "type": "GET"
}

Response samples

Content type
{
  • "response": [
    • {
      }
    ]
}

Executes an action on a MergeRequest object

  • These are the actions you can choose from when executing a merge request:
    • MERGE: Use to start or restart a merge request; the stage must be REVIEWING or FAILED_TO_MERGE
    • REVERT: Use to revert a merge request; the stage must be MERGED or DELETED and previousStage is MERGED
    • RETRY_DRAFTING: Use when the merge request stage is FAILED_TO_DRAFT or FAILED_TO_REDRAFT
  • If the merge is successful, the stage and/or previousStage might be in one of the following stages:
    • DRAFTING - The merge request is in the queue.
    • DRAFTED - The merge request is drafted for review.
    • REVIEWING - The merge request is being reviewed.
    • MERGING - The merge request is being processed.
    • MERGED - The merge request has successfully completed.
    • FAILED_TO_MERGE - The merge request failed to merge.
Authorizations:
basicAuth
path Parameters
id
required
string
Request Body schema:
optional
required
object (MergeRequestDetails)
createdBy
string

The user who created the merge request.

createdDate
string <date-time>

The date and time the merge request was created.

destinationBranchId
string

The ID of the destination branch.

destinationBranchName
string
id
string
inactiveDate
string <date-time>
lockNonce
integer <int64>
lockedBy
string
lockedDate
string <date-time>
mergeRequestAction
string
Enum: "UPDATE" "MERGE" "RETRY_DRAFTING" "REVERT"
modifiedBy
string

The user who last modified the merge request.

modifiedDate
string <date-time>

The date and time the merge request was last modified.

note
string
previousStage
string
Enum: "NOT_EXIST" "DRAFTING" "FAILED_TO_DRAFT" "FAILED_TO_REDRAFT" "DRAFTED" "REVIEWING" "MERGING" "MERGED" "FAILED_TO_MERGE" "DELETED" "REDRAFTING" "REVERTED"

The previous stage of the merge.

priorityBranch
string
Enum: "SOURCE" "DESTINATION"

The branch which should take priority in an override merge.

sourceBranchId
string

The ID of the source branch.

sourceBranchName
string
stage
string
Enum: "NOT_EXIST" "DRAFTING" "FAILED_TO_DRAFT" "FAILED_TO_REDRAFT" "DRAFTED" "REVIEWING" "MERGING" "MERGED" "FAILED_TO_MERGE" "DELETED" "REDRAFTING" "REVERTED"

The current stage of the merge.

strategy
string
Enum: "OVERRIDE" "CONFLICT_RESOLVE" "SUBSET"

The merge strategy.

Responses

Response Schema:
required
object (MergeRequestDetails)
createdBy
string

The user who created the merge request.

createdDate
string <date-time>

The date and time the merge request was created.

destinationBranchId
string

The ID of the destination branch.

destinationBranchName
string
id
string
inactiveDate
string <date-time>
lockNonce
integer <int64>
lockedBy
string
lockedDate
string <date-time>
mergeRequestAction
string
Enum: "UPDATE" "MERGE" "RETRY_DRAFTING" "REVERT"
modifiedBy
string

The user who last modified the merge request.

modifiedDate
string <date-time>

The date and time the merge request was last modified.

note
string
previousStage
string
Enum: "NOT_EXIST" "DRAFTING" "FAILED_TO_DRAFT" "FAILED_TO_REDRAFT" "DRAFTED" "REVIEWING" "MERGING" "MERGED" "FAILED_TO_MERGE" "DELETED" "REDRAFTING" "REVERTED"

The previous stage of the merge.

priorityBranch
string
Enum: "SOURCE" "DESTINATION"

The branch which should take priority in an override merge.

sourceBranchId
string

The ID of the source branch.

sourceBranchName
string
stage
string
Enum: "NOT_EXIST" "DRAFTING" "FAILED_TO_DRAFT" "FAILED_TO_REDRAFT" "DRAFTED" "REVIEWING" "MERGING" "MERGED" "FAILED_TO_MERGE" "DELETED" "REDRAFTING" "REVERTED"

The current stage of the merge.

strategy
string
Enum: "OVERRIDE" "CONFLICT_RESOLVE" "SUBSET"

The merge strategy.

Request samples

Content type
{
  • "id": "TVI6NTQ5",
  • "mergeRequestAction": "MERGE"
}

Response samples

Content type
{
  • "@type": "MergeRequest",
  • "id": "TVI6NTQ5",
  • "sourceBranchId": "QjoyMDI1OTk",
  • "sourceBranchName": "branch-1",
  • "destinationBranchId": "QjoyMDI1OTg",
  • "destinationBranchName": "main",
  • "strategy": "OVERRIDE",
  • "stage": "MERGING",
  • "priorityBranch": "DESTINATION",
  • "previousStage": "REVIEWING",
  • "modifiedBy": "anuja.vermaboomi.com",
  • "modifiedDate": "2024-09-24T13:15:27Z",
  • "createdBy": "userboomi.com",
  • "createdDate": "2024-09-24T05:36:59Z",
  • "MergeRequestDetails": {
    • "MergeRequestDetail": {
      }
    }
}

Queries for a MergeRequest object

  • You can query a branch to retrieve a list of all active merge request IDs.
    • You must include the destination or source branch as a parameter. Only EQUALS is allowed for these parameters.
  • Optional parameters include:
  • createdDate
  • createdBy
  • stage
  • modifiedDate
  • modifiedBy
  • You can use the queryMore request to return more than 100 results.

For more information about query filters, refer to Query filters.

Authorizations:
basicAuth
Request Body schema:
optional
required
object
required
MergeRequestSimpleExpression (object) or MergeRequestGroupingExpression (object) (MergeRequestExpression)
One of
operator
required
string
Enum: "EQUALS" "LIKE" "NOT_EQUALS" "IS_NULL" "IS_NOT_NULL" "BETWEEN" "GREATER_THAN" "GREATER_THAN_OR_EQUAL" "LESS_THAN" "LESS_THAN_OR_EQUAL" "CONTAINS" "NOT_CONTAINS"
property
required
string
argument
Array of strings

Responses

Response Schema:
numberOfResults
integer <int32>
queryToken
string

By default, the queryToken parameter is not available in the query response. It appears only when the query response contains more than 100 results. The maximum number of results returned per query is 100. To retrieve the next set of results, use the queryToken in the queryMore request.

Array of objects (MergeRequest)

Request samples

Content type
Example
{
  • "QueryFilter": {
    • "expression": {
      }
    }
}

Response samples

Content type
{
  • "@type": "QueryResult",
  • "result": [
    • {
      }
    ],
  • "numberOfResults": 1
}

Retrieves additional results for a MergeRequest query

To learn about using queryMore, refer to the topic Query paging.

Authorizations:
basicAuth
Request Body schema: text/plain
required
string

Responses

Response Schema:
numberOfResults
integer <int32>
queryToken
string

By default, the queryToken parameter is not available in the query response. It appears only when the query response contains more than 100 results. The maximum number of results returned per query is 100. To retrieve the next set of results, use the queryToken in the queryMore request.

Array of objects (MergeRequest)

Response samples

Content type
{
  • "numberOfResults": 0,
  • "queryToken": "string",
  • "result": [
    • {
      }
    ]
}