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

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:
kitos
2026-07-09 16:33:41 +02:00
parent 512b682cc5
commit d726e3adfe
12 changed files with 229 additions and 47 deletions
+12 -7
View File
@@ -93,14 +93,19 @@ class AttackSuccessResult(str, enum.Enum):
class DataClassification(str, enum.Enum):
"""Data sensitivity classification levels for compliance and retention policies.
Matches the organization's data protection scheme:
- public_release: approved for external/public release
Matches Jira's "Data Sensitivity" field (customfield_11814) exactly, since
that is the organization's actual data protection scheme:
- public: approved for external/public release
- general_use: general internal information, no special restriction
- confidential: internal use only, or shared with trusted people
- restricted: trusted people, customer content, and/or PII
- internal_use_only: internal use only
- trusted_people: shared only with a limited/trusted audience
- customer_content: contains customer data
- pii: contains personally identifiable information
"""
public_release = "public_release"
public = "public"
general_use = "general_use"
confidential = "confidential"
restricted = "restricted"
internal_use_only = "internal_use_only"
trusted_people = "trusted_people"
customer_content = "customer_content"
pii = "pii"