{% extends "base.html" %} {% block title %}Runs - Piply{% endblock %} {% macro trigger_chip(value) -%} {{ value }} {%- endmacro %} {% block content %}
Manual launches, scheduled runs, and pipeline-triggered runs share one stream. Triggered runs show the chain that led to them.
| Run | Pipeline | Status | Trigger & lineage | Tasks | Started | Duration | Actions |
|---|---|---|---|---|---|---|---|
| {{ run.run_id }} | {{ run.pipeline_title }} | {{ run.status }} |
{{ trigger_chip(run.trigger) }}
{% if chain %}
{% for ancestor in chain %}
{% if ancestor.available %}
{{ ancestor.pipeline_title }}
{% else %}
{{ ancestor.pipeline_title }}
{% endif %}
→
{% endfor %}
{{ run.pipeline_title }}
{% endif %}
|
{{ run.successful_tasks }}/{{ run.task_count }} | {{ (run.started_at or run.created_at).astimezone().strftime('%Y-%m-%d %H:%M') }} | {% if run.duration_seconds is not none %}{{ "%.1fs"|format(run.duration_seconds) }}{% else %}-{% endif %} |
Open
{% if run.status in ['queued', 'running'] %}
{% else %}
{% endif %}
|