%global _empty_manifest_terminate_build 0 Name: python-cloudcomponents.cdk-codepipeline-slack Version: 2.1.0 Release: 1 Summary: Cdk component that provisions a #slack approval workflow and notification messages on codepipeline state changes License: MIT URL: https://github.com/cloudcomponents/cdk-constructs Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ee/a1/666366ffeab1d13c5f958df8002fee563bc11f867d1c17159cbb66a60fa0/cloudcomponents.cdk-codepipeline-slack-2.1.0.tar.gz BuildArch: noarch Requires: python3-aws-cdk-lib Requires: python3-constructs Requires: python3-jsii Requires: python3-publication %description [![cloudcomponents Logo](https://raw.githubusercontent.com/cloudcomponents/cdk-constructs/master/logo.png)](https://github.com/cloudcomponents/cdk-constructs) # @cloudcomponents/cdk-codepipeline-slack [![Build Status](https://github.com/cloudcomponents/cdk-constructs/workflows/Build/badge.svg)](https://github.com/cloudcomponents/cdk-constructs/actions?query=workflow=Build) [![cdkdx](https://img.shields.io/badge/buildtool-cdkdx-blue.svg)](https://github.com/hupe1980/cdkdx) [![typescript](https://img.shields.io/badge/jsii-typescript-blueviolet.svg)](https://www.npmjs.com/package/@cloudcomponents/cdk-codepipeline-slack) [![python](https://img.shields.io/badge/jsii-python-blueviolet.svg)](https://pypi.org/project/cloudcomponents.cdk-codepipeline-slack/) [![Mentioned in Awesome CDK](https://awesome.re/mentioned-badge.svg)](https://github.com/kolomied/awesome-cdk) > Cdk component that provisions a #slack approval workflow and notification messages on codepipeline state changes ![Approval Workflow](https://raw.githubusercontent.com/cloudcomponents/cdk-constructs/master/packages/cdk-codepipeline-slack/assets/approval_workflow.png) ![Review Dialog](https://raw.githubusercontent.com/cloudcomponents/cdk-constructs/master/packages/cdk-codepipeline-slack/assets/review_dialog.png) ## Install TypeScript/JavaScript: ```bash npm install --save @cloudcomponents/cdk-codepipeline-slack ``` Python: ```bash pip install cloudcomponents.cdk-codepipeline-slack ``` ## How to use ```python import { SlackApprovalAction, SlackNotifier } from '@cloudcomponents/cdk-codepipeline-slack'; import { Stack, StackProps } from 'aws-cdk-lib'; import { Repository } from 'aws-cdk-lib/aws-codecommit'; import { Pipeline, Artifact } from 'aws-cdk-lib/aws-codepipeline'; import { CodeCommitSourceAction } from 'aws-cdk-lib/aws-codepipeline-actions'; import { Construct } from 'constructs'; export class CodePipelineSlackApprovalStack extends Stack { constructor(scope: Construct, id: string, props?: StackProps) { super(scope, id, props); const repository = new Repository(this, 'Repository', { repositoryName: 'MyRepositoryName', }); const sourceArtifact = new Artifact(); const sourceAction = new CodeCommitSourceAction({ actionName: 'CodeCommit', repository, output: sourceArtifact, }); if (typeof process.env.SLACK_BOT_TOKEN === 'undefined') { throw new Error('environment variable SLACK_BOT_TOKEN undefined'); } const slackBotToken = process.env.SLACK_BOT_TOKEN; if (typeof process.env.SLACK_SIGNING_SECRET === 'undefined') { throw new Error('environment variable SLACK_SIGNING_SECRET undefined'); } const slackSigningSecret = process.env.SLACK_SIGNING_SECRET; if (typeof process.env.SLACK_CHANNEL_NAME === 'undefined') { throw new Error('environment variable SLACK_CHANNEL_NAME undefined'); } const slackChannel = process.env.SLACK_CHANNEL_NAME; const approvalAction = new SlackApprovalAction({ actionName: 'SlackApproval', slackBotToken, slackSigningSecret, slackChannel, externalEntityLink: 'http://cloudcomponents.org', additionalInformation: 'Would you like to promote the build to production?', }); const pipeline = new Pipeline(this, 'MyPipeline', { pipelineName: 'MyPipeline', stages: [ { stageName: 'Source', actions: [sourceAction], }, { stageName: 'Approval', actions: [approvalAction], }, ], }); new SlackNotifier(this, 'SlackNotifier', { pipeline, slackBotToken, slackSigningSecret, slackChannel, }); } } ``` ## Slack App Settings Create an app that’s just for your workspace ### OAuth & Permissions Grant the `channels::history`-Scope to the Bot in your app and Add the Bot to the configured Slack-Channel Select Permission Scopes: ![OAuth Scopes](https://raw.githubusercontent.com/cloudcomponents/cdk-constructs/master/packages/cdk-codepipeline-slack/assets/oauth_scope.png) ### Interactive Components Enter the url of your api from the AWS Api Gateway and append `/slack/actions`: ![Interactive Components](https://raw.githubusercontent.com/cloudcomponents/cdk-constructs/master/packages/cdk-codepipeline-slack/assets/interactive_components.png) ## API Reference See [API.md](https://github.com/cloudcomponents/cdk-constructs/tree/master/packages/cdk-codepipeline-slack/API.md). ## Example See more complete [examples](https://github.com/cloudcomponents/cdk-constructs/tree/master/examples). ## License [MIT](https://github.com/cloudcomponents/cdk-constructs/tree/master/packages/cdk-codepipeline-slack/LICENSE) %package -n python3-cloudcomponents.cdk-codepipeline-slack Summary: Cdk component that provisions a #slack approval workflow and notification messages on codepipeline state changes Provides: python-cloudcomponents.cdk-codepipeline-slack BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-cloudcomponents.cdk-codepipeline-slack [![cloudcomponents Logo](https://raw.githubusercontent.com/cloudcomponents/cdk-constructs/master/logo.png)](https://github.com/cloudcomponents/cdk-constructs) # @cloudcomponents/cdk-codepipeline-slack [![Build Status](https://github.com/cloudcomponents/cdk-constructs/workflows/Build/badge.svg)](https://github.com/cloudcomponents/cdk-constructs/actions?query=workflow=Build) [![cdkdx](https://img.shields.io/badge/buildtool-cdkdx-blue.svg)](https://github.com/hupe1980/cdkdx) [![typescript](https://img.shields.io/badge/jsii-typescript-blueviolet.svg)](https://www.npmjs.com/package/@cloudcomponents/cdk-codepipeline-slack) [![python](https://img.shields.io/badge/jsii-python-blueviolet.svg)](https://pypi.org/project/cloudcomponents.cdk-codepipeline-slack/) [![Mentioned in Awesome CDK](https://awesome.re/mentioned-badge.svg)](https://github.com/kolomied/awesome-cdk) > Cdk component that provisions a #slack approval workflow and notification messages on codepipeline state changes ![Approval Workflow](https://raw.githubusercontent.com/cloudcomponents/cdk-constructs/master/packages/cdk-codepipeline-slack/assets/approval_workflow.png) ![Review Dialog](https://raw.githubusercontent.com/cloudcomponents/cdk-constructs/master/packages/cdk-codepipeline-slack/assets/review_dialog.png) ## Install TypeScript/JavaScript: ```bash npm install --save @cloudcomponents/cdk-codepipeline-slack ``` Python: ```bash pip install cloudcomponents.cdk-codepipeline-slack ``` ## How to use ```python import { SlackApprovalAction, SlackNotifier } from '@cloudcomponents/cdk-codepipeline-slack'; import { Stack, StackProps } from 'aws-cdk-lib'; import { Repository } from 'aws-cdk-lib/aws-codecommit'; import { Pipeline, Artifact } from 'aws-cdk-lib/aws-codepipeline'; import { CodeCommitSourceAction } from 'aws-cdk-lib/aws-codepipeline-actions'; import { Construct } from 'constructs'; export class CodePipelineSlackApprovalStack extends Stack { constructor(scope: Construct, id: string, props?: StackProps) { super(scope, id, props); const repository = new Repository(this, 'Repository', { repositoryName: 'MyRepositoryName', }); const sourceArtifact = new Artifact(); const sourceAction = new CodeCommitSourceAction({ actionName: 'CodeCommit', repository, output: sourceArtifact, }); if (typeof process.env.SLACK_BOT_TOKEN === 'undefined') { throw new Error('environment variable SLACK_BOT_TOKEN undefined'); } const slackBotToken = process.env.SLACK_BOT_TOKEN; if (typeof process.env.SLACK_SIGNING_SECRET === 'undefined') { throw new Error('environment variable SLACK_SIGNING_SECRET undefined'); } const slackSigningSecret = process.env.SLACK_SIGNING_SECRET; if (typeof process.env.SLACK_CHANNEL_NAME === 'undefined') { throw new Error('environment variable SLACK_CHANNEL_NAME undefined'); } const slackChannel = process.env.SLACK_CHANNEL_NAME; const approvalAction = new SlackApprovalAction({ actionName: 'SlackApproval', slackBotToken, slackSigningSecret, slackChannel, externalEntityLink: 'http://cloudcomponents.org', additionalInformation: 'Would you like to promote the build to production?', }); const pipeline = new Pipeline(this, 'MyPipeline', { pipelineName: 'MyPipeline', stages: [ { stageName: 'Source', actions: [sourceAction], }, { stageName: 'Approval', actions: [approvalAction], }, ], }); new SlackNotifier(this, 'SlackNotifier', { pipeline, slackBotToken, slackSigningSecret, slackChannel, }); } } ``` ## Slack App Settings Create an app that’s just for your workspace ### OAuth & Permissions Grant the `channels::history`-Scope to the Bot in your app and Add the Bot to the configured Slack-Channel Select Permission Scopes: ![OAuth Scopes](https://raw.githubusercontent.com/cloudcomponents/cdk-constructs/master/packages/cdk-codepipeline-slack/assets/oauth_scope.png) ### Interactive Components Enter the url of your api from the AWS Api Gateway and append `/slack/actions`: ![Interactive Components](https://raw.githubusercontent.com/cloudcomponents/cdk-constructs/master/packages/cdk-codepipeline-slack/assets/interactive_components.png) ## API Reference See [API.md](https://github.com/cloudcomponents/cdk-constructs/tree/master/packages/cdk-codepipeline-slack/API.md). ## Example See more complete [examples](https://github.com/cloudcomponents/cdk-constructs/tree/master/examples). ## License [MIT](https://github.com/cloudcomponents/cdk-constructs/tree/master/packages/cdk-codepipeline-slack/LICENSE) %package help Summary: Development documents and examples for cloudcomponents.cdk-codepipeline-slack Provides: python3-cloudcomponents.cdk-codepipeline-slack-doc %description help [![cloudcomponents Logo](https://raw.githubusercontent.com/cloudcomponents/cdk-constructs/master/logo.png)](https://github.com/cloudcomponents/cdk-constructs) # @cloudcomponents/cdk-codepipeline-slack [![Build Status](https://github.com/cloudcomponents/cdk-constructs/workflows/Build/badge.svg)](https://github.com/cloudcomponents/cdk-constructs/actions?query=workflow=Build) [![cdkdx](https://img.shields.io/badge/buildtool-cdkdx-blue.svg)](https://github.com/hupe1980/cdkdx) [![typescript](https://img.shields.io/badge/jsii-typescript-blueviolet.svg)](https://www.npmjs.com/package/@cloudcomponents/cdk-codepipeline-slack) [![python](https://img.shields.io/badge/jsii-python-blueviolet.svg)](https://pypi.org/project/cloudcomponents.cdk-codepipeline-slack/) [![Mentioned in Awesome CDK](https://awesome.re/mentioned-badge.svg)](https://github.com/kolomied/awesome-cdk) > Cdk component that provisions a #slack approval workflow and notification messages on codepipeline state changes ![Approval Workflow](https://raw.githubusercontent.com/cloudcomponents/cdk-constructs/master/packages/cdk-codepipeline-slack/assets/approval_workflow.png) ![Review Dialog](https://raw.githubusercontent.com/cloudcomponents/cdk-constructs/master/packages/cdk-codepipeline-slack/assets/review_dialog.png) ## Install TypeScript/JavaScript: ```bash npm install --save @cloudcomponents/cdk-codepipeline-slack ``` Python: ```bash pip install cloudcomponents.cdk-codepipeline-slack ``` ## How to use ```python import { SlackApprovalAction, SlackNotifier } from '@cloudcomponents/cdk-codepipeline-slack'; import { Stack, StackProps } from 'aws-cdk-lib'; import { Repository } from 'aws-cdk-lib/aws-codecommit'; import { Pipeline, Artifact } from 'aws-cdk-lib/aws-codepipeline'; import { CodeCommitSourceAction } from 'aws-cdk-lib/aws-codepipeline-actions'; import { Construct } from 'constructs'; export class CodePipelineSlackApprovalStack extends Stack { constructor(scope: Construct, id: string, props?: StackProps) { super(scope, id, props); const repository = new Repository(this, 'Repository', { repositoryName: 'MyRepositoryName', }); const sourceArtifact = new Artifact(); const sourceAction = new CodeCommitSourceAction({ actionName: 'CodeCommit', repository, output: sourceArtifact, }); if (typeof process.env.SLACK_BOT_TOKEN === 'undefined') { throw new Error('environment variable SLACK_BOT_TOKEN undefined'); } const slackBotToken = process.env.SLACK_BOT_TOKEN; if (typeof process.env.SLACK_SIGNING_SECRET === 'undefined') { throw new Error('environment variable SLACK_SIGNING_SECRET undefined'); } const slackSigningSecret = process.env.SLACK_SIGNING_SECRET; if (typeof process.env.SLACK_CHANNEL_NAME === 'undefined') { throw new Error('environment variable SLACK_CHANNEL_NAME undefined'); } const slackChannel = process.env.SLACK_CHANNEL_NAME; const approvalAction = new SlackApprovalAction({ actionName: 'SlackApproval', slackBotToken, slackSigningSecret, slackChannel, externalEntityLink: 'http://cloudcomponents.org', additionalInformation: 'Would you like to promote the build to production?', }); const pipeline = new Pipeline(this, 'MyPipeline', { pipelineName: 'MyPipeline', stages: [ { stageName: 'Source', actions: [sourceAction], }, { stageName: 'Approval', actions: [approvalAction], }, ], }); new SlackNotifier(this, 'SlackNotifier', { pipeline, slackBotToken, slackSigningSecret, slackChannel, }); } } ``` ## Slack App Settings Create an app that’s just for your workspace ### OAuth & Permissions Grant the `channels::history`-Scope to the Bot in your app and Add the Bot to the configured Slack-Channel Select Permission Scopes: ![OAuth Scopes](https://raw.githubusercontent.com/cloudcomponents/cdk-constructs/master/packages/cdk-codepipeline-slack/assets/oauth_scope.png) ### Interactive Components Enter the url of your api from the AWS Api Gateway and append `/slack/actions`: ![Interactive Components](https://raw.githubusercontent.com/cloudcomponents/cdk-constructs/master/packages/cdk-codepipeline-slack/assets/interactive_components.png) ## API Reference See [API.md](https://github.com/cloudcomponents/cdk-constructs/tree/master/packages/cdk-codepipeline-slack/API.md). ## Example See more complete [examples](https://github.com/cloudcomponents/cdk-constructs/tree/master/examples). ## License [MIT](https://github.com/cloudcomponents/cdk-constructs/tree/master/packages/cdk-codepipeline-slack/LICENSE) %prep %autosetup -n cloudcomponents.cdk-codepipeline-slack-2.1.0 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-cloudcomponents.cdk-codepipeline-slack -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 2.1.0-1 - Package Spec generated