Class: AWSCDK::CodeBuild::GitHubSourceProps

Inherits:
SourceProps
  • Object
show all
Defined in:
code_build/git_hub_source_props.rb

Overview

Construction properties for GitHubSource and GitHubEnterpriseSource.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(identifier: nil, owner:, branch_or_ref: nil, build_status_context: nil, build_status_url: nil, clone_depth: nil, fetch_submodules: nil, repo: nil, report_build_status: nil, webhook: nil, webhook_filters: nil, webhook_triggers_batch_build: nil) ⇒ GitHubSourceProps

Returns a new instance of GitHubSourceProps.

Parameters:

  • identifier (String, nil) (defaults to: nil)

    The source identifier.

  • owner (String)

    The GitHub Organization/user that owns the repo.

  • branch_or_ref (String, nil) (defaults to: nil)

    The commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build.

  • build_status_context (String, nil) (defaults to: nil)

    This parameter is used for the context parameter in the GitHub commit status.

  • build_status_url (String, nil) (defaults to: nil)

    The URL that the build will report back to the source provider.

  • clone_depth (Numeric, nil) (defaults to: nil)

    The depth of history to download.

  • fetch_submodules (Boolean, nil) (defaults to: nil)

    Whether to fetch submodules while cloning git repo.

  • repo (String, nil) (defaults to: nil)

    The name of the repo (without the username).

  • report_build_status (Boolean, nil) (defaults to: nil)

    Whether to send notifications on your build's start and end.

  • webhook (Boolean, nil) (defaults to: nil)

    Whether to create a webhook that will trigger a build every time an event happens in the repository.

  • webhook_filters (Array<AWSCDK::CodeBuild::FilterGroup>, nil) (defaults to: nil)

    A list of webhook filters that can constraint what events in the repository will trigger a build.

  • webhook_triggers_batch_build (Boolean, nil) (defaults to: nil)

    Trigger a batch build from a webhook instead of a standard one.



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'code_build/git_hub_source_props.rb', line 19

def initialize(identifier: nil, owner:, branch_or_ref: nil, build_status_context: nil, build_status_url: nil, clone_depth: nil, fetch_submodules: nil, repo: nil, report_build_status: nil, webhook: nil, webhook_filters: nil, webhook_triggers_batch_build: nil)
  @identifier = identifier
  Jsii::Type.check_type(@identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "identifier") unless @identifier.nil?
  @owner = owner
  Jsii::Type.check_type(@owner, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "owner")
  @branch_or_ref = branch_or_ref
  Jsii::Type.check_type(@branch_or_ref, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "branchOrRef") unless @branch_or_ref.nil?
  @build_status_context = build_status_context
  Jsii::Type.check_type(@build_status_context, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "buildStatusContext") unless @build_status_context.nil?
  @build_status_url = build_status_url
  Jsii::Type.check_type(@build_status_url, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "buildStatusUrl") unless @build_status_url.nil?
  @clone_depth = clone_depth
  Jsii::Type.check_type(@clone_depth, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "cloneDepth") unless @clone_depth.nil?
  @fetch_submodules = fetch_submodules
  Jsii::Type.check_type(@fetch_submodules, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "fetchSubmodules") unless @fetch_submodules.nil?
  @repo = repo
  Jsii::Type.check_type(@repo, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "repo") unless @repo.nil?
  @report_build_status = report_build_status
  Jsii::Type.check_type(@report_build_status, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "reportBuildStatus") unless @report_build_status.nil?
  @webhook = webhook
  Jsii::Type.check_type(@webhook, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "webhook") unless @webhook.nil?
  @webhook_filters = webhook_filters
  Jsii::Type.check_type(@webhook_filters, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jb2RlYnVpbGQuRmlsdGVyR3JvdXAifSwia2luZCI6ImFycmF5In19")), "webhookFilters") unless @webhook_filters.nil?
  @webhook_triggers_batch_build = webhook_triggers_batch_build
  Jsii::Type.check_type(@webhook_triggers_batch_build, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "webhookTriggersBatchBuild") unless @webhook_triggers_batch_build.nil?
end

Instance Attribute Details

#branch_or_refString? (readonly)

Note:

Default: the default branch's HEAD commit ID is used

The commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build.

Examples:

"mybranch"

Returns:

  • (String, nil)


64
65
66
# File 'code_build/git_hub_source_props.rb', line 64

def branch_or_ref
  @branch_or_ref
end

#build_status_contextString? (readonly)

Note:

Default: "AWS CodeBuild $AWS_REGION ($PROJECT_NAME)"

This parameter is used for the context parameter in the GitHub commit status.

Can use built-in CodeBuild variables, like $AWS_REGION.

Examples:

"My build \#$CODEBUILD_BUILD_NUMBER"

Returns:

  • (String, nil)

See Also:



74
75
76
# File 'code_build/git_hub_source_props.rb', line 74

def build_status_context
  @build_status_context
end

#build_status_urlString? (readonly)

Note:

Default: - link to the AWS Console for CodeBuild to a particular build execution

The URL that the build will report back to the source provider.

Can use built-in CodeBuild variables, like $AWS_REGION.

Examples:

"$CODEBUILD_PUBLIC_BUILD_URL"

Returns:

  • (String, nil)

See Also:



84
85
86
# File 'code_build/git_hub_source_props.rb', line 84

def build_status_url
  @build_status_url
end

#clone_depthNumeric? (readonly)

The depth of history to download.

Minimum value is 0. If this value is 0, greater than 25, or not provided, then the full history is downloaded with each build of the project.

Returns:

  • (Numeric, nil)


92
93
94
# File 'code_build/git_hub_source_props.rb', line 92

def clone_depth
  @clone_depth
end

#fetch_submodulesBoolean? (readonly)

Note:

Default: false

Whether to fetch submodules while cloning git repo.

Returns:

  • (Boolean, nil)


97
98
99
# File 'code_build/git_hub_source_props.rb', line 97

def fetch_submodules
  @fetch_submodules
end

#identifierString? (readonly)

The source identifier.

This property is required on secondary sources.

Returns:

  • (String, nil)


51
52
53
# File 'code_build/git_hub_source_props.rb', line 51

def identifier
  @identifier
end

#ownerString (readonly)

The GitHub Organization/user that owns the repo.

Examples:

"awslabs"

Returns:

  • (String)


57
58
59
# File 'code_build/git_hub_source_props.rb', line 57

def owner
  @owner
end

#repoString? (readonly)

Note:

Default: undefined will create an organization webhook

The name of the repo (without the username).

Examples:

"aws-cdk"

Returns:

  • (String, nil)


104
105
106
# File 'code_build/git_hub_source_props.rb', line 104

def repo
  @repo
end

#report_build_statusBoolean? (readonly)

Note:

Default: true

Whether to send notifications on your build's start and end.

Returns:

  • (Boolean, nil)


109
110
111
# File 'code_build/git_hub_source_props.rb', line 109

def report_build_status
  @report_build_status
end

#webhookBoolean? (readonly)

Note:

Default: true if any webhookFilters were provided, false otherwise

Whether to create a webhook that will trigger a build every time an event happens in the repository.

Returns:

  • (Boolean, nil)


114
115
116
# File 'code_build/git_hub_source_props.rb', line 114

def webhook
  @webhook
end

#webhook_filtersArray<AWSCDK::CodeBuild::FilterGroup>? (readonly)

Note:

Default: every push and every Pull Request (create or update) triggers a build

A list of webhook filters that can constraint what events in the repository will trigger a build.

A build is triggered if any of the provided filter groups match. Only valid if webhook was not provided as false.

Returns:



122
123
124
# File 'code_build/git_hub_source_props.rb', line 122

def webhook_filters
  @webhook_filters
end

#webhook_triggers_batch_buildBoolean? (readonly)

Note:

Default: false

Trigger a batch build from a webhook instead of a standard one.

Enabling this will enable batch builds on the CodeBuild project.

Returns:

  • (Boolean, nil)


129
130
131
# File 'code_build/git_hub_source_props.rb', line 129

def webhook_triggers_batch_build
  @webhook_triggers_batch_build
end

Class Method Details

.jsii_propertiesObject



131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# File 'code_build/git_hub_source_props.rb', line 131

def self.jsii_properties
  {
    :identifier => "identifier",
    :owner => "owner",
    :branch_or_ref => "branchOrRef",
    :build_status_context => "buildStatusContext",
    :build_status_url => "buildStatusUrl",
    :clone_depth => "cloneDepth",
    :fetch_submodules => "fetchSubmodules",
    :repo => "repo",
    :report_build_status => "reportBuildStatus",
    :webhook => "webhook",
    :webhook_filters => "webhookFilters",
    :webhook_triggers_batch_build => "webhookTriggersBatchBuild",
  }
end

Instance Method Details

#to_jsiiObject



148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# File 'code_build/git_hub_source_props.rb', line 148

def to_jsii
  result = {}
  result.merge!(super)
  result.merge!({
    "identifier" => @identifier,
    "owner" => @owner,
    "branchOrRef" => @branch_or_ref,
    "buildStatusContext" => @build_status_context,
    "buildStatusUrl" => @build_status_url,
    "cloneDepth" => @clone_depth,
    "fetchSubmodules" => @fetch_submodules,
    "repo" => @repo,
    "reportBuildStatus" => @report_build_status,
    "webhook" => @webhook,
    "webhookFilters" => @webhook_filters,
    "webhookTriggersBatchBuild" => @webhook_triggers_batch_build,
  })
  result.compact
end