| --- |
| title: "Notifications" |
| description: > |
| Notifications |
| sidebar_position: 4 |
| --- |
| |
| ## Request |
| Example request |
| ``` |
| POST /lake/notify?nouce=3-FDXxIootApWxEVtz&sign=424c2f6159bd9e9828924a53f9911059433dc14328a031e91f9802f062b495d5 |
| |
| {"TaskID":39,"PluginName":"jenkins","CreatedAt":"2021-09-30T15:28:00.389+08:00","UpdatedAt":"2021-09-30T15:28:00.785+08:00"} |
| ``` |
| |
| ## Configuration |
| If you want to use the notification feature, you should add two configuration key to `.env` file. |
| ```shell |
| # .env |
| # notification request url, e.g.: http://example.com/lake/notify |
| NOTIFICATION_ENDPOINT= |
| # secret is used to calculate signature |
| NOTIFICATION_SECRET= |
| ``` |
| |
| ## Signature |
| You should check the signature before accepting the notification request. We use sha256 algorithm to calculate the checksum. |
| ```go |
| // calculate checksum |
| sum := sha256.Sum256([]byte(requestBody + NOTIFICATION_SECRET + nouce)) |
| return hex.EncodeToString(sum[:]) |
| ``` |