#slack / msteams / email notifications for developer tools: CodeCommit, CodeBuild, CodeDeploy, CodePipeline
Project description
@cloudcomponents/cdk-developer-tools-notifications
#slack / msteams / email notifications for developer tools: CodeCommit, CodeBuild, CodeDeploy, CodePipeline
Install
TypeScript/JavaScript:
npm i @cloudcomponents/cdk-developer-tools-notifications
Python:
pip install cloudcomponents.cdk-developer-tools-notifications
MSTeams
- Navigate to the channel where you want to add the webhook and select (•••) More Options from the top navigation bar.
- Choose Connectors from the drop-down menu and search for Incoming Webhook.
- Select the Configure button, provide a name, and, optionally, upload an image avatar for your webhook.
- The dialog window will present a unique URL that will map to the channel. Make sure that you copy and save the URL—you will need to provide it to the outside service.
- Select the Done button. The webhook will be available in the team channel.
#Slack
Notifications for AWS developer tools
How to use
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
from aws_cdk.core import Construct, Stack, StackProps
from aws_cdk.aws_codecommit import Repository
from aws_cdk.aws_codepipeline import Pipeline, Artifact
from aws_cdk.aws_codepipeline_actions import CodeCommitSourceAction, ManualApprovalAction
from cloudcomponents.cdk_developer_tools_notifications import RepositoryNotificationRule, PipelineNotificationRule, RepositoryEvent, PipelineEvent, SlackChannel, MSTeamsIncomingWebhook
from cloudcomponents.cdk_chatops import SlackChannelConfiguration, MSTeamsIncomingWebhookConfiguration, AccountLabelMode
class NotificationsStack(Stack):
def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, synthesizer=None, terminationProtection=None, analyticsReporting=None):
super().__init__(scope, id, description=description, env=env, stackName=stackName, tags=tags, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting)
repository = Repository(self, "Repository",
repository_name="notifications-repository"
)
slack_channel = SlackChannelConfiguration(self, "SlackChannel",
slack_workspace_id=process.env.SLACK_WORKSPACE_ID,
configuration_name="notifications",
slack_channel_id=process.env.SLACK_CHANNEL_ID
)
webhook = MSTeamsIncomingWebhookConfiguration(self, "MSTeamsWebhook",
url=process.env.INCOMING_WEBHOOK_URL,
account_label_mode=AccountLabelMode.ID_AND_ALIAS,
theme_color="#FF0000"
)
RepositoryNotificationRule(self, "RepoNotifications",
name="notifications-repository",
repository=repository,
events=[RepositoryEvent.COMMENTS_ON_COMMITS, RepositoryEvent.PULL_REQUEST_CREATED, RepositoryEvent.PULL_REQUEST_MERGED
],
targets=[
SlackChannel(slack_channel),
MSTeamsIncomingWebhook(webhook)
]
)
source_artifact = Artifact()
source_action = CodeCommitSourceAction(
action_name="CodeCommit",
repository=repository,
output=source_artifact
)
approval_action = ManualApprovalAction(
action_name="Approval"
)
pipeline = Pipeline(self, "Pipeline",
pipeline_name="notifications-pipeline",
stages=[StageProps(
stage_name="Source",
actions=[source_action]
), StageProps(
stage_name="Approval",
actions=[approval_action]
)
]
)
PipelineNotificationRule(self, "PipelineNotificationRule",
name="pipeline-notification",
pipeline=pipeline,
events=[PipelineEvent.PIPELINE_EXECUTION_STARTED, PipelineEvent.PIPELINE_EXECUTION_FAILED, PipelineEvent.PIPELINE_EXECUTION_SUCCEEDED, PipelineEvent.MANUAL_APPROVAL_NEEDED, PipelineEvent.MANUAL_APPROVAL_SUCCEEDED
],
targets=[
SlackChannel(slack_channel),
MSTeamsIncomingWebhook(webhook)
]
)
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-developer-tools-notifications-1.9.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91ec80f2f06d3f712624d5a6fcd3baeb53c24a82f4d64b5e23781f963b947d61 |
|
MD5 | 33d869e19a2e08627612160c5adbe9fd |
|
BLAKE2b-256 | a1c9201ae40a0c05154f07a6453fbb8841e5e7854ea0ec49418a76e63690c88f |
Close
Hashes for cloudcomponents.cdk_developer_tools_notifications-1.9.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2a3f43dc258dd0e106bef966dcfe216112e549325db875a381ca9a6dd13e429 |
|
MD5 | 0cd76ea5f4afca42d07d720b1cae8c97 |
|
BLAKE2b-256 | 205a2cb97bc9f1ca8f6e3eac75892985b4aa18e79b0392c2cb6c5e160cb72647 |