pub struct RunFilter {
pub workflow_name: Option<String>,
pub status: Option<RunStatus>,
pub created_after: Option<DateTime<Utc>>,
pub created_before: Option<DateTime<Utc>>,
pub has_steps: Option<bool>,
pub labels: Option<HashMap<String, String>>,
pub created_by_user_id: Option<Uuid>,
pub concurrency_group: Option<String>,
pub priority: Option<i16>,
pub eligible_for: Option<WorkerCapabilities>,
}Expand description
Filters for listing runs.
All fields are optional; None means “no filter” for that field.
§Examples
use ironflow_store::entities::{RunFilter, RunStatus};
let filter = RunFilter {
workflow_name: Some("deploy".to_string()),
status: Some(RunStatus::Completed),
..RunFilter::default()
};Fields§
§workflow_name: Option<String>Filter by workflow name (exact match).
status: Option<RunStatus>Filter by run status.
created_after: Option<DateTime<Utc>>Only include runs created after this timestamp.
created_before: Option<DateTime<Utc>>Only include runs created before this timestamp.
has_steps: Option<bool>When Some(true), only include runs that have at least one step.
When Some(false), only include runs with no steps.
When None, no filtering on steps.
labels: Option<HashMap<String, String>>Filter by label key-value pair. Only include runs that have ALL specified labels.
created_by_user_id: Option<Uuid>Filter by author. Matches runs created by this user directly, and runs created by one of this user’s API keys.
concurrency_group: Option<String>Filter by concurrency group. Only include runs whose concurrency limits contain this group.
priority: Option<i16>Filter by queue priority (exact match).
eligible_for: Option<WorkerCapabilities>Only include runs the worker with these capabilities could take (see
WorkerCapabilities::can_take). None means no filter.