fix(jira): correct Data Sensitivity field ID and replicate Jira's real classification scheme
Aegis CI / lint-and-test (push) Has been cancelled
Snyk Security Scan / Python vulnerabilities (backend) (push) Has been cancelled
Snyk Security Scan / npm vulnerabilities (frontend) (push) Has been cancelled
Snyk Security Scan / Docker image vulnerabilities (backend) (push) Has been cancelled
Aegis CI / lint-and-test (push) Has been cancelled
Snyk Security Scan / Python vulnerabilities (backend) (push) Has been cancelled
Snyk Security Scan / npm vulnerabilities (frontend) (push) Has been cancelled
Snyk Security Scan / Docker image vulnerabilities (backend) (push) Has been cancelled
The auto-create-ticket call was sending customfield_11233 (a field that doesn't exist in the project) instead of the real Data Sensitivity field customfield_11814, which made Jira reject the WHOLE issue and silently block ticket creation for every new test. Also replaces Aegis's invented 4-tier data_classification scheme (public_release/general_use/confidential/restricted) with the 6 values Jira's Data Sensitivity field actually uses (public/general_use/ internal_use_only/trusted_people/customer_content/pii), since that is the classification the organization actually applies. Includes a data migration remapping existing rows and a defensive retry if Jira ever rejects an unscreened custom field again.
This commit is contained in:
@@ -5,10 +5,12 @@ import type { DataClassification } from "../../types/models";
|
||||
// ── Options ────────────────────────────────────────────────────────
|
||||
|
||||
const CLASSIFICATION_OPTIONS: { value: DataClassification; label: string; color: string }[] = [
|
||||
{ value: "public_release", label: "Public Release", color: "border-gray-500/30 bg-gray-800/50 text-gray-400" },
|
||||
{ value: "public", label: "Public", color: "border-gray-500/30 bg-gray-800/50 text-gray-400" },
|
||||
{ value: "general_use", label: "General Use", color: "border-blue-500/30 bg-blue-900/30 text-blue-400" },
|
||||
{ value: "confidential", label: "Confidential", color: "border-amber-500/30 bg-amber-900/30 text-amber-400" },
|
||||
{ value: "restricted", label: "Restricted", color: "border-red-500/30 bg-red-900/30 text-red-400" },
|
||||
{ value: "internal_use_only", label: "Internal Use Only", color: "border-amber-500/30 bg-amber-900/30 text-amber-400" },
|
||||
{ value: "trusted_people", label: "Trusted People", color: "border-orange-500/30 bg-orange-900/30 text-orange-400" },
|
||||
{ value: "customer_content", label: "Customer Content", color: "border-pink-500/30 bg-pink-900/30 text-pink-400" },
|
||||
{ value: "pii", label: "PII", color: "border-red-500/30 bg-red-900/30 text-red-400" },
|
||||
];
|
||||
|
||||
// ── Props ──────────────────────────────────────────────────────────
|
||||
|
||||
@@ -62,7 +62,13 @@ export type ContainmentResult = "contained" | "partially_contained" | "not_conta
|
||||
|
||||
export type AttackSuccessResult = "successful" | "not_successful" | "partially_successful";
|
||||
|
||||
export type DataClassification = "public_release" | "general_use" | "confidential" | "restricted";
|
||||
export type DataClassification =
|
||||
| "public"
|
||||
| "general_use"
|
||||
| "internal_use_only"
|
||||
| "trusted_people"
|
||||
| "customer_content"
|
||||
| "pii";
|
||||
|
||||
export type ValidationStatus = "pending" | "approved" | "rejected";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user