# File lib/new_relic/recipes/capistrano3.rb, line 23
  def send_deployment_notification_to_newrelic
    environment = fetch(:newrelic_rails_env, fetch(:rack_env, fetch(:rails_env, fetch(:stage, "production"))))

    require 'new_relic/cli/command.rb'

    begin
      # allow overrides to be defined for revision, description, changelog, appname, and user
      rev         = fetch(:newrelic_revision)
      description = fetch(:newrelic_desc)
      changelog   = fetch(:newrelic_changelog)
      appname     = fetch(:newrelic_appname)
      user        = fetch(:newrelic_user)
      license_key = fetch(:newrelic_license_key)

      unless scm == :none
        changelog ||= lookup_changelog
        rev       ||= fetch(:current_revision)
      end

      new_revision = rev
      deploy_options = {
        :environment => environment,
        :revision    => new_revision,
        :changelog   => changelog,
        :description => description,
        :appname     => appname,
        :user        => user,
        :license_key => license_key
      }

      debug "Uploading deployment to New Relic"
      deployment = NewRelic::Cli::Deployments.new deploy_options
      deployment.run
      info "Uploaded deployment information to New Relic"

    rescue NewRelic::Cli::Command::CommandFailure => e
      info e.message
    rescue => e
      info "Error creating New Relic deployment (#{e})\n#{e.backtrace.join("\n")}"
    end
  end