class Pipedream::Webhook
Public Class Methods
new(options={})
click to toggle source
# File lib/pipedream/webhook.rb, line 6 def initialize(options={}) @options = options @webhook_path = options[:webhook_path] || get_webhook_path @properties = default_properties end
Public Instance Methods
default_properties()
click to toggle source
# File lib/pipedream/webhook.rb, line 29 def default_properties { authentication: 'GITHUB_HMAC', # GITHUB_HMAC, IP and UNAUTHENTICATED authentication_configuration: { secret_token: @secret_token, }, filters: [{ json_path: "$.ref", match_equals: "refs/heads/{Branch}", }], # name: '', # optional register_with_third_party: 'true', # optional target_action: 'Source', target_pipeline: {ref: "Pipeline"}, target_pipeline_version: {"Fn::GetAtt": "Pipeline.Version"}, } end
run()
click to toggle source
# File lib/pipedream/webhook.rb, line 12 def run return unless File.exist?(@webhook_path) old_properties = @properties.clone evaluate(@webhook_path) set_secret_token! return if old_properties == @properties # empty webhook.rb file resource = { webhook: { type: "AWS::CodePipeline::Webhook", properties: @properties } } CfnCamelizer.transform(resource) end
set_secret_token!()
click to toggle source
# File lib/pipedream/webhook.rb, line 47 def set_secret_token! @properties.merge!( authentication_configuration: { secret_token: @secret_token } ) end
Private Instance Methods
get_webhook_path()
click to toggle source
# File lib/pipedream/webhook.rb, line 56 def get_webhook_path lookup_pipedream_file("webhook.rb") end