{% extends "config/base.html" %} {% import "site_shell/_macros.html" as ui %} {% block title %}{{ job_type.display_name }} - RPA Job Types - Pychestrate Configuration{% endblock %} {% block content %}
State
{{ ui.status_badge(job_type.state) }}
Execution Mode
{{ job_type.execution_mode | enum_value }}
Active Versions
{{ job_type.active_version_count }}
latest {{ job_type.latest_active_version | display }}
Requires
{% if job_type.capability_requirements %}{{ job_type.capability_requirements | join(', ') }}{% else %}—{% endif %}
secret fields: {% if job_type.secret_fields %}{{ job_type.secret_fields | join(', ') }}{% else %}none{% endif %}

Versions ({{ versions | length }})

{% if versions %}
{% if can_manage %}{% endif %} {% for version in versions %} {% if can_manage %} {% endif %} {% endfor %}
Version State Source Entrypoint Timeout PublishedActions
{{ version.version }} {{ ui.status_badge(version.state) }} {{ version.source_kind }}: {{ version.source_ref | display }} {% if version.entrypoint.command is defined and version.entrypoint.command %}{{ version.entrypoint.command | join(' ') }}{% elif version.entrypoint.workflow is defined and version.entrypoint.workflow %}workflow {{ version.entrypoint.workflow }}{% elif version.entrypoint.tasking is defined and version.entrypoint.tasking %}tasking {{ version.entrypoint.tasking }}{% else %}—{% endif %} {{ version.timeout_minutes }}m {{ version.published_at | format_datetime('%Y-%m-%d %H:%M') }} {% if version.state.value == 'active' %}
{% elif version.state.value == 'deprecated' %}
{% endif %} {% if version.state.value != 'retired' %}
{% endif %}
{% else %} {{ ui.empty_state("No versions published yet", hint="Projects can bind this type once a version is active.") }} {% endif %}
{% if can_manage and job_type.state.value == 'active' %}

Publish a version

{{ ui.error_summary(errors, error_labels) }}
Semantic versions sort highest for latest-active; other labels sort after them.
{{ ui.field_error(errors, 'version') }}
{% if job_type.execution_mode.value == 'tasker' %}A JSON object naming a taskplus workflow path inside the source (workflow) or a module@Class tasking (tasking).{% else %}A JSON object: command is the argv list to run, and packet_delivery is file (default), stdin, or env.{% endif %}
{{ ui.field_error(errors, 'entrypoint') }}
{{ ui.field_error(errors, 'environment') }}
{{ ui.field_error(errors, 'timeout_minutes') }}
{% endif %} {% if packet_schema_json %}

Packet Schema

{{ packet_schema_json }}
{% endif %} {% if can_manage and job_type.state.value == 'active' %}
{% endif %} {% endblock %}