Skip to content

pipeline-components/jsonlint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

300 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pipeline Components: Jsonlint

Project Stage Project Maintenance License GitLab CI

Docker status

Image Size Docker Pulls

Usage

The image is for running jsonlint, jsonlint is installed in /app/ in case you need to customize the install before usage.

Examples

GitLab CI

jsonlint:
  stage: linting
  image: registry.gitlab.com/pipeline-components/jsonlint:latest
  script:
    - |
      find . -not -path './.git/*' -name '*.json' -type f -print0 |
      parallel --will-cite -k -0 -n1 jsonlint -q

Jenkins Pipeline (Jenkinsfile)

pipeline {
  agent none
  stages {
    // Perform JSON linting against files in ./folder_containing_json_files
    // FAIL the build if linting does not pass
    stage('Linting'){
      agent {
        docker {
          image 'pipelinecomponents/jsonlint:latest'
          registryUrl 'REDACTED'
          args '-v "/$(pwd)/folder_containing_json_files":/code'
        }
      }
      steps {
        // Emits complete command to be run on each invocation of xargs via -t option
        // Exits with code '123' upon linting failure
        sh "find . -name \'*.json\' -type f | xargs -t -n 1 jsonlint -q"
      }
    }
  ...
  }
}

Versioning

This project uses Semantic Versioning for its version numbering.

Support

Got questions?

Check the discord channel

You could also open an issue here

Contributing

This is an active open-source project. We are always open to people who want to use the code or contribute to it.

We've set up a separate document for our contribution guidelines.

Thank you for being involved! 😍

Authors & contributors

The original setup of this repository is by Robbert Müller.

The Build pipeline is large based on Community Hass.io Add-ons by Franck Nijhof.

For a full list of all authors and contributors, check the contributor's page.

License

This project is licensed under the MIT License by Robbert Müller.

Sponsor this project

Packages

 
 
 

Contributors