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 Name | Target | Check Types | Input Value Type | Notes |
|---|---|---|---|---|
| Application Has Owner Check | Application | N/A | Has/Does Not Have | Boolean check |
| Has Component Check | Application | N/A | Has/Does Not Have | Requires component name |
| Deployment Frequency Check | Application | N/A | Days (numeric) | Average days between deployments |
| Has Attribute Check | Application/Component | Exists, Has Value | Has/Does Not Have or 0-100 or points | Supports value scoring |
| Has Description Check | Application/Components | N/A | Has/Does Not Have or 0-100 | Percentage for components |
| Has Relationship Check | Application/Component | Exists, Has Value | Has/Does Not Have or 0-100 or points | Supports value scoring with entity IDs |
| Lead Time for Changes | Application | N/A | Hours (numeric) | DORA metric |
| Change Failure Rate | Application | N/A | Percentage (0-100) | DORA metric |
| Mean Time to Recover | Application | N/A | Hours (numeric) | DORA metric, supports priority filter |
| Deployment Frequency | Application | N/A | Count (numeric) | DORA metric, supports unit |
| Vulnerability Count Check | Application | N/A | Count (numeric) | Requires severity |
| Vulnerability Aging Check | Application | N/A | Days (numeric) | Requires severity, max age |
| Test Coverage | Application | N/A | Percentage (0-100) | Optional test type filter |
Notes
-
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.
-
Value Scoring: When using Value Scoring with relationships, always use entity IDs (UUIDs) as keys, not entity names, as names can change.
-
Filter Logic: Multiple filters use AND logic - all must pass for the check to execute.
-
Scoring Rule Evaluation: Scoring rules are evaluated in order, and the first matching rule is used. Ensure rules don't overlap unintentionally.
-
Default Values: Many configuration options have defaults. Check the individual check documentation for details.
-
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.
-
Time Periods: Time-based checks (DORA metrics, vulnerability aging) use UTC dates for calculations.
Updated 3 months ago
