Class: Jenkins::Build::CLI

Inherits:
Thor
  • Object
show all
Extended by:
Git
Defined in:
lib/jenkins/build/cli.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Git

current_branch

Class Method Details

.configurationObject



9
10
11
# File 'lib/jenkins/build/cli.rb', line 9

def self.configuration
  Jenkins::Build::Configuration
end

Instance Method Details

#configureObject



19
20
21
22
23
# File 'lib/jenkins/build/cli.rb', line 19

def configure
  configuration.merge!(options)

  configuration.write
end

#failuresObject



51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/jenkins/build/cli.rb', line 51

def failures
  if options[:job] || options[:build]
    build = Jenkins::Build::Build.new(jenkins_job_url)
  else
    build = self.ci_status.build || Jenkins::Build::Build.new(jenkins_job_url)
  end

  report = client.test_report(number: build.number, project: build.job)

  failures = report.failures.compact

  puts failures
end

#statusObject



40
41
42
43
44
# File 'lib/jenkins/build/cli.rb', line 40

def status
  ci_status = self.ci_status

  puts "#{ci_status.status}: #{ci_status.build.uri}"
end

#trigger(*params) ⇒ Object



27
28
29
30
31
32
33
34
35
36
# File 'lib/jenkins/build/cli.rb', line 27

def trigger(*params)
  unless configuration.exists?
    warn "must run: 'jenkins-build configure' first"
    exit(1)
  end

  params_hash = params.map{|param| param.split('=') }.to_h
  client.trigger(branch, params_hash)
  puts "Triggered build of #{configuration.project} with branch #{branch} #{params.join(' ')}"
end