Safeguard.sh Documentation Center
Enterprise Software Supply Chain Manager (ESSCM)

JIRA Integration

Connect Safeguard.sh with JIRA for automated issue tracking

JIRA Integration

Integrate Safeguard.sh with Atlassian JIRA to automatically create issues for vulnerabilities and track remediation progress.

Overview

JIRA integration enables:

  • Automatic issue creation for findings
  • Bidirectional status synchronization
  • Custom field mapping
  • Workflow automation
  • Team assignment rules

Supported JIRA Versions

VersionSupport
JIRA Cloud✅ Full Support
JIRA Server 8.x+✅ Full Support
JIRA Data Center✅ Full Support

Setting Up Integration

Step 1: Create API Token (JIRA Cloud)

  1. Go to Atlassian Account Settings
  2. Click Create API token
  3. Enter a label (e.g., "Safeguard.sh Integration")
  4. Copy the token (shown only once)

Step 1: Create Personal Access Token (JIRA Server/Data Center)

  1. Go to your JIRA profile → Personal Access Tokens
  2. Click Create token
  3. Enter a name and expiry
  4. Copy the token

Step 2: Configure in Safeguard.sh

  1. Go to SettingsIntegrationsJIRA
  2. Click Connect JIRA
  3. Enter connection details:
FieldDescription
JIRA URLYour JIRA instance URL
EmailYour JIRA email (Cloud) or username (Server)
API TokenThe token you created
  1. Click Test Connection
  2. Click Save

Step 3: Configure Project Mapping

Map Safeguard.sh organizations to JIRA projects:

  1. Click Configure Projects
  2. For each organization, select:
    • JIRA Project - Target project for issues
    • Issue Type - Bug, Task, Security, etc.
    • Default Assignee - Auto-assign issues

Automatic Issue Creation

Trigger Rules

Configure when issues are created:

TriggerDescription
New Critical VulnerabilityCreate issue for critical CVEs
New High VulnerabilityCreate issue for high severity
Gate FailureCreate issue when gate fails
Policy ViolationCreate issue for policy violations

Issue Template

Customize the issue content:

Summary: [SEVERITY] CVE-XXXX-XXXXX in {component}

Description:
*Vulnerability Details*
- CVE: {cve_id}
- Severity: {severity}
- CVSS Score: {cvss_score}
- Component: {component}@{version}
- Project: {project_name}

*Description*
{vulnerability_description}

*Remediation*
{remediation_advice}

*Links*
- [View in Safeguard.sh|{safeguard_url}]
- [NVD Entry|{nvd_url}]

Custom Fields

Map Safeguard.sh data to JIRA custom fields:

Safeguard FieldJIRA Field
SeverityPriority / Custom Field
CVE IDCustom Field
ComponentLabels / Custom Field
CVSS ScoreCustom Field
ProjectLabels

Status Synchronization

JIRA → Safeguard.sh

When JIRA issues are updated:

JIRA StatusSafeguard Action
Done / ResolvedMark finding as resolved
Won't FixCreate mitigation (risk acceptance)
DuplicateLink to existing finding

Safeguard.sh → JIRA

When findings are updated:

Safeguard ActionJIRA Update
Finding resolvedTransition to Done
Mitigation addedAdd comment with details
Severity changedUpdate priority

Configuring Sync

  1. Go to JIRA integration settings
  2. Click Status Mapping
  3. Map statuses between systems
  4. Enable bidirectional sync

Manual Issue Creation

Create JIRA issues manually:

From Findings Tab

  1. Select finding(s)
  2. Click ActionsCreate JIRA Issue
  3. Review/edit issue details
  4. Click Create

From Vulnerability Details

  1. Open vulnerability details
  2. Click Create JIRA Issue button
  3. Customize as needed
  4. Click Create

Bulk Operations

Bulk Issue Creation

Create issues for multiple findings:

  1. Filter findings
  2. Select multiple items
  3. Click Bulk ActionsCreate JIRA Issues
  4. Review and confirm

Bulk Linking

Link existing JIRA issues:

  1. Select findings
  2. Click Link JIRA Issues
  3. Enter JIRA issue keys
  4. Confirm links

Workflow Automation

JIRA Automation Rules

Create JIRA automation rules that trigger on Safeguard.sh issues:

Example: Auto-assign security issues

When: Issue created
If: Labels contains "safeguard-critical"
Then: Assign to Security Team

Example: Due date based on severity

When: Issue created
If: Labels contains "safeguard"
Then: Set due date based on priority
  - Critical: +3 days
  - High: +7 days
  - Medium: +14 days

Safeguard.sh Automation

Configure automatic actions in Safeguard.sh:

ConditionAction
JIRA issue closedRescan project
Issue reopenedReopen finding
Comment addedSync to finding

Reporting

JIRA Dashboards

Create JIRA dashboards for security metrics:

  • Open security issues by severity
  • Issues by component
  • Remediation velocity
  • SLA compliance

JQL Queries

Use JQL to find Safeguard.sh issues:

# All Safeguard issues
labels = "safeguard"

# Critical security issues
labels = "safeguard-critical" AND status != Done

# Issues for specific project
labels = "safeguard" AND labels = "project-myapp"

# Overdue security issues
labels = "safeguard" AND due < now() AND status != Done

Troubleshooting

Connection Issues

IssueSolution
"Authentication failed"Verify API token is correct
"Project not found"Check project key exists
"Permission denied"Verify user has create issue permission

Sync Issues

IssueSolution
Status not updatingCheck webhook configuration
Duplicate issuesEnable duplicate detection
Missing custom fieldsVerify field mapping

API Access

# List JIRA issues for a finding
curl -X GET https://api.safeguard.sh/v1/findings/{id}/jira-issues \
  -H "Authorization: Bearer $API_KEY"

# Create JIRA issue from finding
curl -X POST https://api.safeguard.sh/v1/findings/{id}/jira-issues \
  -H "Authorization: Bearer $API_KEY" \
  -d '{"project_key": "SEC", "issue_type": "Bug"}'

Best Practices

Issue Management

  • Use consistent labels for filtering
  • Set appropriate priorities
  • Include all relevant details
  • Link related issues

Workflow

  • Define clear status transitions
  • Set SLAs based on severity
  • Assign to appropriate teams
  • Track resolution metrics

Security

  • Use dedicated service account
  • Limit API token permissions
  • Rotate tokens regularly
  • Audit integration activity

Next Steps

On this page