/app/controllers/issues_controller.rb
Ruby | 42 lines | 33 code | 9 blank | 0 comment | 0 complexity | ed56638741e1bb09790c9bbef16b31e1 MD5 | raw file
- class IssuesController < ApplicationController
- respond_to :json
- def index
- response = issues.get(repository_path)
- render :json => response.body, :status => response.code
- end
- def comments
- path = repository_path + "/#{params['id']}/comments"
- response = issues.get(repository_path)
- render :json => response.body, :status=>response.code
- end
- def new
- options = params.select{|k,v| ["title", "content", "kind", "priority", "milestone", "component"].include? k}
- response = issues.post(repository_path, options)
- render :json => response.body, :status=>response.code
- end
- def open
- options = {:status => 'open'}
- response = issues.put(repository_path + "/#{params['id']}", options)
- render :json => response.body, :status=>response.code
- end
- private
- def issues
- c = OAuth::Consumer.new(ENV['BITBUCKET_KEY'], ENV['BITBUCKET_SECRET'], :site => 'https://bitbucket.org/api/1.0')
-
- a = OAuth::AccessToken.new c
- a.token = @access_token
- a.secret = @access_secret
- a
- end
- def repository_path
- '/repositories/' + params['repo'] + '/issues'
- end
- end