GitLab CI/CD merge_requests API

Operations related to merge requests

OpenAPI Specification

gitlab-ci-merge-requests-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: GitLab access_requests merge_requests API
  version: v4
  description: Operations related to access requests
host: gitlab.com
produces:
- application/json
tags:
- name: merge_requests
  description: Operations related to merge requests
paths:
  /api/v4/groups/{id}/merge_requests:
    get:
      summary: List group merge requests
      description: Get all merge requests for this group and its subgroups.
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the group owned by the authenticated user.
        type: string
        required: true
      - in: query
        name: author_id
        description: Returns merge requests created by the given user `id`. Mutually exclusive with `author_username`. Combine with `scope=all` or `scope=assigned_to_me`.
        type: integer
        format: int32
        required: false
      - in: query
        name: author_username
        description: Returns merge requests created by the given `username`. Mutually exclusive with `author_id`.
        type: string
        required: false
      - in: query
        name: assignee_id
        description: Returns merge requests assigned to the given user `id`. `None` returns unassigned merge requests. `Any` returns merge requests with an assignee.
        type: integer
        format: int32
        required: false
      - in: query
        name: assignee_username
        description: Returns merge requests created by the given `username`. Mutually exclusive with `author_id`.
        type: array
        items:
          type: string
        required: false
      - in: query
        name: reviewer_username
        description: Returns merge requests which have the user as a reviewer with the given `username`. `None` returns merge requests with no reviewers. `Any` returns merge requests with any reviewer. Mutually exclusive with `reviewer_id`. Introduced in GitLab 13.8.
        type: string
        required: false
      - in: query
        name: labels
        description: Returns merge requests matching a comma-separated list of labels. `None` lists all merge requests with no labels. `Any` lists all merge requests with at least one label. Predefined names are case-insensitive.
        type: array
        items:
          type: string
        required: false
      - in: query
        name: milestone
        description: Returns merge requests for a specific milestone. `None` returns merge requests with no milestone. `Any` returns merge requests that have an assigned milestone.
        type: string
        required: false
      - in: query
        name: my_reaction_emoji
        description: Returns merge requests reacted by the authenticated user by the given `emoji`. `None` returns issues not given a reaction. `Any` returns issues given at least one reaction.
        type: string
        required: false
      - in: query
        name: reviewer_id
        description: Returns merge requests which have the user as a reviewer with the given user `id`. `None` returns merge requests with no reviewers. `Any` returns merge requests with any reviewer. Mutually exclusive with `reviewer_username`.
        type: integer
        format: int32
        required: false
      - in: query
        name: state
        description: Returns `all` merge requests or just those that are `opened`, `closed`, `locked`, or `merged`.
        type: string
        default: all
        enum:
        - opened
        - closed
        - locked
        - merged
        - all
        required: false
      - in: query
        name: order_by
        description: Returns merge requests ordered by `created_at`, `label_priority`, `milestone_due`, `popularity`, `priority`, `title`, `updated_at` or `merged_at` fields. Introduced in GitLab 14.8.
        type: string
        default: created_at
        enum:
        - created_at
        - label_priority
        - milestone_due
        - popularity
        - priority
        - title
        - updated_at
        - merged_at
        required: false
      - in: query
        name: sort
        description: Returns merge requests sorted in `asc` or `desc` order.
        type: string
        default: desc
        enum:
        - asc
        - desc
        required: false
      - in: query
        name: with_labels_details
        description: 'If `true`, response returns more details for each label in labels field: `:name`,`:color`, `:description`, `:description_html`, `:text_color`'
        type: boolean
        default: false
        required: false
      - in: query
        name: with_merge_status_recheck
        description: If `true`, this projection requests (but does not guarantee) that the `merge_status` field be recalculated asynchronously. Introduced in GitLab 13.0.
        type: boolean
        default: false
        required: false
      - in: query
        name: created_after
        description: Returns merge requests created on or after the given time. Expected in ISO 8601 format.
        type: string
        format: date-time
        required: false
        example: '2019-03-15T08:00:00Z'
      - in: query
        name: created_before
        description: Returns merge requests created on or before the given time. Expected in ISO 8601 format.
        type: string
        format: date-time
        required: false
        example: '2019-03-15T08:00:00Z'
      - in: query
        name: updated_after
        description: Returns merge requests updated on or after the given time. Expected in ISO 8601 format.
        type: string
        format: date-time
        required: false
        example: '2019-03-15T08:00:00Z'
      - in: query
        name: updated_before
        description: Returns merge requests updated on or before the given time. Expected in ISO 8601 format.
        type: string
        format: date-time
        required: false
        example: '2019-03-15T08:00:00Z'
      - in: query
        name: view
        description: If simple, returns the `iid`, URL, title, description, and basic state of merge request
        type: string
        enum:
        - simple
        required: false
      - in: query
        name: scope
        description: 'Returns merge requests for the given scope: `created_by_me`, `assigned_to_me`, `reviews_for_me` or `all`'
        type: string
        enum:
        - created-by-me
        - assigned-to-me
        - created_by_me
        - assigned_to_me
        - reviews_for_me
        - all
        required: false
      - in: query
        name: source_branch
        description: Returns merge requests with the given source branch
        type: string
        required: false
      - in: query
        name: source_project_id
        description: Returns merge requests with the given source project id
        type: integer
        format: int32
        required: false
      - in: query
        name: target_branch
        description: Returns merge requests with the given target branch
        type: string
        required: false
      - in: query
        name: search
        description: Search merge requests against their `title` and `description`.
        type: string
        required: false
      - in: query
        name: in
        description: Modify the scope of the search attribute. `title`, `description`, or a string joining them with comma.
        type: string
        required: false
        example: title,description
      - in: query
        name: wip
        description: Deprecated. Use `draft` instead. Filter merge requests against their `wip` status. `yes` to return only draft merge requests, `no` to return non-draft merge requests.
        type: string
        enum:
        - 'yes'
        - 'no'
        required: false
      - in: query
        name: draft
        description: Filter merge requests against their `draft` status. `true` to return only draft merge requests, `false` to return non-draft merge requests.
        type: boolean
        required: false
      - in: query
        name: not[author_id]
        description: '`<Negated>` Returns merge requests created by the given user `id`. Mutually exclusive with `author_username`. Combine with `scope=all` or `scope=assigned_to_me`.'
        type: integer
        format: int32
        required: false
      - in: query
        name: not[author_username]
        description: '`<Negated>` Returns merge requests created by the given `username`. Mutually exclusive with `author_id`.'
        type: string
        required: false
      - in: query
        name: not[assignee_id]
        description: '`<Negated>` Returns merge requests assigned to the given user `id`. `None` returns unassigned merge requests. `Any` returns merge requests with an assignee.'
        type: integer
        format: int32
        required: false
      - in: query
        name: not[assignee_username]
        description: '`<Negated>` Returns merge requests created by the given `username`. Mutually exclusive with `author_id`.'
        type: array
        items:
          type: string
        required: false
      - in: query
        name: not[reviewer_username]
        description: '`<Negated>` Returns merge requests which have the user as a reviewer with the given `username`. `None` returns merge requests with no reviewers. `Any` returns merge requests with any reviewer. Mutually exclusive with `reviewer_id`. Introduced in GitLab 13.8.'
        type: string
        required: false
      - in: query
        name: not[labels]
        description: '`<Negated>` Returns merge requests matching a comma-separated list of labels. `None` lists all merge requests with no labels. `Any` lists all merge requests with at least one label. Predefined names are case-insensitive.'
        type: array
        items:
          type: string
        required: false
      - in: query
        name: not[milestone]
        description: '`<Negated>` Returns merge requests for a specific milestone. `None` returns merge requests with no milestone. `Any` returns merge requests that have an assigned milestone.'
        type: string
        required: false
      - in: query
        name: not[my_reaction_emoji]
        description: '`<Negated>` Returns merge requests reacted by the authenticated user by the given `emoji`. `None` returns issues not given a reaction. `Any` returns issues given at least one reaction.'
        type: string
        required: false
      - in: query
        name: not[reviewer_id]
        description: '`<Negated>` Returns merge requests which have the user as a reviewer with the given user `id`. `None` returns merge requests with no reviewers. `Any` returns merge requests with any reviewer. Mutually exclusive with `reviewer_username`.'
        type: integer
        format: int32
        required: false
      - in: query
        name: deployed_before
        description: Returns merge requests deployed before the given date/time. Expected in ISO 8601 format.
        type: string
        required: false
        example: '2019-03-15T08:00:00Z'
      - in: query
        name: deployed_after
        description: Returns merge requests deployed after the given date/time. Expected in ISO 8601 format
        type: string
        required: false
        example: '2019-03-15T08:00:00Z'
      - in: query
        name: environment
        description: Returns merge requests deployed to the given environment
        type: string
        required: false
        example: '2019-03-15T08:00:00Z'
      - in: query
        name: approved
        description: Filters merge requests by their `approved` status. `yes` returns only approved merge requests. `no` returns only non-approved merge requests.
        type: string
        enum:
        - 'yes'
        - 'no'
        required: false
      - in: query
        name: merge_user_id
        description: Returns merge requests which have been merged by the user with the given user `id`. Mutually exclusive with `merge_user_username`.
        type: integer
        format: int32
        required: false
      - in: query
        name: merge_user_username
        description: Returns merge requests which have been merged by the user with the given `username`. Mutually exclusive with `merge_user_id`.
        type: string
        required: false
      - in: query
        name: approver_ids
        description: Return merge requests which have specified the users with the given IDs as an individual approver
        type: string
        required: false
      - in: query
        name: approved_by_ids
        description: Return merge requests which have been approved by the specified users with the given IDs
        type: string
        required: false
      - in: query
        name: approved_by_usernames
        description: "Return merge requests which have been approved by the specified users with the given\n            usernames"
        type: string
        required: false
      - in: query
        name: page
        description: Current page number
        type: integer
        format: int32
        default: 1
        required: false
        example: 1
      - in: query
        name: per_page
        description: Number of items per page
        type: integer
        format: int32
        default: 20
        required: false
        example: 20
      - in: query
        name: non_archived
        description: Returns merge requests from non archived projects only.
        type: boolean
        default: true
        required: false
      responses:
        '200':
          description: List group merge requests
          schema:
            type: array
            items:
              $ref: '#/definitions/API_Entities_MergeRequestBasic'
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '422':
          description: Unprocessable entity
      tags:
      - merge_requests
      operationId: getApiV4GroupsIdMergeRequests
  /api/v4/projects/{id}/create_ci_config:
    post:
      summary: Create merge request for missing ci config in project
      description: Creates a merge request to add missing CI configuration
      produces:
      - application/json
      consumes:
      - application/json
      parameters:
      - in: path
        name: id
        type: integer
        format: int32
        required: true
      responses:
        '201':
          description: Create merge request for missing ci config in project
      tags:
      - merge_requests
      operationId: postApiV4ProjectsIdCreateCiConfig
  /api/v4/projects/{id}/merge_requests/{merge_request_iid}/time_estimate:
    post:
      summary: Set a time estimate for a merge_request
      description: Sets an estimated time of work for this merge_request.
      produces:
      - application/json
      consumes:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the project.
        type: string
        required: true
      - in: path
        name: merge_request_iid
        description: The internal ID of the merge_request.
        type: integer
        format: int32
        required: true
      - name: postApiV4ProjectsIdMergeRequestsMergeRequestIidTimeEstimate
        in: body
        required: true
        schema:
          $ref: '#/definitions/postApiV4ProjectsIdMergeRequestsMergeRequestIidTimeEstimate'
      responses:
        '201':
          description: Set a time estimate for a merge_request
          schema:
            $ref: '#/definitions/API_Entities_IssuableTimeStats'
        '401':
          description: Unauthorized
        '400':
          description: Bad request
        '404':
          description: Not found
      tags:
      - merge_requests
      operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidTimeEstimate
  /api/v4/projects/{id}/merge_requests/{merge_request_iid}/reset_time_estimate:
    post:
      summary: Reset the time estimate for a project merge_request
      description: Resets the estimated time for this merge_request to 0 seconds.
      produces:
      - application/json
      consumes:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the project.
        type: string
        required: true
      - in: path
        name: merge_request_iid
        description: The internal ID of the merge_request.
        type: integer
        format: int32
        required: true
      responses:
        '201':
          description: Reset the time estimate for a project merge_request
          schema:
            $ref: '#/definitions/API_Entities_IssuableTimeStats'
        '401':
          description: Unauthorized
        '404':
          description: Not found
      tags:
      - merge_requests
      operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidResetTimeEstimate
  /api/v4/projects/{id}/merge_requests/{merge_request_iid}/add_spent_time:
    post:
      summary: Add spent time for a merge_request
      description: Adds spent time for this merge_request.
      produces:
      - application/json
      consumes:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the project.
        type: string
        required: true
      - in: path
        name: merge_request_iid
        description: The internal ID of the merge_request.
        type: integer
        format: int32
        required: true
      - name: postApiV4ProjectsIdMergeRequestsMergeRequestIidAddSpentTime
        in: body
        required: true
        schema:
          $ref: '#/definitions/postApiV4ProjectsIdMergeRequestsMergeRequestIidAddSpentTime'
      responses:
        '201':
          description: Add spent time for a merge_request
          schema:
            $ref: '#/definitions/API_Entities_IssuableTimeStats'
        '401':
          description: Unauthorized
        '404':
          description: Not found
      tags:
      - merge_requests
      operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidAddSpentTime
  /api/v4/projects/{id}/merge_requests/{merge_request_iid}/reset_spent_time:
    post:
      summary: Reset spent time for a merge_request
      description: Resets the total spent time for this merge_request to 0 seconds.
      produces:
      - application/json
      consumes:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the project.
        type: string
        required: true
      - in: path
        name: merge_request_iid
        description: The internal ID of the merge_request
        type: integer
        format: int32
        required: true
      responses:
        '201':
          description: Reset spent time for a merge_request
          schema:
            $ref: '#/definitions/API_Entities_IssuableTimeStats'
        '401':
          description: Unauthorized
        '404':
          description: Not found
      tags:
      - merge_requests
      operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidResetSpentTime
  /api/v4/projects/{id}/merge_requests/{merge_request_iid}/time_stats:
    get:
      summary: Get time tracking stats
      description: Get time tracking stats
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the project.
        type: string
        required: true
      - in: path
        name: merge_request_iid
        description: The internal ID of the merge_request
        type: integer
        format: int32
        required: true
      responses:
        '200':
          description: Get time tracking stats
          schema:
            $ref: '#/definitions/API_Entities_IssuableTimeStats'
        '401':
          description: Unauthorized
        '404':
          description: Not found
      tags:
      - merge_requests
      operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidTimeStats
  /api/v4/projects/{id}/merge_requests:
    get:
      summary: List project merge requests
      description: Get all merge requests for this project.
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the project.
        type: string
        required: true
      - in: query
        name: author_id
        description: Returns merge requests created by the given user `id`. Mutually exclusive with `author_username`. Combine with `scope=all` or `scope=assigned_to_me`.
        type: integer
        format: int32
        required: false
      - in: query
        name: author_username
        description: Returns merge requests created by the given `username`. Mutually exclusive with `author_id`.
        type: string
        required: false
      - in: query
        name: assignee_id
        description: Returns merge requests assigned to the given user `id`. `None` returns unassigned merge requests. `Any` returns merge requests with an assignee.
        type: integer
        format: int32
        required: false
      - in: query
        name: assignee_username
        description: Returns merge requests created by the given `username`. Mutually exclusive with `author_id`.
        type: array
        items:
          type: string
        required: false
      - in: query
        name: reviewer_username
        description: Returns merge requests which have the user as a reviewer with the given `username`. `None` returns merge requests with no reviewers. `Any` returns merge requests with any reviewer. Mutually exclusive with `reviewer_id`. Introduced in GitLab 13.8.
        type: string
        required: false
      - in: query
        name: labels
        description: Returns merge requests matching a comma-separated list of labels. `None` lists all merge requests with no labels. `Any` lists all merge requests with at least one label. Predefined names are case-insensitive.
        type: array
        items:
          type: string
        required: false
      - in: query
        name: milestone
        description: Returns merge requests for a specific milestone. `None` returns merge requests with no milestone. `Any` returns merge requests that have an assigned milestone.
        type: string
        required: false
      - in: query
        name: my_reaction_emoji
        description: Returns merge requests reacted by the authenticated user by the given `emoji`. `None` returns issues not given a reaction. `Any` returns issues given at least one reaction.
        type: string
        required: false
      - in: query
        name: reviewer_id
        description: Returns merge requests which have the user as a reviewer with the given user `id`. `None` returns merge requests with no reviewers. `Any` returns merge requests with any reviewer. Mutually exclusive with `reviewer_username`.
        type: integer
        format: int32
        required: false
      - in: query
        name: state
        description: Returns `all` merge requests or just those that are `opened`, `closed`, `locked`, or `merged`.
        type: string
        default: all
        enum:
        - opened
        - closed
        - locked
        - merged
        - all
        required: false
      - in: query
        name: order_by
        description: Returns merge requests ordered by `created_at`, `label_priority`, `milestone_due`, `popularity`, `priority`, `title`, `updated_at` or `merged_at` fields. Introduced in GitLab 14.8.
        type: string
        default: created_at
        enum:
        - created_at
        - label_priority
        - milestone_due
        - popularity
        - priority
        - title
        - updated_at
        - merged_at
        required: false
      - in: query
        name: sort
        description: Returns merge requests sorted in `asc` or `desc` order.
        type: string
        default: desc
        enum:
        - asc
        - desc
        required: false
      - in: query
        name: with_labels_details
        description: 'If `true`, response returns more details for each label in labels field: `:name`,`:color`, `:description`, `:description_html`, `:text_color`'
        type: boolean
        default: false
        required: false
      - in: query
        name: with_merge_status_recheck
        description: If `true`, this projection requests (but does not guarantee) that the `merge_status` field be recalculated asynchronously. Introduced in GitLab 13.0.
        type: boolean
        default: false
        required: false
      - in: query
        name: created_after
        description: Returns merge requests created on or after the given time. Expected in ISO 8601 format.
        type: string
        format: date-time
        required: false
        example: '2019-03-15T08:00:00Z'
      - in: query
        name: created_before
        description: Returns merge requests created on or before the given time. Expected in ISO 8601 format.
        type: string
        format: date-time
        required: false
        example: '2019-03-15T08:00:00Z'
      - in: query
        name: updated_after
        description: Returns merge requests updated on or after the given time. Expected in ISO 8601 format.
        type: string
        format: date-time
        required: false
        example: '2019-03-15T08:00:00Z'
      - in: query
        name: updated_before
        description: Returns merge requests updated on or before the given time. Expected in ISO 8601 format.
        type: string
        format: date-time
        required: false
        example: '2019-03-15T08:00:00Z'
      - in: query
        name: view
        description: If simple, returns the `iid`, URL, title, description, and basic state of merge request
        type: string
        enum:
        - simple
        required: false
      - in: query
        name: scope
        description: 'Returns merge requests for the given scope: `created_by_me`, `assigned_to_me`, `reviews_for_me` or `all`'
        type: string
        enum:
        - created-by-me
        - assigned-to-me
        - created_by_me
        - assigned_to_me
        - reviews_for_me
        - all
        required: false
      - in: query
        name: source_branch
        description: Returns merge requests with the given source branch
        type: string
        required: false
      - in: query
        name: source_project_id
        description: Returns merge requests with the given source project id
        type: integer
        format: int32
        required: false
      - in: query
        name: target_branch
        description: Returns merge requests with the given target branch
        type: string
        required: false
      - in: query
        name: search
        description: Search merge requests against their `title` and `description`.
        type: string
        required: false
      - in: query
        name: in
        description: Modify the scope of the search attribute. `title`, `description`, or a string joining them with comma.
        type: string
        required: false
        example: title,description
      - in: query
        name: wip
        description: Deprecated. Use `draft` instead. Filter merge requests against their `wip` status. `yes` to return only draft merge requests, `no` to return non-draft merge requests.
        type: string
        enum:
        - 'yes'
        - 'no'
        required: false
      - in: query
        name: draft
        description: Filter merge requests against their `draft` status. `true` to return only draft merge requests, `false` to return non-draft merge requests.
        type: boolean
        required: false
      - in: query
        name: not[author_id]
        description: '`<Negated>` Returns merge requests created by the given user `id`. Mutually exclusive with `author_username`. Combine with `scope=all` or `scope=assigned_to_me`.'
        type: integer
        format: int32
        required: false
      - in: query
        name: not[author_username]
        description: '`<Negated>` Returns merge requests created by the given `username`. Mutually exclusive with `author_id`.'
        type: string
        required: false
      - in: query
        name: not[assignee_id]
        description: '`<Negated>` Returns merge requests assigned to the given user `id`. `None` returns unassigned merge requests. `Any` returns merge requests with an assignee.'
        type: integer
        format: int32
        required: false
      - in: query
        name: not[assignee_username]
        description: '`<Negated>` Returns merge requests created by the given `username`. Mutually exclusive with `author_id`.'
        type: array
        items:
          type: string
        required: false
      - in: query
        name: not[reviewer_username]
        description: '`<Negated>` Returns merge requests which have the user as a reviewer with the given `username`. `None` returns merge requests with no reviewers. `Any` returns merge requests with any reviewer. Mutually exclusive with `reviewer_id`. Introduced in GitLab 13.8.'
        type: string
        required: false
      - in: query
        name: not[labels]
        description: '`<Negated>` Returns merge requests matching a comma-separated list of labels. `None` lists all merge requests with no labels. `Any` lists all merge requests with at least one label. Predefined names are case-insensitive.'
        type: array
        items:
          type: string
        required: false
      - in: query
        name: not[milestone]
        description: '`<Negated>` Returns merge requests for a specific milestone. `None` returns merge requests with no milestone. `Any` returns merge requests that have an assigned milestone.'
        type: string
        required: false
      - in: query
        name: not[my_reaction_emoji]
        description: '`<Negated>` Returns merge requests reacted by the authenticated user by the given `emoji`. `None` returns issues not given a reaction. `Any` returns issues given at least one reaction.'
        type: string
        required: false
      - in: query
        name: not[reviewer_id]
        description: '`<Negated>` Returns merge requests which have the user as a reviewer with the given user `id`. `None` returns merge requests with no reviewers. `Any` returns merge requests with any reviewer. Mutually exclusive with `reviewer_username`.'
        type: integer
        format: int32
        required: false
      - in: query
        name: deployed_before
        description: Returns merge requests deployed before the given date/time. Expected in ISO 8601 format.
        type: string
        required: false
        example: '2019-03-15T08:00:00Z'
      - in: query
        name: deployed_after
        description: Returns merge requests deployed after the given date/time. Expected in ISO 8601 format
        type: string
        required: false
        example: '2019-03-15T08:00:00Z'
      - in: query
        name: environment
        description: Returns merge requests deployed to the given environment
        type: string
        required: false
        example: '2019-03-15T08:00:00Z'
      - in: query
        name: approved
        description: Filters merge requests by their `approved` status. `yes` returns only approved merge requests. `no` returns only non-approved merge requests.
        type: string
        enum:
        - 'yes'
        - 'no'
        required: false
      - in: query
        name: merge_user_id
        description: Returns merge requests which have been merged by the user with the given user `id`. Mutually exclusive with `merge_user_username`.
        type: integer
        format: int32
        required: false
      - in: query
        name: merge_user_username
        description: Returns merge requests which have been merged by the user with the given `username`. Mutually exclusive with `merge_user_id`.
        type: string
        required: false
      - in: query
        name: approver_ids
        description: Return merge requests which have specified the users with the given IDs as an individual approver
        type: string
        required: false
      - in: query
        name: approved_by_ids
        description: Return merge requests which have been approved by the specified users with the given IDs
        type: string
        required: false
      - in: query
        name: approved_by_usernames
        description: "Return merge requests which have been approved by the specified users wi

# --- truncated at 32 KB (110 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gitlab-ci/refs/heads/main/openapi/gitlab-ci-merge-requests-api-openapi.yml