Interface GitHubSourceActionProps

All Superinterfaces:
CommonActionProps, software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
GitHubSourceActionProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.98.0 (build 00b106d)", date="2024-05-02T15:58:23.185Z") @Stability(Stable) public interface GitHubSourceActionProps extends software.amazon.jsii.JsiiSerializable, CommonActionProps
Construction properties of the 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());
 
  • Method Details

    • getOauthToken

      @Stability(Stable) @NotNull SecretValue getOauthToken()
      A GitHub OAuth token to use for authentication.

      It is recommended to use a Secrets Manager Secret to 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

      @Stability(Stable) @NotNull Artifact getOutput()
    • getOwner

      @Stability(Stable) @NotNull String getOwner()
      The GitHub account/user that owns the repo.
    • getRepo

      @Stability(Stable) @NotNull String getRepo()
      The name of the repo, without the username.
    • getBranch

      @Stability(Stable) @Nullable default String getBranch()
      The branch to use.

      Default: "master"

    • getTrigger

      @Stability(Stable) @Nullable default GitHubTrigger 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

      @Stability(Stable) static GitHubSourceActionProps.Builder builder()
      Returns:
      a GitHubSourceActionProps.Builder of GitHubSourceActionProps