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 📥

GitLab CI YMLs API

List GitLab CI YML templates

Get all GitLab CI YML templates.

GET /templates/gitlab_ci_ymls
curl https://gitlab.example.com/api/v4/templates/gitlab_ci_ymls

Example response:

[
  {
    "name": "C++"
  },
  {
    "name": "Docker"
  },
  {
    "name": "Elixir"
  },
  {
    "name": "LaTeX"
  },
  {
    "name": "Grails"
  },
  {
    "name": "Rust"
  },
  {
    "name": "Nodejs"
  },
  {
    "name": "Ruby"
  },
  {
    "name": "Scala"
  },
  {
    "name": "Maven"
  },
  {
    "name": "Harp"
  },
  {
    "name": "Pelican"
  },
  {
    "name": "Hyde"
  },
  {
    "name": "Nanoc"
  },
  {
    "name": "Octopress"
  },
  {
    "name": "JBake"
  },
  {
    "name": "HTML"
  },
  {
    "name": "Hugo"
  },
  {
    "name": "Metalsmith"
  },
  {
    "name": "Hexo"
  },
  {
    "name": "Lektor"
  },
  {
    "name": "Doxygen"
  },
  {
    "name": "Brunch"
  },
  {
    "name": "Jekyll"
  },
  {
    "name": "Middleman"
  }
]

Single GitLab CI YML template

Get a single GitLab CI YML template.

GET /templates/gitlab_ci_ymls/:key
Attribute Type Required Description
key string yes The key of the GitLab CI YML template
curl https://gitlab.example.com/api/v4/templates/gitlab_ci_ymls/Ruby

Example response:

{
  "name": "Ruby",
  "content": "# This file is a template, and might need editing before it works on your project.\n# Official language image. Look for the different tagged releases at:\n# https://hub.docker.com/r/library/ruby/tags/\nimage: \"ruby:2.3\"\n\n# Pick zero or more services to be used on all builds.\n# Only needed when using a docker container to run your tests in.\n# Check out: http://docs.gitlab.com/ce/ci/docker/using_docker_images.html#what-is-service\nservices:\n  - mysql:latest\n  - redis:latest\n  - postgres:latest\n\nvariables:\n  POSTGRES_DB: database_name\n\n# Cache gems in between builds\ncache:\n  paths:\n    - vendor/ruby\n\n# This is a basic example for a gem or script which doesn't use\n# services such as redis or postgres\nbefore_script:\n  - ruby -v                                   # Print out ruby version for debugging\n  # Uncomment next line if your rails app needs a JS runtime:\n  # - apt-get update -q && apt-get install nodejs -yqq\n  - gem install bundler  --no-ri --no-rdoc    # Bundler is not installed with the image\n  - bundle install -j $(nproc) --path vendor  # Install dependencies into ./vendor/ruby\n\n# Optional - Delete if not using `rubocop`\nrubocop:\n  script:\n  - rubocop\n\nrspec:\n  script:\n  - rspec spec\n\nrails:\n  variables:\n    DATABASE_URL: \"postgresql://postgres:postgres@postgres:5432/$POSTGRES_DB\"\n  script:\n  - bundle exec rake db:migrate\n  - bundle exec rake db:seed\n  - bundle exec rake test\n"
}