CodeCommit pull request approval rules to enforcing your pull request workflow
Project description
@cloudcomponents/cdk-pull-request-approval-rule
CodeCommit pull request approval rules to enforcing your pull request workflow
Install
TypeScript/JavaScript:
npm i @cloudcomponents/cdk-pull-request-approval-rule
Python:
pip install cloudcomponents.cdk-pull-request-approval-rule
How to use
import { ApprovalRuleTemplate, ApprovalRuleTemplateRepositoryAssociation } from '@cloudcomponents/cdk-pull-request-approval-rule';
import { PullRequestCheck } from '@cloudcomponents/cdk-pull-request-check';
import { Stack, StackProps } from 'aws-cdk-lib';
import { BuildSpec } from 'aws-cdk-lib/aws-codebuild';
import { Repository } from 'aws-cdk-lib/aws-codecommit';
import { Construct } from 'constructs';
export class PullRequestStack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
const repository = new Repository(this, 'Repository', {
repositoryName: 'pr-check-repository',
});
const { approvalRuleTemplateName } = new ApprovalRuleTemplate(this, 'ApprovalRuleTemplate', {
approvalRuleTemplateName: 'template-name',
template: {
approvers: {
numberOfApprovalsNeeded: 1,
},
},
});
new ApprovalRuleTemplateRepositoryAssociation(this, 'ApprovalRuleTemplateRepositoryAssociation', {
approvalRuleTemplateName,
repository,
});
new PullRequestCheck(this, 'PullRequestCheck', {
repository,
buildSpec: BuildSpec.fromSourceFilename('prcheck.yml'),
});
}
}
ApprovalRuleOverridden notification
import { ApprovalRuleTemplate, ApprovalRuleTemplateRepositoryAssociation } from '@cloudcomponents/cdk-pull-request-approval-rule';
import { PullRequestCheck } from '@cloudcomponents/cdk-pull-request-check';
import { Stack, StackProps } from 'aws-cdk-lib';
import { BuildSpec } from 'aws-cdk-lib/aws-codebuild';
import { Repository } from 'aws-cdk-lib/aws-codecommit';
import { SnsTopic } from 'aws-cdk-lib/aws-events-targets';
import { Topic } from 'aws-cdk-lib/aws-sns';
import { Construct } from 'constructs';
export class PullRequestStack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
const repository = new Repository(this, 'Repository', {
repositoryName: 'pr-check-repository',
});
const { approvalRuleTemplateName } = new ApprovalRuleTemplate(
this,
'ApprovalRuleTemplate',
{
approvalRuleTemplateName: 'template-name',
template: {
approvers: {
numberOfApprovalsNeeded: 1,
},
},
},
);
const ruleAsscociation = new ApprovalRuleTemplateRepositoryAssociation(
stack,
'ApprovalRuleTemplateRepositoryAssociation',
{
approvalRuleTemplateName,
repository,
},
);
const topic = new Topic(stack, 'Topic');
ruleAsscociation.onOverridden('overridden', {
target: new SnsTopic(topic),
});
// Approves the pull request
new PullRequestCheck(this, 'PullRequestCheck', {
repository,
buildSpec: BuildSpec.fromSourceFilename('prcheck.yml'),
});
}
}
API Reference
See API.md.
Example
See more complete examples.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for cloudcomponents.cdk-pull-request-approval-rule-2.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0505f103a92cd4f7ccfd2997df1e839d54f7055fa68480206d0e41a540751744 |
|
MD5 | 4e7a4580d58bb14358b38835209a0971 |
|
BLAKE2b-256 | c3e12659e9a39b955d68518a6b7b20f8acf8735267180cef9884083dfa6fd0eb |
Close
Hashes for cloudcomponents.cdk_pull_request_approval_rule-2.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1616d52ba027f08c6e364b0e433c3885458791fe86f45ccdf39d8056a0384cf2 |
|
MD5 | ab8f94aef4a7e3de9e39b96a230a3952 |
|
BLAKE2b-256 | 06ded5ab5152a4f48b1263ffca390a19ca63d2b0cc676a13421a6329a76ccf37 |