Skip to main content
Glama

Post build status to commit

gitlab_post_build_status_to_commit

Posts a build status to a specified GitLab commit, letting CI pipelines report success, failure, or pending states against the exact revision.

Instructions

Post build status to a commit.

Args: **kwargs: Additional parameters for the request.

Returns: Response: A wrapper containing the original response and a Commit model.

Raises: ParameterError: If invalid parameters are provided.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "gitlab_post_build_status_to_commit"
  }
}

Input Schema

NameRequiredDescriptionDefault
allNo
refNo
dataNo
lineNo
nameNo
noteNo
pageNo
pathNo
forceNo
sinceNo
stateNo
statsNo
untilNo
branchNo
actionsNo
contextNo
dry_runNo
messageNo
coverageNo
per_pageNo
ref_nameNo
user_idsNo
group_idsNo
line_typeNo
max_pagesNo
rule_typeNo
start_shaNo
project_idNo
target_urlNo
with_statsNo
author_nameNo
commit_hashNo
descriptionNo
pipeline_idNo
report_typeNo
author_emailNo
start_branchNo
start_projectNo
protected_branch_idsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changedv27.3.20
    • removedInput schema / properties / api_parameters
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "additionalProperties": true,
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • removedInput schema / properties / author_email / anyOf
      Removed value: -[
      -  {
      -    "format": "email",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / author_email / title
      Added value: +"Author Email"
    • changedInput schema / properties / page / default
      Previous value: -1New value: +null
    • changedInput schema / properties / per_page / default
      Previous value: -100New value: +null
    • addedInput schema / properties / project_id / default
      Added value: +null
    • removedInput schema / properties / target_url / anyOf
      Removed value: -[
      -  {
      -    "format": "uri",
      -    "maxLength": 2083,
      -    "minLength": 1,
      -    "type": "string"
      -  },
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / target_url / title
      Added value: +"Target Url"
    • removedInput schema / required
      Removed value: -[
      -  "project_id"
      -]
  2. First observedv27.3.13

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this a non-readonly, non-idempotent, open-world mutation, so the description needed to add specifics such as which fields a status post requires or what happens on repeat posts; it adds only boilerplate about a Response wrapper and a ParameterError. The one genuinely useful statement is that a Commit model is returned, but it is generic and does not explain the status object created.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is short, but it is an autogenerated docstring skeleton (Args/Returns/Raises) where the Args section conveys nothing and the Raises section describes a generic error. No sentence is actively harmful, but the space spent on kwargs and the error type does not earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 39-parameter mutation with no output schema and zero schema description coverage, the description leaves an agent unable to construct a valid call or predict effects. Essential context — required fields, status semantics, idempotency implications of re-posting — is entirely absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 39 parameters at 0% schema description coverage, the description is the only source of parameter meaning, and it reduces everything to '**kwargs: Additional parameters for the request.' It never mentions project_id, commit_hash, state, name, or target_url, so an agent cannot know which of the 39 fields are actually required for the call to succeed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Post build status to a commit'), which is enough to tell this apart from read-side siblings like gitlab_get_commit_statuses. It does not, however, distinguish it from other commit-mutating siblings (create_commit, cherry_pick_commit) or clarify what a 'build status' payload is.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance: no mention of CI pipelines, external CI systems, appropriate status values, permissions, or when to prefer an alternative. The agent must infer the entire usage scenario from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools