#!/usr/bin/env ruby require 'net/http' require 'json' uri = URI('https://gitlab.com/api/v4/projects/20699/trigger/pipeline') params = { "ref" => ENV["OMNIBUS_BRANCH"] || "master", "token" => ENV["BUILD_TRIGGER_TOKEN"], "variables[GITLAB_VERSION]" => ENV["CI_COMMIT_SHA"], "variables[ALTERNATIVE_SOURCES]" => true, "variables[ee]" => ENV["EE_PACKAGE"] || "false" } Dir.glob("*_VERSION").each do |version_file| params["variables[#{version_file}]"] = File.read(version_file).strip end res = Net::HTTP.post_form(uri, params) pipeline_id = JSON.parse(res.body)['id'] unless pipeline_id.nil? puts "Triggered pipeline can be found at https://gitlab.com/gitlab-org/omnibus-gitlab/pipelines/#{pipeline_id}" else puts "Trigger failed. The response from trigger is: " puts res.body end