Skip to content

Ticketing tools

An alert is only useful if someone fixes it, and the people who fix things often work in another tool: Jira or GitLab for developers, GLPI or ServiceNow for the IT team. TechWatchAlert opens the ticket in that tool, with everything needed to act, then brings its status back into the case: no more double entry.

Tools are set up in the project settings, Integrations page, Ticketing tools section (project administrators). Tickets are part of case management (Pro plans and above).

Tool Where the ticket is created Status sync
Jira Cloud and Data Center The chosen Jira project (issue type and labels configurable) Signed webhook, and re-reads
GitLab (gitlab.com or your instance) The chosen project Signed webhook, and re-reads
GitHub and GitHub Enterprise The chosen repository Signed webhook, and re-reads
GLPI 9.5 to 11 Assistance › Tickets Re-reads
ServiceNow Incidents, or vulnerable items of the Vulnerability Response module Signed business rule, and re-reads
ConnectWise, Autotask, HaloPSA (partner space) The client’s company Re-reads

A project can have up to five tools: for example Jira for developers and GLPI for IT. One of them is the default tool: it is used by the Open a ticket button of the alert page when the project has only one, and by workflows that do not pick one.

  • On the alert page, when the project has several tools, the button becomes a menu: Open in IT GLPI, Open in Developers’ Jira…
  • The Create a ticket workflow tile has a Ticketing tool setting: the default tool, or the chosen one. A “CVE exploited on a workstation” workflow can open in GLPI, and a “repository dependency” workflow in GitHub.
  • There is still only one ticket per CVE and per project, whatever the tool: two tickets for the same flaw in two tools would be two truths contradicting each other in the case.
  1. Project settings › Integrations › Ticketing tools › Add a tool.
  2. Pick the tool and, if you wish, a display name (“IT GLPI”).
  3. Fill in the connection (address, target, credentials): see below for each tool. The Create this account in… walkthrough, folded under the form, lists the rights to grant.
  4. Set the ticket created (entity, category, group, type…) and the status sync.
  5. Test and save: the connection test checks, step by step, the settings, the tool’s answer, the account and access to the target, without creating anything in the tool. Nothing is saved if the test fails; the failing step gives the cause and the setting to fix.

Secrets (tokens, passwords, OAuth secrets) are encrypted and never shown again: a saved secret reads “Saved”, with Replace. Changing the tool’s address, the tool or the authentication mode requires entering the secrets again: a secret never follows to another destination.

Two ways to connect:

  • REST API (GLPI 9.5 to 11): like the GLPI inventory connector. In GLPI, Setup › General › API, enable the REST API and login with a token; create an API client (application token) if your instance requires it; on a dedicated account, generate the API token in its preferences.
  • High-level API (GLPI 11): in Setup › OAuth, create a client allowed to use the “password” grant and the “api” scope, then a service account. Enter the client, its secret, the account and its password.

The account’s profile must be able to create tickets, followups and solutions in the chosen entity.

The ticket is created in Assistance › Tickets, with, if you set them: the entity, the ITIL category, the requester, the assigned group (numeric IDs, visible in the address of their GLPI page) and the type (incident or request).

Each ticket carries the title “[Sécurité] CVE… · product — severity”, the severity and CVSS, EPSS, exploitation (KEV, EUVD, CERT-FR, public exploit), the component, the fixed versions, the description, a to-do list and a link to the alert in TechWatchAlert.

For GLPI and ServiceNow, urgency, impact and priority follow the case decision (BOD 26-04 / SSVC tier, see Handling an alert):

Case decision GLPI: urgency / priority ServiceNow: urgency
Fix within 3 days, with forensic triage Very high / Major 1 – High
Fix within 3 days Very high / Very high 1 – High
Fix within 14 days High / High 2 – Medium
Fix within 60 days Medium / Medium 2 – Medium
Deferred Low / Low 3 – Low

Impact is high when the attacker gains full control, medium when the component is exposed to the Internet, low otherwise. ServiceNow then computes the priority with its own matrix.

The ticket status comes back into TechWatchAlert, reduced to four states: open, in progress, resolved, rejected (“Won’t fix”, “not planned”, cancelled, risk accepted…). It arrives through a signed webhook as soon as the tool sends it (Jira, GitHub, GitLab, ServiceNow), and through regular re-reads otherwise (GLPI, PSA tools), or as a safety net if a webhook gets lost. The tool’s rate limits are respected: the re-read waits and resumes later.

Each change adds a line to the case history, and:

  • Ticket resolved: the open case moves to “Resolved”, as if a member had set it. If a machine in the fleet still carries the vulnerability, it stays awaiting verification by the inventory; it only becomes “Resolved, verified” when the inventory sees it, and goes back to “Remediating” if nothing changes. A closed ticket never counts as verification.
  • Ticket rejected: a comment, and the page suggests declaring an exception (Mitigated, Risk accepted or Not applicable). The case is not closed: not fixing is a decision that must be documented.
  • Open, in progress, reopened: a comment only.

The alert page shows, under Fix, the ticket, its status in the tool, when it changed there and the last read, with Read now (Analyst and above).

The other way round, when a case becomes “Resolved, verified”, TechWatchAlert comments on the ticket once. With the Close the ticket once the fix is verified option (off by default), it also closes it: transition to “Done” in Jira, issue closed in GitHub and GitLab, solution added in GLPI (the requester approves the closure), incident resolved in ServiceNow with the configured resolution code. A ticket covering several CVEs (remediation action ticket) waits until all of them are verified. Vulnerability Response items are never closed from here: the module closes them on its own detection.

In the tool’s page, Create the address and secret gives the address to call and the signing secret. The secret is shown only once; Renew the secret makes the old one unusable, Turn off disables the address. Any call that is unsigned, wrongly signed, or about another project or repository than the tool’s is ignored.

  1. Jira › System settings › Webhooks › Create a webhook (Jira administrator).
  2. URL: the address given by TechWatchAlert. Secret: the signing secret.
  3. Events: “Issue” › updated (and created). Suggested JQL filter: project = SEC.
  4. Save. Jira signs each call (X-Hub-Signature header).
Action Project role
See the tools, an alert’s ticket and its status All members
Open a ticket, re-read its status Analyst and above
Add, edit, test, remove a tool; create or turn off the webhook Admin and Owner

Removing a tool does not delete tickets already opened: they stay linked to the alerts, but their status no longer comes back.