Module: Codepipe::Dsl::Pipeline::Github

Included in:
Codepipe::Dsl::Pipeline
Defined in:
lib/codepipe/dsl/pipeline/github.rb

Instance Method Summary collapse

Instance Method Details

#github(props) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/codepipe/dsl/pipeline/github.rb', line 3

def github(props)
  # nice shorthands
  source = props.delete(:source)
  owner,repo = source.split("/")

  # cli option can override this in codepipe/pipeline.rb set_source!
  # so cli option always gets the highest precendence
  branch = props.delete(:branch) || "master" # always delete branch prop

  o_auth_token = props.delete(:auth_token)
  poll_for_source_changes = props.delete(:poll_for_source_changes) || "false"

  default = {
    name: "Source",
    action_type_id: {
      category: "Source",
      owner: "ThirdParty",
      provider: "GitHub",
      version: "1",
    },
    run_order: @run_order,
    configuration: {
      branch: branch,
      o_auth_token: o_auth_token,
      owner: owner,
      poll_for_source_changes: poll_for_source_changes,
      repo: repo,
    },
    output_artifacts: [name: "SourceArtifact"]
  }
  action(props.reverse_merge(default))
end