Skip to main content
Glama

Ticket Update

ticket_update

Update fields on an owned ticket — status moves (each one is auto-logged to the ticket's audit trail), reassignment, priority/effort/action_type recommendations, title/description edits, safe reparenting, opaque session/workflow links, effort points, order, and user-owned external refs. Clear flags are explicit so stdio clients never lose JSON nulls. System-owned provider, Accounting, plan, and batch refs are preserved and cannot be spoofed. The authenticated API-key UUID is stamped on the audit trail. Epic completion and terminal reopen fail closed on this generic tool until an explicit lifecycle operation supplies retry/version evidence.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleNo
effortNo
labelsNo
statusNoTask moves are audited. Epic done or terminal reopen requires an explicit lifecycle operation with retry/version evidence.
assigneeNo
priorityNo
parent_idNo
ticket_idYes
labels_addNo
session_idNo
action_typeNo
descriptionNo
order_indexNo
clear_parentNo
external_refNo
clear_sessionNo
effort_pointsNo
labels_removeNo
acceptance_criteriaNo
clear_effort_pointsNo
workflow_session_idNo
clear_workflow_sessionNo
expected_label_revisionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / expected_label_revision
      Added value: +{
      +  "maximum": 2147483647,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / labels_add
      Added value: +{
      +  "items": {
      +    "maxLength": 50,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 20,
      +  "type": "array"
      +}
    • addedInput schema / properties / labels_remove
      Added value: +{
      +  "items": {
      +    "maxLength": 50,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 20,
      +  "type": "array"
      +}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "text": {
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "text"
      -  ],
      -  "type": "object"
      -}New value: +null
  3. Changed1 schema field changed
    • addedInput schema / properties / status / description
      Added value: +"Task moves are audited. Epic done or terminal reopen requires an explicit lifecycle operation with retry/version evidence."
  4. Changed9 schema fields changed
    • addedInput schema / properties / clear_effort_points
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / clear_parent
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / clear_session
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / clear_workflow_session
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / effort_points
      Added value: +{
      +  "maximum": 1000000,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / external_ref
      Added value: +{
      +  "additionalProperties": {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  "maxProperties": 20,
      +  "propertyNames": {
      +    "maxLength": 40,
      +    "minLength": 1
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / parent_id
      Added value: +{
      +  "format": "uuid",
      +  "type": "string"
      +}
    • addedInput schema / properties / session_id
      Added value: +{
      +  "maxLength": 64,
      +  "type": "string"
      +}
    • addedInput schema / properties / workflow_session_id
      Added value: +{
      +  "maxLength": 64,
      +  "type": "string"
      +}
  5. Added
  6. Removed
  7. Added

TDQS

A4/5.0
Behavior5/5

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

Goes well beyond the annotations: status moves are auto-logged to an audit trail, system-owned provider/Accounting/plan/batch refs are preserved and cannot be spoofed, the API-key UUID is stamped on the trail, and epic-done/terminal-reopen fail closed. These are the exact side effects and failure modes an agent needs, and they are consistent with the destructive=false/idempotent=false hints.

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

Conciseness4/5

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

Front-loaded with the core purpose and packed into a few dense clauses with little waste. The enumeration of updatable fields is long but each item is meaningful; the audit/preservation/fail-closed facts are held to the end where they belong.

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

Completeness3/5

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

For a 23-parameter mutation tool with no output schema, the behavioral picture is strong, but the per-parameter documentation gap is real: concurrency tokens, label add/remove pairing, and ordering constraints are undocumented in both schema and description. Adequate on behavior, incomplete on invocation detail.

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

Parameters3/5

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

Schema description coverage is only 4% across 23 params, so the description has to compensate and partially does: it explains clear flags exist to preserve JSON nulls, distinguishes user-owned external refs from preserved system-owned refs, and calls session/workflow links opaque. However many params (expected_label_revision for optimistic concurrency, labels_add/remove semantics, order_index, acceptance_criteria) get no explanation beyond the schema.

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?

Opens with a specific verb+resource ('Update fields on an owned ticket') and enumerates the mutability surface (status, reassignment, priority/effort, title/description, reparenting, refs). It implicitly contrasts itself with lifecycle operations ('this generic tool'), which helps separate it from ticket_transition, though it never names the sibling directly.

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

Usage Guidelines4/5

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

Explicitly scopes out two cases ('Epic completion and terminal reopen fail closed on this generic tool until an explicit lifecycle operation supplies retry/version evidence'), steering the agent to a lifecycle tool for those. It also notes that clear flags exist for null-safety, but does not tell the agent when to prefer ticket_transition over this tool for ordinary status moves.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources