|
설정한 webhook 을 이제 asp.net mvc 에서 구현해 보죠.
Visual studio 에서 PMC 를 통해 아래와 같이 설치가 가능합니다.
PM> Install-Package Slack.Webhooks
https://github.com/nerdfury/Slack.Webhooks
설치하면 아래와 같이 3개의 컴포넌트가 설치되어 자동 참조되어 있다.
이제 설치 이후에…. 사용법은 간단하다.
제공해 준, 아래의 WebHook 의 Url 경로를 복사해서 붙여 넣습니다.
var slackClient = new SlackClient("https://hooks.slack.com/searvices/xxx/xx/xxx");
간단하게 단문으로 알람을 발송하는 방법입니다.
var slackMessage = new SlackMessage
{
Channel = "#random",
Text = "Your message",
IconEmoji = Emoji.Ghost,
Username = "nerdfury"
};
지정했던 Channel 이름을 기재하고, text 가 단문 글자 메시지 입니다. 아이콘은 유령 아이콘을 사용했으며, username 은 slack 의 대화이름명을 의미합니다.
글자에 markdown 해서 보여주는 부분을 제공하는데 이를 비활성화 할 수도 있습니다.
slackMessage.Mrkdwn = false;
첨부파일의 경로를 제공해 주는 방법이 있는데, <첨부파일경로|첨부파일링크글자> 이런식으로 표현하면 됩니다.
var slackAttachment = new SlackAttachment
{
Fallback = "New open task [Urgent]: <http://url_to_task|Test out Slack message attachments>",
Text = "New open task *[Urgent]*: <http://url_to_task|Test out Slack message attachments>",
Color = "#D00000",
Fields =
new List<SlackField>
{
new SlackField
{
Title = "Notes",
Value = "This is much *easier* than I thought it would be."
}
}
};
slackMessage.Attachments = new List<SlackAttachment> {slackAttachment};
SlackField 를 다중으로 사용이 가능합니다. 접속자 내역이나 Notes 는 Title 을 의미하며, value 는 그 하단에 기재된 내용물을 의미합니다.
자세한 내용은 https://api.slack.com/docs/message-attachments 참고하시면 됩니다.
|