¡Te damos la bienvenida al nuevo sysarmy --help! Para recuperar tu usuario pedí un password reset.

Pregunta boluda con Github Actions

Ando queriendo hacer un github action, este action se activaria cuando una issue se modifica.

Especificamente cuando la issue pasa a estar cerrada y con la label Accepted.

Y no estoy seguro por que esta fallando.

Dejo una foto del codigo que tengo.

https://i.imgur.com/gb8GS3I.png

Basicamente se activa cuando el issue se modifica, tanto cuando se cierra un issue como cuando se agrega un label Accepted.

Dentro del job agregue un if por que no sabia como hacer para que la condición ocurra antes.

El contains es una función de Github Actions, viene por defecto en la API creo. Contains revisa cada objetos de un arreglo, en este caso labels, y revisa si al menos un atributo, en este caso name, es igual a el segundo parametro, en este caso Accepted, hasta ahí bien. 10 puntos.

El problema esta en el github.event.issue.state == "closed" me tira error y no entiendo por que.

Adjunto el error:

The workflow is not valid. .github/workflows/on-accepted.yml (Line: 14, Col: 13): Unexpected symbol: '"closed"'. Located at position 87 within expression: contains(github.event.issue.labels.*.name, 'Accepted') && github.event.issue.state == "closed"


Ahora que sabemos esto muestro lo que contiene dentro github.event.issue.

Más arriba había puesto - run: echo " ${{toJSON(github.event)}} " con el objetivo de comprobar que datos trae ese objeto.

https://i.imgur.com/d1e5bbK.png

Adjunto este output y resalto labels y state para que se note que si trae datos.

En este caso label no es el correcto pero el error lo tira por state en realidad, es decir el contains va a retornar false y sale del if, pero tirar error dentro del if por el state == "closed". No se como comprobar si esta cerrado, alguna sugerencia?

Respuestas

Accede o Regístrate para comentar.