Interface GitHubSourceActionProps
- All Superinterfaces:
CommonActionProps,software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
GitHubSourceActionProps.Jsii$Proxy
GitHubSourceAction GitHub source action.
Example:
// Read the secret from Secrets Manager
Pipeline pipeline = new Pipeline(this, "MyPipeline");
Artifact sourceOutput = new Artifact();
GitHubSourceAction sourceAction = GitHubSourceAction.Builder.create()
.actionName("GitHub_Source")
.owner("awslabs")
.repo("aws-cdk")
.oauthToken(SecretValue.secretsManager("my-github-token"))
.output(sourceOutput)
.branch("develop")
.build();
pipeline.addStage(StageOptions.builder()
.stageName("Source")
.actions(List.of(sourceAction))
.build());
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classA builder forGitHubSourceActionPropsstatic final classAn implementation forGitHubSourceActionProps -
Method Summary
Modifier and TypeMethodDescriptionbuilder()default StringThe branch to use.A GitHub OAuth token to use for authentication.getOwner()The GitHub account/user that owns the repo.getRepo()The name of the repo, without the username.default GitHubTriggerHow AWS CodePipeline should be triggered.Methods inherited from interface software.amazon.awscdk.services.codepipeline.CommonActionProps
getActionName, getRunOrder, getVariablesNamespaceMethods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Method Details
-
getOauthToken
A GitHub OAuth token to use for authentication.It is recommended to use a Secrets Manager
Secretto obtain the token:const oauth = cdk.SecretValue.secretsManager('my-github-token'); new GitHubSourceAction(this, 'GitHubAction', { oauthToken: oauth, ... });
If you rotate the value in the Secret, you must also change at least one property of the CodePipeline to force CloudFormation to re-read the secret.
The GitHub Personal Access Token should have these scopes:
- repo - to read the repository
- admin:repo_hook - if you plan to use webhooks (true by default)
- See Also:
-
getOutput
-
getOwner
The GitHub account/user that owns the repo. -
getRepo
The name of the repo, without the username. -
getBranch
The branch to use.Default: "master"
-
getTrigger
How AWS CodePipeline should be triggered.With the default value "WEBHOOK", a webhook is created in GitHub that triggers the action With "POLL", CodePipeline periodically checks the source for changes With "None", the action is not triggered through changes in the source
To use
WEBHOOK, your GitHub Personal Access Token should have admin:repo_hook scope (in addition to the regular repo scope).Default: GitHubTrigger.WEBHOOK
-
builder
- Returns:
- a
GitHubSourceActionProps.BuilderofGitHubSourceActionProps
-