14-enero-2022
admin

Git Actions de GitHub (Parte 3)

Continuamos con algún ejemplo de GitHub Action

workflow-external_json_parameters.yml: Contiene dos jobs para extraer la información de un json. El primer job utiliza JQ y el segundo es más simple ya que el json está en una única línea.

name: Read External JSON
//Evento que desencadenará el workflow
on: [push]
jobs:
  //Primer job a ejecutar 
  read-json-with-jq:
      //Máquina en la que se va a ejecutar el job 
      runs-on: ubuntu-latest
      steps:
        //Tarea que hace un checkout del repositorio
        - uses: actions/checkout@v2

        - name: extract repositories to file
          run: |
            //se vuelca a la variable content el contenido del fichero json
            content=`cat ./example2-gitactions/dependencies.json`
            //con JQ extraemos todos los valores de la key repository y los listamos en un fichero txt
            echo "$(jq -r '.dependencies[].repository' <<< "$content")" >> aux.txt
        //Tarea que pinta por pantalla los repositorios
        - name: print repositories
          run: cat aux.txt

  //Segundo job a ejecutar
  read-json: 
       //Máquina en la que se va a ejecutar el job 
       runs-on: ubuntu-latest
       steps:
        //Tarea que hace un checkout del repositorio
        - uses: actions/checkout@v2
        
        - name: extract repositories to array
          id: set_var
          run: |
            //se vuelca a la variable content el contenido del fichero json
            content=`cat ./example2-gitactions/dependencies-one-line.json`
            //se setea como salida en la variable jsonDep
            echo "::set-output name=jsonDep::$content"
        //Tarea que pinta por pantalla los repositorios
        - name: print repositories
          run: |
            echo: "${{fromJson(steps.set_var.outputs.jsonDep).dependencies[0].repository}}"
            echo: "${{fromJson(steps.set_var.outputs.jsonDep).dependencies[1].repository}}"

Ejemplo Git action read json con JQ

Ejemplo Git action read json con JQ

Nota: Repositorio Github

Comentarios cerrados.

Categorias

Linkedin