This GitLab instance reached the end of its service life. It won't be possible to create new users or projects.

Please read the deprecation notice for more information concerning the deprecation timeline

Visit migration.git.tu-berlin.de (internal network only) to import your old projects to the new GitLab platform 📥

Validate the .gitlab-ci.yml (API)

Introduced in GitLab 8.12.

Checks if your .gitlab-ci.yml file is valid.

POST /lint
Attribute Type Required Description
content string yes the .gitlab-ci.yaml content
curl --header "Content-Type: application/json" https://gitlab.example.com/api/v4/ci/lint --data '{"content": "{ \"image\": \"ruby:2.1\", \"services\": [\"postgres\"], \"before_script\": [\"gem install bundler\", \"bundle install\", \"bundle exec rake db:create\"], \"variables\": {\"DB_NAME\": \"postgres\"}, \"types\": [\"test\", \"deploy\", \"notify\"], \"rspec\": { \"script\": \"rake spec\", \"tags\": [\"ruby\", \"postgres\"], \"only\": [\"branches\"]}}"}'

Be sure to copy paste the exact contents of .gitlab-ci.yml as YAML is very picky about indentation and spaces.

Example responses:

  • Valid content:

    {
      "status": "valid",
      "errors": []
    }
  • Invalid content:

    {
      "status": "invalid",
      "errors": [
        "variables config should be a hash of key value pairs"
      ]
    }
  • Without the content attribute:

    {
      "error": "content is missing"
    }