infra-work-ticketing

Creates and updates infrastructure work tickets in Zoho ServiceDesk Plus or Jira Cloud.

2|Updated Jul 28, 2026
One-click install
npx skills add https://github.com/mbadali25/useful-claude-add-ons --skill infra-work-ticketing-mbadali25
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: infra-work-ticketing
Source: https://github.com/mbadali25/useful-claude-add-ons/tree/main/skills/infra-work-ticketing
Command: npx skills add https://github.com/mbadali25/useful-claude-add-ons --skill infra-work-ticketing-mbadali25

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Infrastructure work done without a ticket is invisible to audits, handoffs, and post-incident reconstruction. This Skill ensures every real change to servers, cloud resources, networks, or databases gets a ticket and running work notes in Zoho ServiceDesk Plus Cloud or Jira Cloud, captured while the details are still fresh. ## Core Features & Use Cases - Ticket lifecycle management: Verify existing tickets, search for duplicates, create new tickets with inferred titles and descriptions, add timestamped work notes, update status and category, and close tickets with closure comments. - Dual transport with automatic fallback: Prefers the ServiceDesk Plus MCP connector (which attributes writes to the signed-in user) and falls back to the bundled ticketctl.py CLI, which is also the only path to Jira and email notifications. - Secret scrubbing and failure recovery: Automatically redacts credentials, tokens, and keys from note text before writing, and queues failed writes locally for later retry so no record is lost. - Use Case: While diagnosing why DC02 is refusing LDAP binds, the assistant asks once whether you have a ticket, opens one titled "DC02 - LDAP binds failing after July patch cycle", logs each finding as an internal note, and closes the ticket with a verification summary when the fix is confirmed. ## Quick Start Ask the assistant to open a ticket for the server work you are about to do and log progress notes to it as you go.

Frequently Asked Questions about infra-work-ticketing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I log infrastructure work to a Jira or ServiceDesk Plus ticket?

Run the ticketctl.py CLI with commands like create, note, update, and close, passing the ticket ID and a body file. In Claude Code, the sdp_* MCP tools are preferred for ServiceDesk Plus, with ticketctl.py as the fallback and the only path to Jira.

What is the difference between the SDP MCP connector and ticketctl.py?

The MCP connector acts as the signed-in user, so ServiceDesk Plus audit trails name that person, and it is the default path. ticketctl.py uses its own stored credentials and remains the only route to Jira and to email notifications.

Does ticketctl.py work on both Windows and Linux?

Yes, ticketctl.py is standard-library-only Python 3.8+ and behaves identically on Windows and Linux. The main difference is shell syntax, which is why multi-line note text should be passed via --body-file rather than as an argument.

Why did my ServiceDesk Plus create or note command return a 401?

A 401 on writes with passing reads usually means the Zoho refresh token was granted read-only scopes. Regenerate the grant code with SDPOnDemand.requests.ALL, exchange it with zoho-token, then run retry to replay queued writes.

How does the skill prevent secrets from being written into tickets?

ticketctl.py automatically redacts private keys, AWS keys, bearer tokens, passwords, and credentials in URLs before sending any note. When writing through the MCP server, which has no scrubber, you must run redact-check --emit first and send the cleaned output.

What happens when a ticket write fails because the service desk is down?

ticketctl.py appends the failed payload to a local pending queue instead of losing it, and also records everything in a local worklog. Run ticketctl.py retry after the problem is fixed to flush the queued writes.