BigW Consortium Gitlab

trigger-build 798 Bytes
Newer Older
1 2 3 4 5 6 7
#!/usr/bin/env ruby

require 'net/http'
require 'json'

uri = URI('https://gitlab.com/api/v4/projects/20699/trigger/pipeline')
params = {
8 9 10
  "ref" => ENV["OMNIBUS_BRANCH"] || "master",
  "token" => ENV["BUILD_TRIGGER_TOKEN"],
  "variables[GITLAB_VERSION]" => ENV["CI_COMMIT_SHA"],
11
  "variables[ALTERNATIVE_SOURCES]" => true,
12
  "variables[ee]" => ENV["EE_PACKAGE"] || "false"
13
}
14

15 16 17
Dir.glob("*_VERSION").each do |version_file|
  params["variables[#{version_file}]"] = File.read(version_file).strip
end
18

19 20
res = Net::HTTP.post_form(uri, params)
pipeline_id = JSON.parse(res.body)['id']
21

22 23 24 25 26 27
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