SlackOps: JavaScript를 사용하여 애플리케이션을 Slack 채널에 로그인
우리는 모든 사용자의 데이터와 보안을 중요하게 생각하므로 민감한 데이터를 삭제하고 전송하지 않습니다.
이 모든 것이 우리의 개발 환경, 로컬 및 스테이징에도 있습니다.
일부 채널에 어떻게 로그인할 수 있습니까?
여기서 우리는 내부적으로
sendtoSlack
및 @slack/node
라이브러리를 모두 처리하는 @slack/webhook
라는 간단한 함수를 만듭니다.따라서 Slack에서 생성한 웹후크 요청 URL을 가져와 다음과 같은 환경 변수에 넣습니다.
process.env.SLACK_WEBHOOK
. 여기를 봐:// .env
SLACK_WEBHOOK =
"https://api.slack.com/messaging/webhooks/<foo>/<bar>";
웹후크 URL을 생성하는 방법을 볼 수 있습니다here.
URL이 있으면 이 웹후크를
IncomingWebhook
인수로 사용하여 url
에서 인스턴스를 생성합니다. 예를 들어:import { IncomingWebhook } from '@slack/webhook';
const wh = new IncomingWebhook(process.env.SLACK_WEBHOOK);
이제 어떤 환경에 있는지 간단한 조건부 유효성 검사를 수행하고 이를 기반으로 Slack 채널을 가져옵니다. 이와 같이:
const getChannel = (channel: string) => {
const isProduction = process.env.NODE_ENV === 'production';
if (!isProduction) return `${channel}-dev`;
return channel;
}
그런 다음 지금 메시지를 보낼 수 있습니다.
IncomingWebhook
인스턴스를 사용하여 send
메서드를 실행하기만 하면 됩니다.const wh = new IncomingWebhook(process.env.SLACK_WEBHOOK);
await wh.send({
channel: getChannel('<some channel here>'),
blocks: // your message will go here
});
그리고 Slack 채널에서 메시지를 볼 수 있습니다! 이제 함수로 추상화하여 어디서나 사용할 수 있습니다.
최종 결과는 다음과 같습니다.
const sendToSlack = async ({
channel,
blocks,
}) => {
const getChannel = (channel: string) => {
const isProduction = process.env.NODE_ENV === 'production';
if (!isProduction) return `${channel}-dev`;
return channel;
}
try {
const wh = new IncomingWebhook(process.env.SLACK_WEBHOOK);
wh.send({
channel: getChannel(channel),
blocks,
// feel free to add any other arguments from this function that fits your needs.
});
} catch (err) {
// do something with the error
// here, we logged into Sentry
}
}
이 기능을 사용하면 코드베이스 어디에서나 로깅을 재사용할 수 있습니다.
Discord와 같은 다른 통신 도구를 사용하여 유사한 행동에 도달할 수 있습니다. 그들이 webhook 또는 이와 유사한 것을 어떻게 처리하는지 확인하십시오.
그런데
blocks
무엇인지 궁금하시다면 슬랙에서 블록킷이 무엇인지 here 보시면 됩니다. 사물을 기록하는 더 예쁜 방법입니다.간단한 메시지만 원하는 경우
attachment
의 wh.send
인수를 사용할 수 있습니다.sendToSlack
함수를 사용하여 기록하는 방법에 대한 간단한 예를 볼 수 있습니다.sendToSlack({
channel: 'join',
attachments: [
{
text: 'Invalid recaptcha attempt',
},
...getSomeUsefulData(), // here we get some useful data like timestamp, etc
],
});
Woovi은 쇼핑객이 원하는 대로 결제할 수 있는 스타트업입니다. 이를 가능하게 하기 위해 Woovi는 판매자가 주문을 수락할 수 있는 즉시 결제 솔루션을 제공합니다.
여기서 우리는 일상적인 프로세스를 개선하기 위해 Slack을 사용하여 많은 작업을 수행합니다. 궁금한 사항이 있으면 we are hiring !
Reference
이 문제에 관하여(SlackOps: JavaScript를 사용하여 애플리케이션을 Slack 채널에 로그인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/woovi/slackops-logging-applications-into-a-slack-channel-with-javascript-4ma5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)