deployer/docs/contrib/slack.md
HereticPilgrim a8fca445c3
Teams, Telegram, Slack contrib recipe no longer fails silently if no webhook is configured (#3523)
* MS teams contrib recipe no longer fails silently if no webhook is configured

* contrib/slack now throws a warning if no webhook is configured

* Telegram no longer fails silently if there is no token or chat id configured

* Fixed copy-paste error

---------

Co-authored-by: HereticPilgrim <manuel.grauwiler@transformatik.ch>
2023-03-02 08:49:57 +01:00

4.4 KiB
Raw Blame History

Slack Recipe

require 'contrib/slack.php';

Source

Installing

Add to Slack

Add hook on deploy:

before('deploy', 'slack:notify');

Configuration

  • slack_webhook slack incoming webhook url, required

    set('slack_webhook', 'https://hooks.slack.com/...');
    
  • slack_channel - channel to send notification to. The default is the channel configured in the webhook

  • slack_title the title of application, default {{application}}

  • slack_text notification message template, markdown supported

    set('slack_text', '_{{user}}_ deploying `{{branch}}` to *{{target}}*');
    
  • slack_success_text success template, default:

    set('slack_success_text', 'Deploy to *{{target}}* successful');
    
  • slack_failure_text failure template, default:

    set('slack_failure_text', 'Deploy to *{{target}}* failed');
    
  • slack_color color's attachment

  • slack_success_color success color's attachment

  • slack_failure_color failure color's attachment

  • slack_fields - set attachments fields for pretty output in Slack, default:

    set('slack_fields', []);
    

Usage

If you want to notify only about beginning of deployment add this line only:

before('deploy', 'slack:notify');

If you want to notify about successful end of deployment add this too:

after('deploy:success', 'slack:notify:success');

If you want to notify about failed deployment add this too:

after('deploy:failed', 'slack:notify:failure');

Configuration

slack_channel

Source

Channel to publish to, when false the default channel the webhook will be used

false

slack_title

Source

Title of project

return get('application', 'Project');

slack_text

Source

Deploy message

'_{{user}}_ deploying `{{target}}` to *{{hostname}}*'

slack_success_text

Source

'Deploy to *{{target}}* successful'

slack_failure_text

Source

'Deploy to *{{target}}* failed'

slack_rollback_text

Source

'_{{user}}_ rolled back changes on *{{target}}*'

slack_fields

Source

slack_color

Source

Color of attachment

'#4d91f7'

slack_success_color

Source

'#00c100'

slack_failure_color

Source

'#ff0909'

slack_rollback_color

Source

'#eba211'

Tasks

slack:notify

Source

Notifies Slack.

slack:notify:success

Source

Notifies Slack about deploy finish.

slack:notify:failure

Source

Notifies Slack about deploy failure.

slack:notify:rollback

Source

Notifies Slack about rollback.