Nota: Actualmente los ejecutores hospedados en GitHub no se admiten en GitHub Enterprise Server. Puede ver más información sobre la compatibilidad futura planeada en GitHub public roadmap.
Introducción
En este tutorial se muestra cómo usar la acción actions/stale
para comentar y cerrar incidencias que han estado inactivas durante un determinado período de tiempo. Por ejemplo, puedes comentar si una propúesta ha estado inactiva durante 30 días para pedir a los participantes que tomen alguna acción. Posteriormente, si no hay ningún tipo de actividad en los siguientes 14 días, puedes cerrar la propuesta.
En el tutorial, primero creará un archivo de flujo de trabajo en el que se usa la acción actions/stale
. Después, personalizarás el flujo de trabajo de acuerdo con tus necesidades.
Crear un flujo de trabajo
-
Elige un repoisitorio en donde quieras aplicar este fluljo de trabajo de administración de proyectos. Puedes utilizar un repositorio existente al cual tengas acceso de escritura o puedes crear un repositorio nuevo. Para más información sobre cómo crear un repositorio, consulta "Crear un repositorio nuevo".
-
En el repositorio, cree un archivo denominado
.github/workflows/YOUR_WORKFLOW.yml
, y reemplaceYOUR_WORKFLOW
por el nombre que prefiera. Este es un archivo de flujo de trabajo. Para obtener más información sobre cómo crear nuevos archivos en GitHub, consulte "Crear nuevos archivos". -
Copia el siguiente contenido de YAML en tu archivo de flujo de trabajo.
YAML name: Close inactive issues on: schedule: - cron: "30 1 * * *" jobs: close-issues: runs-on: ubuntu-latest permissions: issues: write pull-requests: write steps: - uses: actions/stale@v5 with: days-before-issue-stale: 30 days-before-issue-close: 14 stale-issue-label: "stale" stale-issue-message: "This issue is stale because it has been open for 30 days with no activity." close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale." days-before-pr-stale: -1 days-before-pr-close: -1 repo-token: ${{ secrets.GITHUB_TOKEN }}
name: Close inactive issues on: schedule: - cron: "30 1 * * *" jobs: close-issues: runs-on: ubuntu-latest permissions: issues: write pull-requests: write steps: - uses: actions/stale@v5 with: days-before-issue-stale: 30 days-before-issue-close: 14 stale-issue-label: "stale" stale-issue-message: "This issue is stale because it has been open for 30 days with no activity." close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale." days-before-pr-stale: -1 days-before-pr-close: -1 repo-token: ${{ secrets.GITHUB_TOKEN }}
-
Personaliza los parámetros en tu archivo de flujo de trabajo:
- Cambie el valor de
on.schedule
para determinar cuándo quiere que se ejecute este flujo de trabajo. En el ejemplo anterior, el flujo de trabajo se ejecutará diario a la 1:30 UTC. Para más información sobre los flujos de trabajo programados, consulta "Eventos que desencadenan flujos de trabajo". - Cambie el valor de
days-before-issue-stale
por el número de días sin actividad antes de que la acciónactions/stale
etiquete una incidencia. Si quiere que esta acción no etiquete nunca las incidencias, establezca este valor en-1
. - Cambie el valor de
days-before-issue-close
por el número de días sin actividad antes de que la acciónactions/stale
cierre una incidencia. Si quiere que esta acción no cierre nunca las incidencias, establezca este valor en-1
. - Cambie el valor de
stale-issue-label
por la etiqueta que quiere aplicar a las incidencias que han estado inactivas durante el período de tiempo especificado pordays-before-issue-stale
. - Cambie el valor de
stale-issue-message
por el comentario que quiere agregar a la incidencias etiquetadas por la acciónactions/stale
. - Cambie el valor de
close-issue-message
por el comentario que quiere agregar a la incidencias cerradas por la acciónactions/stale
.
- Cambie el valor de
-
Confirma tu archivo de flujo de trabajo en la rama predeterminada de tu repositorio. Para obtener más información, vea «Crear nuevos archivos».
Resultados esperados
En función del parámetro schedule
(por ejemplo, todos los días a la 1:30 UTC), el flujo de trabajo encontrará incidencias que han estado inactivas durante el período de tiempo especificado y les agregará el comentario y etiqueta que ha indicado. Adicionalmente, tu flujo de trabajo cerrará cualquier propuesta que se haya etiquetado previamente si no ha habido ningún tipo de actividad adicional en el periodo de tiempo que especificaste.
Nota: El evento schedule
se puede retrasar durante periodos de cargas altas de ejecuciones de flujo de trabajo de GitHub Actions. Los tiempos de carga alta incluyen el inicio de cada hora. Si la carga es lo suficientemente alta, es posible que se quiten algunos trabajos en cola. Para aminorar la posibilidad de los retrasos, programa tu flujo de trabajo para que se ejecute en una porción diferente de la hora.
Puedes ver el historial de tus ejecuciones de flujo de trabajo para ver que este flujo de trabajo se ejecute regularmente. Para obtener más información, vea «Visualizar el historial de ejecución del flujo de trabajo».
Este flujo de trabajo solo etiquetará o cerrará 30 propuestas a la vez para evitar exceder el límite de tasa. Puede configurarlo con el valor operations-per-run
. Para más información, vea la documentación de la acción actions/stale
.
Pasos siguientes
- Para obtener más información sobre otras cosas que puede hacer con la acción
actions/stale
(como cerrar solicitudes de incorporación de cambios inactivas, omitir incidencias con determinadas etiquetas o hitos o solo comprobar las incidencias con determinadas etiquetas), consulte la documentación de la acciónactions/stale
. - Busque en GitHub ejemplos de flujos de trabajo mediante esta acción.