Internal · xops.io

GitHub → HELP status notices

writes gated

Tells the HELP ticket when its engineering issue reaches Pending Validation, Done or Cancelled — so a finished fix does not sit unconfirmed, and a closure or a cancellation does not leave the ticket open forever.

Jira Service ManagementGitHub
State what it is doing right now
Running
Environment
Cadence
Last rannever
Scope

What sets it off

A GitHub webhook, within seconds of a Project 23 status change. Also swept on each full sync, three times a day, so a missed webhook still gets caught.

Reads

  • GitHub issues
  • Project 23 items
  • HELP tickets

Writes

  • An internal comment on the HELP ticket
  • A row in escalation_sync_log, so the same notice is never repeated

Limited to

  • Only the statuses ticked on the Config tab — Pending Validation, Done and Cancelled by default
  • Only statuses this automation has wording for; a closure is never announced as a validation request
  • Comments are internal, never visible on the customer portal
  • Only customers on the allowlist, and only ones marked internal
  • Once per ticket per status — a ticket told about Pending Validation can still be told about Cancelled
  • 25 comments per run, so a first run against a backlog cannot exhaust the request budget

Will not do yet

  • Customer comments crossing into GitHub — needs a trigger from Raaj, and must be a PII-stripped summary
  • Any write into GitHub — the Worker cannot reach it
  • Nobody is @-mentioned. The wording supports naming the assignee, but no caller passes one, so today every comment is unaddressed
  • The dry run omits the quoted engineering comment, because it does not call GitHub. A real comment carries one; the rehearsal does not
Actions
This shows the internal note it would post on each HELP ticket, and which tickets the customer allowlist would refuse. Nothing is written. One difference from a real post: the rehearsal does not call GitHub, so the quoted engineering comment is missing here but would be present in the real note. Run now writes, so it stays disabled until the automation is enabled and the environment allows it.