Journey Checks Reference

Journey checks are organized by their target scope. Some checks work only on applications, some only on components, and others can target either.

Application-Only Checks

These checks evaluate properties of the application entity itself.

Application Has Owner Check

Description: Checks if an application has an owner relationship.

Configuration Options:

  • Filters: Optional filters to conditionally run this check

Check Type: Boolean check (has owner or does not have owner)

Scoring: Uses scoring options with "Has" and "Does Not Have" options, each with configurable points


Has Component Check

Description: Checks if an application has a relationship to a specific component by name.

Configuration Options:

  • Component Name: Required - the name of the component to check for
  • Filters: Optional filters to conditionally run this check

Check Type: Boolean check (has component or does not have component)

Scoring: Uses scoring options with "Has" and "Does Not Have" options, each with configurable points


Deployment Frequency Check

Description: Checks the average deployment frequency for an application over a time period.

Configuration Options:

  • Frequency: Required - lookback window in days
  • Filters: Optional filters to conditionally run this check

Check Type: Numeric metric (average days between deployments)

Scoring: Uses scoring rules with input value representing average days between deployments (lower is better)


Component-Only Checks

Currently, there are no checks that work exclusively on components. All component checks can also target applications.


Dual-Target Checks

These checks can evaluate either applications or their components, depending on the target configuration.

Has Attribute Check

Description: Checks if an application or its components have a specific attribute, optionally checking for a specific value.

Configuration Options:

  • Attribute Name: Required - the name of the attribute to check
  • Check Type: Required - either "Exists" or "Has Value"
    • Exists: Checks if the attribute exists and has a non-empty value
    • Has Value: Checks if the attribute matches a specific value, or uses value scoring for multiple value mappings
  • Target: Required - either "Application" or "Component"
    • Application: Checks the application entity directly (boolean or value match)
    • Component: Checks all components and returns percentage (0-100) of components with the attribute/value
  • Attribute Value: Optional - for "Has Value" check type, the specific value to match
  • Value Scoring: Optional - for "Has Value" check type with multiple values, assigns different points for different attribute values
  • Filters: Optional filters to conditionally run this check

Scoring:

  • For Application target with Exists: "Has" and "Does Not Have" options with configurable points
  • For Application target with Has Value + Value Scoring: Uses mapped points directly
  • For Component target: Percentage (0-100) of components meeting criteria

Has Description Check

Description: Checks if an application or its components have a description.

Configuration Options:

  • Target: Required - either "Application" or "Components"
    • Application: Checks if application has description (boolean)
    • Components: Returns percentage (0-100) of components with descriptions
  • Filters: Optional filters to conditionally run this check

Check Type: Boolean check

Scoring:

  • For Application: "Has" and "Does Not Have" options with configurable points
  • For Components: Percentage (0-100) of components with descriptions

Has Relationship Check

Description: Checks if an application or its components have a specific relationship type, optionally checking for a specific target entity.

Configuration Options:

  • Relationship Type: Required - the type of relationship to check for
  • Check Type: Required - either "Exists" or "Has Value"
    • Exists: Checks if the relationship type exists
    • Has Value: Checks if the relationship targets a specific entity (by name or ID)
  • Target: Required - either "Application" or "Component"
    • Application: Checks the application entity directly
    • Component: Checks all components and returns percentage (0-100) or total score
  • Relationship Value: Optional - for "Has Value" check type, the specific entity to match
  • Value Scoring: Optional - for "Has Value" check type with multiple targets, assigns different points for different entity IDs
  • Filters: Optional filters to conditionally run this check

Scoring:

  • For Exists check type: "Has" and "Does Not Have" options with configurable points
  • For Has Value check type with Value Scoring: Uses entity ID-based mapping for points
  • For Component target: Percentage or total accumulated score

Note: When using Value Scoring, the keys should be entity IDs (UUIDs), not entity names, for robust lookups.


DORA Metrics Checks

These checks evaluate DevOps Research and Assessment (DORA) metrics for applications.

Lead Time for Changes

Description: Measures the average time from code commit to production deployment.

Configuration Options:

  • Time Period: Optional - days to look back (default: 30 days)
  • Environment: Optional - either "Production" or "All" (default: "Production")
  • Filters: Optional filters to conditionally run this check

Check Type: Numeric metric in hours

Scoring: Uses scoring rules with input value representing average lead time in hours (lower is better)


Change Failure Rate

Description: Measures the percentage of deployments that result in incidents.

Configuration Options:

  • Time Period: Optional - days to look back (default: 30 days)
  • Environment: Optional - either "Production" or "All" (default: "Production")
  • Filters: Optional filters to conditionally run this check

Check Type: Percentage metric (0-100)

Scoring: Uses scoring rules with input value representing failure rate percentage (lower is better, 0-100)


Mean Time to Recover

Description: Measures the average time to recover from incidents.

Configuration Options:

  • Time Period: Optional - days to look back (default: 30 days)
  • Severity: Optional - priority filter (can be a single priority like "P0" or an array of priorities like ["P0", "P1"]). Priorities are case-insensitive.
  • Filters: Optional filters to conditionally run this check

Check Type: Numeric metric in hours

Scoring: Uses scoring rules with input value representing average recovery time in hours (lower is better)


Deployment Frequency

Description: Measures deployment frequency over a time period.

Configuration Options:

  • Time Period: Optional - days to look back (default: 30 days)
  • Environment: Optional - either "Production" or "All" (default: "Production")
  • Unit: Optional - either "Daily", "Weekly", or "Monthly" (default: "Daily")
  • Filters: Optional filters to conditionally run this check

Check Type: Numeric metric (count of deployments per unit)

Scoring: Uses scoring rules with input value representing deployments per unit (higher is better)


Vulnerability Checks

Vulnerability Count Check

Description: Checks the count of open vulnerabilities for a specific severity level.

Configuration Options:

  • Severity: Required - either "Critical", "High", "Medium", or "Low"
  • Filters: Optional filters to conditionally run this check

Check Type: Count metric

Scoring: Uses scoring rules with input value representing vulnerability count (lower is better)


Vulnerability Aging Check

Description: Checks the maximum age (in days) of open vulnerabilities for a specific severity level.

Configuration Options:

  • Severity: Required - either "Critical", "High", "Medium", or "Low"
  • Filters: Optional filters to conditionally run this check

Check Type: Age in days metric

Scoring: Uses scoring rules with input value representing maximum age in days (lower is better)


Test Coverage Check

Test Coverage

Description: Checks test coverage percentage from the most recent test run event.

Configuration Options:

  • Test Type: Optional - filter by test type ("Unit", "Integration", or "E2E")
  • Filters: Optional filters to conditionally run this check

Check Type: Percentage metric (0-100)

Scoring: Uses scoring rules with input value representing coverage percentage (0-100, higher is better)


Check Types: Exists vs Has Value

Exists Mode

Purpose: Check if something exists or is present.

Usage: Used by Has Attribute and Has Relationship checks.

Behavior:

  • For attributes: Checks if attribute exists and has a non-empty value
  • For relationships: Checks if relationship of specified type exists
  • Returns "Has" or "Does Not Have" result, with configurable points for each option

Has Value Mode

Purpose: Check for a specific value or use value-based scoring.

Usage: Used by Has Attribute and Has Relationship checks.

Behavior:

  • Single Value: Check if attribute/relationship matches a specific value
  • Multiple Values: Use Value Scoring to assign different points for different values
  • For components: Can accumulate total score across all components

Note: When using Value Scoring with relationships, use entity IDs (UUIDs) as keys, not entity names.


Scoring Rules

Scoring rules determine how many points are awarded based on the check result. Two formats are supported:

Range-Based Scoring

Format: Minimum value, Maximum value, and Points

Behavior: If the check result value falls within the range [minimum, maximum] (inclusive), award the specified points. Rules are evaluated in order, and the first matching rule is used.


Operator-Based Scoring

Format: Operator, Value (or Min/Max for "Between"), and Points

Operators:

  • Less Than: Award points if result is less than the specified value
  • Greater Than: Award points if result is greater than the specified value
  • Between: Award points if result is greater than or equal to minimum AND less than or equal to maximum

Filters

Filters allow you to conditionally run checks based on application attributes. Filters use AND logic - all filters must pass for the check to execute.

Filter Conditions

  • Include if: Run check only if filter matches
  • Exclude if: Run check only if filter does NOT match

Filter Operators

String Operators

  • Equals: Exact match (case-insensitive)
  • Does not equal: Not equal (case-insensitive)
  • Contains: Attribute value contains filter value
  • Does not contain: Attribute value does not contain filter value
  • Starts with: Attribute value starts with filter value
  • Ends with: Attribute value ends with filter value
  • Is empty: Attribute is missing or empty
  • Is not empty: Attribute exists and has value

Numeric Operators

  • Less than: Attribute value is less than filter value
  • Less than or equal to: Attribute value is less than or equal to filter value
  • Greater than: Attribute value is greater than filter value
  • Greater than or equal to: Attribute value is greater than or equal to filter value

Filter Examples

Include only production applications: Include if "Environment" equals "production"

Exclude deprecated applications: Exclude if "Lifecycle Status" equals "deprecated"

Multiple filters (AND logic): Include if "Environment" equals "production" AND "Team" contains "platform"

Check for non-empty attribute: Include if "Owner Email" is not empty


Common Patterns

Pattern 1: Check for Attribute Existence

Goal: Ensure applications have a required attribute.

Setup: Use Has Attribute Check with Check Type set to "Exists", Target set to "Application", and configure scoring with "Has" and "Does Not Have" options, awarding points for "Has" and typically 0 points for "Does Not Have".


Pattern 2: Check Component Attribute Percentage

Goal: Ensure a percentage of components meet a criteria.

Setup: Use Has Attribute Check with Check Type set to "Exists", Target set to "Component", and configure scoring with percentage ranges (e.g., 0-49% = 0 points, 50-79% = 50 points, 80-100% = 100 points).


Pattern 3: Value-Based Scoring for Components

Goal: Award different points based on component attribute values.

Setup: Use Has Attribute Check with Check Type set to "Has Value", Target set to "Component", configure Value Scoring with different points for different values (e.g., "production" = 100 points, "staging" = 50 points, "development" = 10 points, default = 0 points).


Pattern 4: DORA Metrics with Thresholds

Goal: Evaluate deployment frequency with tiered scoring.

Setup: Use Deployment Frequency check with appropriate time period and environment settings, then configure scoring with tiered ranges (e.g., 0 deployments = 0 points, 1 deployment = 25 points, 2-5 deployments = 50 points, 6-10 deployments = 75 points, 11+ deployments = 100 points).


Pattern 5: Vulnerability Severity Thresholds

Goal: Score based on vulnerability counts per severity.

Setup: Use Vulnerability Count Check with severity set to the desired level, then configure scoring with count ranges (e.g., 0 vulnerabilities = 100 points, 1-2 vulnerabilities = 50 points, 3-5 vulnerabilities = 25 points, 6+ vulnerabilities = 0 points).


Pattern 6: Filtered Checks

Goal: Run check only for specific application subsets.

Setup: Configure the check with filters that match your criteria (e.g., Include if "Environment" equals "production" to only check production applications).


Summary Table

Check NameTargetCheck TypesInput Value TypeNotes
Application Has Owner CheckApplicationN/AHas/Does Not HaveBoolean check
Has Component CheckApplicationN/AHas/Does Not HaveRequires component name
Deployment Frequency CheckApplicationN/ADays (numeric)Average days between deployments
Has Attribute CheckApplication/ComponentExists, Has ValueHas/Does Not Have or 0-100 or pointsSupports value scoring
Has Description CheckApplication/ComponentsN/AHas/Does Not Have or 0-100Percentage for components
Has Relationship CheckApplication/ComponentExists, Has ValueHas/Does Not Have or 0-100 or pointsSupports value scoring with entity IDs
Lead Time for ChangesApplicationN/AHours (numeric)DORA metric
Change Failure RateApplicationN/APercentage (0-100)DORA metric
Mean Time to RecoverApplicationN/AHours (numeric)DORA metric, supports priority filter
Deployment FrequencyApplicationN/ACount (numeric)DORA metric, supports unit
Vulnerability Count CheckApplicationN/ACount (numeric)Requires severity
Vulnerability Aging CheckApplicationN/ADays (numeric)Requires severity, max age
Test CoverageApplicationN/APercentage (0-100)Optional test type filter

Notes

  1. Component Checks: When targeting components, the check evaluates all components associated with the application. Results are typically returned as percentages (0-100) or total accumulated scores.

  2. Value Scoring: When using Value Scoring with relationships, always use entity IDs (UUIDs) as keys, not entity names, as names can change.

  3. Filter Logic: Multiple filters use AND logic - all must pass for the check to execute.

  4. Scoring Rule Evaluation: Scoring rules are evaluated in order, and the first matching rule is used. Ensure rules don't overlap unintentionally.

  5. Default Values: Many configuration options have defaults. Check the individual check documentation for details.

  6. DORA Metrics: DORA metric checks require the corresponding metrics to be configured in the system. If metrics are missing, the check will fail with a score of 0.

  7. Time Periods: Time-based checks (DORA metrics, vulnerability aging) use UTC dates for calculations.