Sha256: 5f97d710c54470d79c6e4b0048dce15d6bbe588135fb65278ac7c6bfee163538

Contents?: true

Size: 1.28 KB

Versions: 1

Compression:

Stored size: 1.28 KB

Contents

require 'thor'

module JenkinsTracker
  class Cli < Thor

    desc 'integrate', 'Integrate Jenkins build with Pivotal Tracker project stories'
    method_option 'tracker-token', :required => true, :desc => 'Pivotal Tracker API Token'
    method_option 'tracker-project-id', :required => true, :type => :numeric, :desc => 'Pivotal Tracker Project ID'
    method_option 'job-name', :default => ENV['JOB_NAME'], :desc => 'Jenkins job name'
    method_option 'build-url', :default => ENV['BUILD_URL'], :desc => 'Jenkins build URL'
    method_option 'changelog-file', :desc => 'Absolute path to changelog file.', :default => "#{ENV['JENKINS_HOME']}/jobs/#{ENV['JOB_NAME']}/builds/#{ENV['BUILD_NUMBER']}/changelog.xml"
    def integrate
      job_name = options['job-name']
      tracker_project_id = options['tracker-project-id']

      begin
        JenkinsTracker::Base.new(
          :changelog_file => options['changelog-file'],
          :tracker_token => options['tracker-token'],
          :job_name      => job_name,
          :build_url     => options['build-url']
        ).integrate_job_with_tracker(tracker_project_id)

        say "Successfully integrated Jenkins Job (#{job_name}) with Pivotal Tracker Project (#{tracker_project_id})", :green
      rescue
        # do nothing
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jenkins_tracker-0.1.0 lib/jenkins_tracker/cli.rb