{% extends "projects/base.html" %} {% import "site_shell/_macros.html" as ui %} {% block title %}{{ spec.name }} - RPA - {{ project.name }} - Pychestrate{% endblock %} {% block content %}
Job Type
{{ spec.type_display_name }}
{{ spec.type_id }}
Version
{{ spec.version_selector }}
{% if spec.resolved_version %}
resolves to {{ spec.resolved_version }}
{% else %}
no active version
{% endif %}
Execution Mode
{{ spec.execution_mode | enum_value }}
Revision
r{{ spec.revision }}
Timeout {{ spec.timeout_minutes if spec.timeout_minutes else 'version default' }}
{% if can_manage %}

Run this specification

{% if replay_job %}

{{ replay_message }} View job {{ replay_job.job_id[:8] }}.

{% endif %} {% if run_blocked_reason %}
{{ run_blocked_reason }}
{% endif %}

Pre-filled from the specification defaults. Keys you change here override the defaults for this run only.{% if secret_packet_keys %} Secret fields ({{ secret_packet_keys | join(", ") }}) are not shown; their stored values are used unless you enter new ones.{% endif %}

{% if run_pods | length > 1 %}
{% elif run_pods | length == 1 %}

Runs on {{ run_pods[0].label }}, the only pod that can run this job.

{% endif %} {% if not spec.resolved_version %}The job type has no active version to run.{% endif %} {# Errors render below the button so showing them never moves the control under the pointer. #}
{% endif %} {% if packet_schema_json %}

Packet Schema

Work packets are validated against this JSON Schema before dispatch.

{{ packet_schema_json }}
{% endif %} {% if spec.inline_secret_fields %}
The default packet keeps {{ spec.inline_secret_fields | length }} secret {{ 'value' if spec.inline_secret_fields | length == 1 else 'values' }} in plain text ({% for field in spec.inline_secret_fields %}{{ field }}{% if not loop.last %}, {% endif %}{% endfor %}). Put each in the vault (System, Secrets) and replace it with {"$secret": "name-in-the-vault"}, so it is not stored with the specification.
{% endif %}

Specification Details

Default packet
{{ default_packet_json }}
Required capabilities {% if spec.required_capabilities %}{{ spec.required_capabilities | join(', ') }}{% else %}—{% endif %}
Target pod {% if spec.target_pod_id %}{{ spec.target_pod_id }}{% else %}Any eligible pod{% endif %}
Created {{ spec.created_at | format_datetime('%Y-%m-%d %H:%M:%S') }}
Updated {{ spec.updated_at | format_datetime('%Y-%m-%d %H:%M:%S') }}

Recent Jobs View all

{% if recent_jobs %}
{% for job in recent_jobs %} {% endfor %}
Job Version Status Duration Started
{{ job.job_id[:8] }} {{ job.resolved_version }} {{ ui.status_badge(job.status) }} {% if job.duration_seconds is not none %}{{ job.duration_seconds }}s{% else %}—{% endif %} {{ job.started_at | format_datetime('%Y-%m-%d %H:%M', 'Pending') }}
{% else %} {{ ui.empty_state("No jobs yet") }} {% endif %}
{% endblock %} {% block extra_js %} {% if can_manage %} {% endif %} {% endblock %}