{% extends "projects/base.html" %} {% import "site_shell/_macros.html" as ui %} {% block title %}{{ spec.name }} - RPA - {{ project.name }} - Pychestrate{% endblock %} {% block content %}
{{ spec.description or 'No description' }}
{{ replay_message }} View job {{ replay_job.job_id[:8] }}.
Work packets are validated against this JSON Schema before dispatch.
{{ packet_schema_json }}
{{ 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.
| 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') }} |
| 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') }} |