Sha256: df5472192b38b494a3495b4f81a12ea5d5082146965cdfe91dc7a2a93238910a

Contents?: true

Size: 795 Bytes

Versions: 2

Compression:

Stored size: 795 Bytes

Contents

module JenkinsTracker
  class Base
    include Util

    attr_reader :changelog, :tracker_client, :job_name, :build_url

    def initialize(options = {})
      raise FileNotFoundError, "Changelog file not found at: #{options[:changelog_file]}" unless File.file?(options[:changelog_file])

      @changelog = File.read(options[:changelog_file])
      @tracker_client = TrackerClient.new(:token => options[:tracker_token])
      @job_name = options[:job_name]
      @build_url = options[:build_url]
    end

    def integrate_job_with_tracker(project_id)
      parse_changelog(changelog).each do |change|
        note = "*#{change.commit_message}* integrated in *#{job_name}* (#{build_url})"
        tracker_client.add_note_to_story(project_id, change.story_id, note)
      end
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
jenkins_tracker-0.2.1 lib/jenkins_tracker/base.rb
jenkins_tracker-0.2.0 lib/jenkins_tracker/base.rb