Saltar al contenido

Plantilla de pasos

Una plantilla basada en pasos diseñada para pipelines de CI/CD y flujos de trabajo de varias etapas. Visualiza trabajos en paralelo con un indicador de matriz.

Demostración de una actividad en directo

Fields

FieldTypeDescription
templatestringRequired. Must be "steps"
progressfloatRequired. Value between 0.0 and 1.0
current_stepintegerRequired. The step currently running, counting from 1 (so 1 is the first entry of step_labels); 0 means nothing has started yet. Shown in the header as current_step/total_steps.
total_stepsintegerRequired. Total number of jobs in the workflow
step_rowsinteger[]Parallel jobs per step (e.g. [1,1,3,1] for a 3-job matrix at step 3). Length must equal total_steps. Each value must be between 1 and 10.
step_labelsstring[]Optional labels for each step (e.g. ["Build","Test","Deploy"]). When provided and total_steps is 6 or fewer, labels appear below each segment bar. Length must equal total_steps. Each label max 32 characters.
statestringCurrent job name (e.g. "Build Container Image")
iconstringSF Symbol name or MDI icon with mdi: prefix (e.g. "mdi:source-branch")
subtitlestringContext subtitle (e.g. "repo / CI/CD")
accent_colorstringNamed color or hex
urlstringPrimary URL -- tappable button on the Live Activity (e.g. link to workflow run)
secondary_urlstringSecondary URL -- second tappable button (e.g. link to commit)
background_colorstringBackground color override
text_colorstringText color override
Llega en la versión 1.3.3 de la app
Llega en la versión 1.3.5 de la app
Llega en la versión 1.7.0 de la app
Llega en la versión 1.14.0 de la app
Llega en la versión 1.9.2 de la app

Esta sección describe una función de una actualización de la app que está pendiente de revisión en App Store. Se desbloquea aquí automáticamente en cuanto la actualización esté disponible.

Renders url_action and secondary_url_action as buttons under the segment bar and background taps as tap_action; the legacy url / secondary_url strings still work. See Tap actions.

Changing total_steps on an existing activity

Updates are merge-patches -- an array you leave out of a PATCH keeps its stored value (update semantics). When you reuse one slug across runs and the new run changes total_steps, any carried-over array that no longer matches it is dropped for you rather than failing the update; re-send the ones you want, and the rest come back as the plain equal-width matrix. An array you do send still has to match: a length that disagrees with total_steps in the same payload is rejected with 422.

Example Payload

Pasos: paso 3 de 8
{
  "state": "ongoing",
  "content": {
    "template": "steps",
    "progress": 0.375,
    "state": "Build Container Image",
    "icon": "arrow.triangle.branch",
    "subtitle": "pushward-server / CI/CD",
    "current_step": 2,
    "total_steps": 8,
    "step_rows": [1, 1, 3, 1, 1, 2, 1, 1],
    "step_labels": ["Lint", "Build", "Test", "Scan", "Publish", "Deploy", "Verify", "Notify"],
    "accent_color": "green"
  }
}

Step Rows

The step_rows array defines how many parallel jobs exist at each step, creating a matrix visualization -- the GitHub Actions bridge maps workflow jobs to steps this way:

// [1, 1, 3, 1, 1, 2, 1, 1]
//  Step 1: ●          (1 job)
//  Step 2: ●          (1 job)
//  Step 3: ● ● ●     (3 parallel jobs)
//  Step 4: ●          (1 job)
//  Step 5: ●          (1 job)
//  Step 6: ● ●       (2 parallel jobs)
//  Step 7: ●          (1 job)
//  Step 8: ●          (1 job)
💡 Consejo

If step_rows is omitted, every step is treated as a single job. The counter still shows current_step/total_steps.

Segmented layout

Llega en la versión 1.3.3 de la app

Esta sección describe una función de una actualización de la app que está pendiente de revisión en App Store. Se desbloquea aquí automáticamente en cuanto la actualización esté disponible.

Live progress

Llega en la versión 1.3.5 de la app

Esta sección describe una función de una actualización de la app que está pendiente de revisión en App Store. Se desbloquea aquí automáticamente en cuanto la actualización esté disponible.

Llega en la versión 1.7.0 de la app

Esta sección describe una función de una actualización de la app que está pendiente de revisión en App Store. Se desbloquea aquí automáticamente en cuanto la actualización esté disponible.