AWS::CodeStar::GitHubRepository
The AWS::CodeStar::GitHubRepository
resource creates a GitHub
repository where users can store source code for use with AWS workflows. You must provide a location for
the source code ZIP file in the AWS CloudFormation template, so the
code can be uploaded to the created repository. You must have
created a personal access token in GitHub to provide in the AWS CloudFormation template. AWS uses this token to connect to GitHub on your behalf. For more information
about using a GitHub source repository with AWS CodeStar projects, see AWS CodeStar Project Files and Resources.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::CodeStar::GitHubRepository", "Properties" : { "Code" :
Code
, "ConnectionArn" :String
, "EnableIssues" :Boolean
, "IsPrivate" :Boolean
, "RepositoryAccessToken" :String
, "RepositoryDescription" :String
, "RepositoryName" :String
, "RepositoryOwner" :String
} }
YAML
Type: AWS::CodeStar::GitHubRepository Properties: Code:
Code
ConnectionArn:String
EnableIssues:Boolean
IsPrivate:Boolean
RepositoryAccessToken:String
RepositoryDescription:String
RepositoryName:String
RepositoryOwner:String
Properties
Code
-
Information about code to be committed to a repository after it is created in an AWS CloudFormation stack.
Required: No
Type: Code
Update requires: Updates are not supported.
ConnectionArn
Property description not available.
Required: No
Type: String
Update requires: No interruption
EnableIssues
-
Indicates whether to enable issues for the GitHub repository. You can use GitHub issues to track information and bugs for your repository.
Required: No
Type: Boolean
Update requires: Updates are not supported.
IsPrivate
-
Indicates whether the GitHub repository is a private repository. If so, you choose who can see and commit to this repository.
Required: No
Type: Boolean
Update requires: Updates are not supported.
RepositoryAccessToken
-
The GitHub user's personal access token for the GitHub repository.
Required: No
Type: String
Update requires: Updates are not supported.
RepositoryDescription
-
A comment or description about the new repository. This description is displayed in GitHub after the repository is created.
Required: No
Type: String
Update requires: Updates are not supported.
RepositoryName
-
The name of the repository you want to create in GitHub with AWS CloudFormation stack creation.
Required: Yes
Type: String
Update requires: Updates are not supported.
RepositoryOwner
-
The GitHub user name for the owner of the GitHub repository to be created. If this repository should be owned by a GitHub organization, provide its name.
Required: Yes
Type: String
Update requires: Updates are not supported.
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref
function, Ref
returns a string combination of the repository owner and the
repository name, such as my-github-account/my-github-repo
.
For more information about using the Ref
function, see Ref
.
Fn::GetAtt
Examples
GitHub Repository Resource Configuration
The following example for the AWS::CodeStar::GitHubRepository
resource creates a private GitHub repository with issues enabled.
When passing secret parameters, do not enter the value directly into the template. The value is rendered as plain text and is readable. Instead, enter secret parameters using one of the following methods:
-
Pass the value in as a
NoEcho
parameter. For more information, see Referencing a Parameter in a Template. -
Store the GitHub token in AWS Secrets Manager and retrieve it through the resource property. The following example shows the token ID as the parameter stored in AWS Secrets Manager with this value:
resolve:secretsmanager:your-secret-manager-name:SecretString:your-secret-manager-key
.
JSON
{ "MyRepo": { "Type": "AWS::CodeStar::GitHubRepository", "Properties": { "Code": { "S3": { "Bucket": "my-bucket", "Key": "sourcecode.zip", "ObjectVersion": "1" } }, "EnableIssues": true, "IsPrivate": true, "RepositoryAccessToken": "{{resolve:secretsmanager:your-secret-manager-name:SecretString:your-secret-manager-key}}", "RepositoryDescription": "a description", "RepositoryName": "my-github-repo", "RepositoryOwner": "my-github-account" } } }
YAML
MyRepo: Type: AWS::CodeStar::GitHubRepository Properties: Code: S3: Bucket: "my-bucket" Key: "sourcecode.zip" ObjectVersion: "1" EnableIssues: true IsPrivate: true RepositoryAccessToken: '{{resolve:secretsmanager:your-secret-manager-name:SecretString:your-secret-manager-key}}' RepositoryDescription: a description RepositoryName: my-github-repo RepositoryOwner: my-github-account