Sha256: 4ad4feb583d62b30d526727ec0295bf2e44e9f18b5b4dbf49fe5e8007879dc61

Contents?: true

Size: 1.22 KB

Versions: 3

Compression:

Stored size: 1.22 KB

Contents

# Example action
# Thank the person who submit an issue

class Thanks
  def initialize(settings, client, project, data, event)
    @settings = settings # action specific settings
    @client = client # Octokit client
    @project = project # project name
    @event = event # Github event
    @data = data
  end

  def run
    # Only trigger if a new issue is created
    unless @data['action'] == 'opened'
      return 200, "Web hook from GitHub for #{@project} does not have status opened. We don't thank people for closing issues"
    end
    issue = @data['issue']['number']
    submitter = @data['issue']['user']['login']
    comment = "@#{submitter} thanks for submitting this issue!"

    begin
      @client.add_comment(@project, issue, comment)
      return 200, "Commented!"
    rescue Octokit::NotFound
      return 404, "Octokit returned 404, this could be an issue with your access token"
    rescue Octokit::Unauthorized
      return 401, "Authorization to #{@project} failed, please verify your access token"
    rescue Octokit::TooManyLoginAttempts
      return 429, "Account for #{@project} has been temporary locked down due to to many failed login attempts"
    end
    # TODO - Verify return data from @client.add_comment
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
tutter-0.0.4 lib/tutter/action/thanks.rb
tutter-0.0.3 lib/tutter/action/thanks.rb
tutter-0.0.2 lib/tutter/action/thanks.rb