{% extends "botapp/base.html" %} {% block title %}{{ project.path }} | CI{% endblock %} {% block content %}
{% if project.bot %}vinculado ao bot {{ project.bot.name }} {% else %}sem vínculo com bot — a visão unificada depende dele{% endif %}
Não é sincronizado nem gera alerta. {% if project.local_archived %} Arquivado em {{ project.local_archived_at|date:"d/m/Y H:i" }} {% if project.local_archived_by %}por {{ project.local_archived_by }}{% endif %} {% if project.local_archived_reason %}— “{{ project.local_archived_reason }}”{% endif %}. Para arquivar também no servidor de CI (o painel não faz isso: o acesso é somente-leitura), use as configurações do projeto. {% endif %}
{{ project.last_sync_error }}
O vínculo é manual de propósito: casar por semelhança de nome e errar atribuiria telemetria ao bot errado, o que é pior do que não casar.
| Descrição | Cron | Timezone | Ativo | Próxima execução |
|---|---|---|---|---|
| {{ s.description|default:"—" }} | {{ s.cron }} |
{{ s.cron_timezone|default:"—" }} | {% if s.active %}{% else %}{% endif %} | {{ s.next_run_at|date:"d/m/Y H:i"|default:"—" }} |
| Nenhum agendamento. | ||||
| # | Status | Origem | Ref | Quando | Duração | Disparado por |
|---|---|---|---|---|---|---|
| {{ p.external_id }} | {% if p.status == 'success' and p.has_masked_error %} success ⚠ {% elif p.status == 'success' %}success {% else %}{{ p.status }}{% endif %} | {{ p.source|default:"—" }} | {{ p.ref|default:"—" }} | {{ p.created_at|date:"d/m H:i"|default:"—" }} | {{ p.duration|default:"—" }} | {{ p.triggered_by|default:"—" }} |
| Nenhum pipeline sincronizado. | ||||||