- NEW_VULNERABILITY: a new vulnerability was found on a component
- NEW_VULNERABLE_DEPENDENCY: a project took on a dependency with known vulnerabilities
- POLICY_VIOLATION: a component violates a policy
In Flashduty On-call
You can get the integration push URL in either of the following ways.
Use a dedicated integration
- In the Flashduty console, go to Channels and open a channel
- Select Configuration → Integrations → Private integration, then click Add an integration
- Select Dependency-Track and click Save
- Open the new integration card and copy the push URL
Use a shared integration
- In the Flashduty console, go to Integration Center → Alert Events
- Select Dependency-Track and enter an integration name
- Configure the default route and pick a channel; add more rules under Routes later
- Click Save and copy the generated push URL
In Dependency-Track
1
Create a notification rule
- Log in to Dependency-Track with an account that has the
SYSTEM_CONFIGURATIONpermission and go to Administration → Notifications → Alerts - Click Create Alert, enter a name, set Scope to Portfolio, Notification level to Informational and Publisher to Outbound Webhook, then click Create
2
Select the groups and the push URL
- Open the new rule and select only NEW_VULNERABILITY, NEW_VULNERABLE_DEPENDENCY and POLICY_VIOLATION in the groups list
- Paste the full Flashduty push URL into Destination
- To cover only some projects, expand Limit To and choose projects or tags
- Save the rule and keep it enabled
Content-Type: application/json. Do not edit the template: Flashduty parses the fields of the default template, and rejects the request when the uuid of the project, component or vulnerability is missing.3
Verify
- On the rule page, click the test button. Flashduty returns success and creates one Info test alert for each of the three groups you selected (the title starts with
Dependency-Track test notification). Close them manually. Every click creates new test alerts - Upload an SBOM (BOM) that contains a component with a known vulnerability, or start an analysis of a project, and confirm that Flashduty receives the matching alert
Alert Key
Flashduty builds the Alert Key from the
uuid values in the notification, joined with an invisible separator and hashed with MD5:
- Two different vulnerabilities on one component of one project are two alerts; one vulnerability in two projects is also two alerts
- A 4.x NEW_VULNERABILITY notification can list several projects in
affectedProjects; Flashduty creates one alert per project - A NEW_VULNERABLE_DEPENDENCY notification may list several vulnerabilities and still becomes one alert; the vulnerability list is not part of the Alert Key
- Changes to the severity, title, project and component names and versions, the notification
idand the timestamp never change the Alert Key - When the
uuidof the project, component, vulnerability or policy violation is missing, Flashduty returns 400 and names the missing field
Status and severity
NEW_VULNERABILITY uses
subject.vulnerability.severity; NEW_VULNERABLE_DEPENDENCY uses the most severe of its vulnerabilities:
POLICY_VIOLATION carries no vulnerability, so the policy’s violation state decides:
Alerts do not recover automatically
Dependency-Track notifies once per problem and has no “vulnerability fixed” or “violation cleared” notification, so every alert stays open until it is closed. In the channel that receives this integration, turn on auto-close after timeout and set it to how quickly your team handles vulnerabilities, for example 7 days. A repeated notification for the same problem (for example the same vulnerability found again after a re-analysis) merges into the alert that is still open; if that alert was closed, a new alert is created.
Alert content
- Title:
Dependency-Track: <vulnerability ID> in <component> (<project>)for NEW_VULNERABILITY;Dependency-Track: vulnerable dependency <component> in <project> (<N> vulnerabilities)for NEW_VULNERABLE_DEPENDENCY;Dependency-Track: policy violation <policy name> on <component> (<project>)for POLICY_VIOLATION - Description: the notification content, the project and component, and each vulnerability’s source, severity, CVSS scores, aliases and recommendation (at most 10 vulnerabilities for a vulnerable dependency, most severe first); for a policy violation, the policy, violation type and condition
- Labels:
source=dependency_track,group,project_uuid,project_name,project_version,component_uuid,component_group,component_name,component_version,component_purl,vuln_id,vuln_source,vuln_uuid,vuln_severity,vuln_count,vuln_ids,policy_name,violation_type,violation_state,violation_uuid
Troubleshooting
The rule is saved but Flashduty receives no request
The rule is saved but Flashduty receives no request
Confirm that the rule is enabled and that Notification level is Informational. If Limit To restricts the rule to projects or tags, only those projects send notifications. When delivery fails, Dependency-Track logs a WARN or ERROR in the apiserver log; you can also turn on the INFO log for successful deliveries in the rule to check.
Flashduty returns 400
Flashduty returns 400
The request lacks the
uuid of the project, component, vulnerability or policy violation, and the response names the field. This usually means the Outbound Webhook default template was edited; restore the default template.I selected PROJECT_AUDIT_CHANGE but no alert appears
I selected PROJECT_AUDIT_CHANGE but no alert appears
Audit changes (analysis state, suppression), BOM upload and processing, new projects, user and system notifications, and the scheduled summaries (NEW_VULNERABILITIES_SUMMARY, NEW_POLICY_VIOLATIONS_SUMMARY) are not single newly found problems, so Flashduty accepts and ignores them. Marking a finding as a false positive or suppressing it in Dependency-Track does not close its alert; use auto-close after timeout or close it manually.