Sha256: 76c882e8640476b8576d2e0a0fbf8d81469d9344f5034bf5a61cb9f7de09e879

Contents?: true

Size: 756 Bytes

Versions: 2

Compression:

Stored size: 756 Bytes

Contents

require "rundock/plugin/hook/slack/version"
require 'slack'

module Rundock
  module Hook
    class Slack < Base
      def hook(operation_attributes, log_buffer)

        ::Slack.configure do |config|
          config.token = @contents[:token]
        end

        @contents[:channel] = '#' + @contents[:channel]
        Logger.info("send slack to #{@contents[:channel]} channel")
        post_args = @contents.dup.reject {|k, v| k == :token}

        out_msg = ''
        log_buffer.each do |log|
          out_msg += log.formatted_message
        end

        Logger.debug("post args: #{post_args.to_s}")

        post_args[:text] = out_msg
        ::Slack.chat_postMessage(post_args) unless operation_attributes[0][:dry_run]
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rundock-plugin-hook-slack-0.2.2 lib/rundock/plugin/hook/slack.rb
rundock-plugin-hook-slack-0.2.1 lib/rundock/plugin/hook/slack.rb