---
name: azure-pr-inbox
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.
version: 1.0.0
license: CC-BY-4.0
updated: 2026-08-16
---

# 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

```bash
# 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.
