Saltar al contenido
jesusprodriguez.com

azure-pr-inbox

Azure Repos: bandeja de pull requests

Bandeja de PRs priorizada por quién bloquea a quién: lo que espera tu voto, lo tuyo parado y lo que lleva demasiado abierto.

stack:
Azure DevOps
tarea:
Informar
versión:
v1.0.0
actualizada:
tamaño:
3.5 KB
lectura:
2 min
licencia:
CC-BY-4.0

Cuándo se activa

Al empezar el día o al preguntar qué pull requests tienes pendientes.

description: Resume las pull requests pendientes de Azure Repos priorizadas por lo que bloquea a otros - las que esperan tu voto, las tuyas paradas y las que llevan demasiado tiempo abiertas. Úsala al empezar el día o cuando preguntes qué PRs tienes pendientes.

  • Pendientes de tu voto
  • Antigüedad y tamaño
  • Conflictos y builds
  • Aviso sin ruido

Cómo se le pide

> Dime qué pull requests tengo pendientes esta mañana y cuáles están bloqueando a alguien.

Escríbeselo tal cual al agente: la skill se carga sola por la descripción, no hay que nombrarla.

Requiere azure-devops-cli Instala también estas: dan por hecho el acceso que esta skill necesita.

Cómo se instala

/plugin marketplace add https://jesusprodriguez.com/skills/marketplace.json
/plugin install azure-devops@jprodriguez-toolkit

La vía nativa, y la única que se actualiza sola: el marketplace se añade una vez y `/plugin marketplace update` trae las versiones nuevas. Las skills quedan con espacio de nombres propio (`azure-devops:azure-pr-review`).

El fichero, entero

Esto es exactamente lo que descargas: sin resúmenes ni recortes.

Azure Repos: bandeja de pull requests

Una lista de PRs ordenada por fecha no dice nada. Lo que importa es quién está esperando a quién.

Las tres consultas

# 1. Esperan tu voto: tú bloqueas a otra persona
az repos pr list --status active --reviewer <tu-email> --output json

# 2. Tuyas y abiertas: alguien te bloquea a ti
az repos pr list --status active --creator <tu-email> --output json

# 3. Todo lo activo del proyecto, para detectar lo podrido
az repos pr list --status active --output json --top 200

Sin --repository, la CLI recorre todos los repos del proyecto. Con muchos repos tarda: cachea el JSON y trabaja sobre el fichero.

Cómo se prioriza

Orden de salida, de arriba abajo:

  1. Te bloquean a ti y ya tienen voto negativo (vote: -10 o -5): hay trabajo tuyo pendiente y alguien lo dijo hace rato.
  2. Esperan tu voto, PR pequeña (< 200 líneas): se despacha en cinco minutos y desbloquea a una persona. Coste bajo, valor alto.
  3. Esperan tu voto, PR grande: reserva un hueco de verdad; no la revises entre reuniones.
  4. Tuyas, aprobadas y sin completar: solo falta pulsar el botón.
  5. Tuyas con cambios solicitados: la pelota está en tu tejado.
  6. Abiertas hace más de 7 días, de quien sea: candidatas a cerrar o trocear. Una PR de dos semanas ya no se revisa, se aprueba por cansancio.

Los votos de Azure DevOps: 10 aprobada · 5 aprobada con sugerencias · 0 sin votar · -5 esperando al autor · -10 rechazada.

Señales que se anotan siempre

Por cada PR de la lista:

  • Antigüedad desde creationDate, en días. Es la métrica que más duele y la que nadie mira.
  • Tamaño: git diff --shortstat origin/<destino>...refs/pull/<id>/merge. Sin él no puedes decidir cuál cae hoy.
  • Draft (isDraft: true): no cuenta como pendiente de nadie, pero si lleva tres semanas en borrador, es trabajo abandonado.
  • Merge conflictivo (mergeStatus: "conflicts"): no la revises todavía, avisa al autor.
  • Builds fallando: revisar una PR con el pipeline en rojo es tiempo regalado. Compruébalo antes de abrir el diff.
  • Sin work item asociado (workItemRefs vacío): trabajo que no aparecerá en ningún informe de sprint.

Formato de salida

Corto y accionable, agrupado por a quién bloquea:

ESPERAN TU VOTO (3)
  #482  API: paginación en /orders        +180/-24   2d   pipeline ok
  #477  Fix null en OrderService          +12/-3     5d   pipeline ok  ← 5 min
  #455  Refactor módulo de facturación    +1.4k/-900 12d  conflictos

TUYAS, PARADAS (2)
  #479  Migración EF a .NET 8   aprobada, sin completar
  #468  Endpoint de export      cambios solicitados por @ana, 4d

PODRIDAS (1)
  #401  Spike de caché   draft, 23d, sin actividad → cerrar o trocear

Termina con una sola recomendación: por cuál empezar y por qué. Una lista sin recomendación es la misma lista que ya se ve en el portal.

Extensión: aviso recurrente

La misma consulta programada cada mañana funciona como recordatorio, siempre que respete la regla: si no hay nada que requiera acción, no se envía nada. Un aviso diario que la mitad de los días dice “sin novedades” se deja de leer en dos semanas.