Skip to content

Commit

Permalink
Merge pull request #11 from Mefes/add-new-notification
Browse files Browse the repository at this point in the history
Add new notification
  • Loading branch information
trifonovmixail authored Jul 19, 2024
2 parents cb93460 + a32afcf commit 7ff0d9e
Show file tree
Hide file tree
Showing 20 changed files with 1,497 additions and 643 deletions.
144 changes: 143 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import os

from slack_notifications import Slack


slack = Slack('<token>')
slack.send_notify('channel-name', username='Bot', text='@channel This is test message')
```
Expand All @@ -39,6 +40,7 @@ import os

from slack_notifications import Slack, Attachment


slack = Slack('<token>')
message = slack.send_notify('channel-name', username='Bot', text='@channel This is test message')

Expand Down Expand Up @@ -139,6 +141,137 @@ block = slack.SimpleTextBlock(
slack.send_notify('channel-name', username='Bot', text='@channel This is test message', blocks=[block])
```

## Action Block

```python
import slack_notifications as slack


slack.ACCESS_TOKEN = 'xxx'


block = slack.ActionsBlock(
elements=[
slack.ButtonBlock(
'Yes',
action_id='action1',
value='some_data1',
style='primary'
),
slack.ButtonBlock(
'No',
action_id='action2',
value='some_data2',
style='danger'
),
],
)

slack.send_notify('channel-name', username='Bot', text='@channel This is test message', blocks=[block])
```


## Use mrkdwn module

```python
import slack_notifications as slack


block = slack.SimpleTextBlock(
'Text example',
fields=[
slack.SimpleTextBlock.Field(
slack.mrkdwn.bold('Text field'),
),
slack.SimpleTextBlock.Field(
slack.mrkdwn.italic('Text field'),
emoji=True,
),
],
)
```

## Mattermost interface

### Simple usage

```python
import os

import slack_notifications.mattermost as mattermost


mattermost.ACCESS_TOKEN = 'xxx'
mattermost.BASE_URL_ENV_NAME = 'http://your-mattermost-url.com/api/v4'
mattermost.TEAM_ID_ENV_NAME = 'xxx'

mattermost.send_notify('channel-name', username='Bot', text='@channel This is test message')
```

or

```python
import os

from slack_notifications.mattermost import Mattermost


mattermost = Mattermost('http://your-mattermost-url.com/api/v4',
token='<token>',
team_id='xxx')
mattermost.send_notify('channel-name', username='Bot', text='@channel This is test message')
```


### Use fields for Mattermost

```python
import slack_notifications.mattermost as mattermost
import slack_notifications as slack


mattermost.ACCESS_TOKEN = 'xxx'
mattermost.BASE_URL = 'http://your-mattermost-url.com/api/v4'
mattermost.TEAM_ID = 'xxx'


block = slack.SimpleTextBlock(
'Text example',
fields=[
slack.SimpleTextBlock.Field(
'Text field',
),
slack.SimpleTextBlock.Field(
'Text field',
emoji=True,
),
],
)

mattermost.send_notify('channel-name', username='Bot', text='@channel This is test message', blocks=[block])
```


### Use mrkdwn module for Mattermost

```python
import slack_notifications as slack
from slack_notifications.mattermost import mrkdwn


block = slack.SimpleTextBlock(
'Text example',
fields=[
slack.SimpleTextBlock.Field(
mrkdwn.bold('Text field'),
),
slack.SimpleTextBlock.Field(
mrkdwn.italic('Text field'),
emoji=True,
),
],
)
```
See program API

## Init color
Expand Down Expand Up @@ -300,8 +433,17 @@ slack.send_notify('channel-name', username='Bot', text='@channel This is test me
* text: str
* mrkdwn: bool = True


### ContextBlock.ImageElement

* image_url: str
* alt_text: str = None


## ActionsBlock
* elements: List[ButtonBlock]

### ButtonBlock
* text: str
* action_id: str
* value: str
* style: str = None
3 changes: 2 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from os import path

from setuptools import setup
from setuptools import setup, find_packages

BASE_PATH = path.abspath(path.dirname(__file__))

Expand All @@ -9,6 +9,7 @@

setup(
name='slack-notifications',
packages=find_packages(include=('slack_notifications', 'slack_notifications.*')),
version_format='{tag}',
setup_requires=['setuptools-git-version'],
description='Send notifications to slack channel with supporting attachments and fields',
Expand Down
Loading

0 comments on commit 7ff0d9e

Please sign in to comment.