From 736da21e33292fcd1799e4d61342811f08ac860e Mon Sep 17 00:00:00 2001 From: Steve Sloan Date: Thu, 24 Feb 2011 14:22:06 -0800 Subject: [PATCH] Support Heroku's HTTP Post deployhook. --- app/controllers/deploys_controller.rb | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/app/controllers/deploys_controller.rb b/app/controllers/deploys_controller.rb index 361a125..2c2f231 100644 --- a/app/controllers/deploys_controller.rb +++ b/app/controllers/deploys_controller.rb @@ -5,12 +5,24 @@ class DeploysController < ApplicationController def create @app = App.find_by_api_key!(params[:api_key]) - @deploy = @app.deploys.create!({ - :username => params[:deploy][:local_username], - :environment => params[:deploy][:rails_env], - :repository => params[:deploy][:scm_repository], - :revision => params[:deploy][:scm_revision] - }) + if params[:deploy] + deploy = { + :username => params[:deploy][:local_username], + :environment => params[:deploy][:rails_env], + :repository => params[:deploy][:scm_repository], + :revision => params[:deploy][:scm_revision], + } + end + + # handle Heroku's HTTP post deployhook format + deploy ||= { + :username => params[:user], + :environment => params[:rack_env].try(:downcase) || params[:app], + :repository => "git@heroku.com:#{params[:app]}.git", + :revision => params[:head], + } + + @deploy = @app.deploys.create!(deploy) render :xml => @deploy end -- libgit2 0.21.2