# Chatwork Recipe ```php require 'contrib/chatwork.php'; ``` [Source](/contrib/chatwork.php) # Chatwork Recipe ## Installing 1. Create chatwork account by any manual in the internet 2. Take chatwork token (Like: b29a700e2d15bef3f26ae6a5c142d1ea) and set `chatwork_token` parameter 3. Take chatwork room id from url after clicked on the room, and set `chatwork_room_id` parameter 4. If you want, you can edit `chatwork_notify_text`, `chatwork_success_text` or `chatwork_failure_text` 5. Require chatwork recipe in your `deploy.php` file ```php # https://deployer.org/recipes.html require 'recipe/chatwork.php'; ``` Add hook on deploy: ```php before('deploy', 'chatwork:notify'); ``` ## Configuration - `chatwork_token` – chatwork bot token, **required** - `chatwork_room_id` — chatwork room to push messages to **required** - `chatwork_notify_text` – notification message template ``` [info] [title](*) Deployment Status: Deploying[/title] Repo: {{repository}} Branch: {{branch}} Server: {{hostname}} Release Path: {{release_path}} Current Path: {{current_path}} [/info] ``` - `chatwork_success_text` – success template, default: ``` [info] [title](*) Deployment Status: Successfully[/title] Repo: {{repository}} Branch: {{branch}} Server: {{hostname}} Release Path: {{release_path}} Current Path: {{current_path}} [/info]" ``` - `chatwork_failure_text` – failure template, default: ``` [info] [title](*) Deployment Status: Failed[/title] Repo: {{repository}} Branch: {{branch}} Server: {{hostname}} Release Path: {{release_path}} Current Path: {{current_path}} [/info]" ``` ## Tasks - `chatwork:notify` – send message to chatwork - `chatwork:notify:success` – send success message to chatwork - `chatwork:notify:failure` – send failure message to chatwork ## Usage If you want to notify only about beginning of deployment add this line only: ```php before('deploy', 'chatwork:notify'); ``` If you want to notify about successful end of deployment add this too: ```php after('success', 'chatwork:notify:success'); ``` If you want to notify about failed deployment add this too: ```php after('deploy:failed', 'chatwork:notify:failure'); ``` ## Configuration ### chatwork_token [Source](https://github.com/deployphp/deployer/blob/master/contrib/chatwork.php#L91) Chatwork settings :::info Required Throws exception if not set. ::: ### chatwork_room_id [Source](https://github.com/deployphp/deployer/blob/master/contrib/chatwork.php#L94) :::info Required Throws exception if not set. ::: ### chatwork_api [Source](https://github.com/deployphp/deployer/blob/master/contrib/chatwork.php#L97) ```php title="Default value" return 'https://api.chatwork.com/v2/rooms/' . get('chatwork_room_id') . '/messages'; ``` ### chatwork_notify_text [Source](https://github.com/deployphp/deployer/blob/master/contrib/chatwork.php#L102) The Messages ```php title="Default value" "[info]\n[title](*) Deployment Status: Deploying[/title]\nRepo: {{repository}}\nBranch: {{branch}}\nServer: {{hostname}}\nRelease Path: {{release_path}}\nCurrent Path: {{current_path}}\n[/info]" ``` ### chatwork_success_text [Source](https://github.com/deployphp/deployer/blob/master/contrib/chatwork.php#L103) ```php title="Default value" "[info]\n[title](*) Deployment Status: Successfully[/title]\nRepo: {{repository}}\nBranch: {{branch}}\nServer: {{hostname}}\nRelease Path: {{release_path}}\nCurrent Path: {{current_path}}\n[/info]" ``` ### chatwork_failure_text [Source](https://github.com/deployphp/deployer/blob/master/contrib/chatwork.php#L104) ```php title="Default value" "[info]\n[title](*) Deployment Status: Failed[/title]\nRepo: {{repository}}\nBranch: {{branch}}\nServer: {{hostname}}\nRelease Path: {{release_path}}\nCurrent Path: {{current_path}}\n[/info]" ``` ## Tasks ### chatwork_send_message [Source](https://github.com/deployphp/deployer/blob/master/contrib/chatwork.php#L107) Helpers ### chatwork:test [Source](https://github.com/deployphp/deployer/blob/master/contrib/chatwork.php#L116) Tests messages. Tasks ### chatwork:notify [Source](https://github.com/deployphp/deployer/blob/master/contrib/chatwork.php#L127) Notifies Chatwork. ### chatwork:notify:success [Source](https://github.com/deployphp/deployer/blob/master/contrib/chatwork.php#L142) Notifies Chatwork about deploy finish. ### chatwork:notify:failure [Source](https://github.com/deployphp/deployer/blob/master/contrib/chatwork.php#L158) Notifies Chatwork about deploy failure.