सामग्री पर जाएं
Slack एकीकरण

Slack एकीकरण

Markdown के रूप में देखें

अपने सेल्फ़-होस्टेड Status200 को Slack से जोड़ें। आप अपने सर्वर के बनाए मैनिफ़ेस्ट से एक Slack ऐप बनाते हैं, Status200 को ऐप के क्रेडेंशियल देते हैं, और हर प्रोजेक्ट को एक वर्कस्पेस से जोड़ते हैं। इसके बाद Status200 आपके चैनलों में इंसिडेंट, अलर्ट और शेड्यूल्ड मेंटेनेंस पोस्ट करता है, और आपकी टीम Slack से ही उन पर कार्रवाई करती है।

यह पेज उनके लिए है जो Status200 सर्वर चलाते हैं। Slack जुड़ जाने के बाद, सूचना नियम हर प्रोजेक्ट के लिए अलग से सेट होते हैं: देखें Slack।

यह कैसे काम करता है

Slack ऐप आपका अपना है: यह आपके वर्कस्पेस में इंस्टॉल होता है और सिर्फ़ आपके सर्वर से बात करता है। ट्रैफ़िक दोनों दिशाओं में जाता है, और हर दिशा को अपना नेटवर्क एक्सेस चाहिए।

sequenceDiagram participant B as आपका ब्राउज़र participant O as Status200 participant S as Slack B->>O: Connect with Slack O-->>B: Slack पर रीडायरेक्ट B->>S: ऐप को अनुमति दें S-->>B: /api/slack/auth पर रीडायरेक्ट B->>O: एक बार का कोड O->>S: कोड के बदले बॉट टोकन Note over O,S: जुड़ने के बाद O->>S: संदेश पोस्ट करना, आउटबाउंड HTTPS S->>O: इवेंट, क्लिक, कमांड, इनबाउंड HTTPS

किसी प्रोजेक्ट को Slack से जोड़ना, फिर उसका इस्तेमाल

  • आउटबाउंड: Status200 संदेश पोस्ट करने, चैनल बनाने और इमेज अपलोड करने के लिए Slack की Web API को कॉल करता है।
  • इनबाउंड: Slack इवेंट, बटन क्लिक, मेन्यू और स्लैश कमांड के लिए आपके सर्वर के चार रूट को कॉल करता है। हर अनुरोध ऐप के signing secret से साइन होता है। Status200 ऐसा अनुरोध अस्वीकार करता है जिसका सिग्नेचर मेल नहीं खाता या जिसका टाइमस्टैम्प पाँच मिनट से पुराना है।

शुरू करने से पहले

  • एक Slack वर्कस्पेस जिसमें आप ऐप बना और इंस्टॉल कर सकें।
  • Status200 के लिए एक सार्वजनिक HTTPS होस्टनेम जिस तक Slack पहुँच सके। देखें नेटवर्क एक्सेस।
  • सर्वर के कॉन्फ़िगरेशन तक पहुँच: Docker Compose के लिए config.env, या Kubernetes के लिए आपकी Helm values।
  • किसी प्रोजेक्ट को जोड़ने के लिए, उसमें Project Owner, Project Admin या Project Member भूमिका।

Slack ऐप सेट अप करें

  1. सार्वजनिक URL सेट करें

    Status200 ऐप मैनिफ़ेस्ट और हर कॉलबैक URL HOST और HTTP_PROTOCOL से बनाता है। इन्हें उस होस्टनेम पर सेट करें जिसे Slack HTTPS पर कॉल करेगा:

    Docker Compose

    config.envBash
    HOST=status200.example.com
    HTTP_PROTOCOL=https

    Kubernetes

    values.yamlYAML
    host: status200.example.com
    httpProtocol: https

    ये मान सिर्फ़ URL बनाते हैं। ये DNS रिकॉर्ड, सर्टिफ़िकेट या फ़ायरवॉल नियम नहीं बनाते।

  2. ऐप मैनिफ़ेस्ट कॉपी करें

    प्रोजेक्ट सेटिंग्स > वर्कस्पेस > Slack खोलें। जब तक सर्वर पर Slack सेट अप नहीं होता, पेज आपके होस्टनेम के लिए बने मैनिफ़ेस्ट के साथ Integrating Slack with your Status200 Project दिखाता है। यह https://status200.example.com/api/slack/app-manifest पर भी मिलता है।

    जाँचें कि मैनिफ़ेस्ट का हर URL आपके सार्वजनिक होस्टनेम से शुरू होता है। अगर नहीं, तो पहले HOST और HTTP_PROTOCOL ठीक करें और बदलाव लागू करें।

  3. Slack ऐप बनाएँ

    api.slack.com/apps पर मैनिफ़ेस्ट से एक नया ऐप बनाएँ, अपना वर्कस्पेस चुनें और मैनिफ़ेस्ट पेस्ट करें। हमेशा वही मैनिफ़ेस्ट इस्तेमाल करें जो आपका अपना सर्वर बनाता है, ताकि उसके URL आपके होस्टनेम से मेल खाएँ।

  4. ऐप के क्रेडेंशियल कॉपी करें

    ऐप के Basic Information पेज पर, App Credentials के नीचे, Client ID, Client Secret और Signing Secret कॉपी करें।

  5. क्रेडेंशियल Status200 में जोड़ें

    Docker Compose

    config.envBash
    SLACK_APP_CLIENT_ID=YOUR_SLACK_APP_CLIENT_ID
    SLACK_APP_CLIENT_SECRET=YOUR_SLACK_APP_CLIENT_SECRET
    SLACK_APP_SIGNING_SECRET=YOUR_SLACK_APP_SIGNING_SECRET

    Kubernetes

    values.yamlYAML
    slackApp:
      clientId: "YOUR_SLACK_APP_CLIENT_ID"
      clientSecret: "YOUR_SLACK_APP_CLIENT_SECRET"
      signingSecret: "YOUR_SLACK_APP_SIGNING_SECRET"

    मानों को अपने ख़ुद के प्रबंधित Kubernetes Secret में रखने के लिए, इसके बजाय slackApp.existingSecret सेट करें: उसका name, और कुंजियाँ clientIdKey, clientSecretKey और signingSecretKey।

  6. कॉन्फ़िगरेशन लागू करें

    Docker Compose

    Bash
    npm run start

    यह नए config.env के साथ कंटेनर फिर से बनाता है। docker compose restart इसे दोबारा नहीं पढ़ता।

    Kubernetes

    Bash
    helm upgrade my-oneuptime oneuptime/status200 -f values.yaml

    Status200 के वापस चालू होने पर, प्रोजेक्ट सेटिंग्स > वर्कस्पेस > Slack मैनिफ़ेस्ट की जगह Connect with Slack बटन दिखाता है।

  7. इवेंट का अनुरोध URL सत्यापित करें

    Slack ऐप के Event Subscriptions में अनुरोध URL सत्यापित करें। Status200 Slack के challenge का जवाब तभी देता है जब signing secret सेट हो, इसलिए अगर ऐप बनाते समय यह विफल हुआ था, तो फिर से कोशिश करें।

  8. प्रोजेक्ट जोड़ें

    प्रोजेक्ट सेटिंग्स > वर्कस्पेस > Slack में Connect with Slack चुनें और Slack में ऐप को अनुमति दें। Slack आपको उसी पेज पर वापस भेजता है, जो अब आपके वर्कस्पेस का नाम दिखाता है।

  9. अपना ख़ुद का Slack खाता जोड़ें

    बटन, फ़ॉर्म और कमांड उस Status200 उपयोगकर्ता के रूप में काम करते हैं जो उन्हें इस्तेमाल करने वाले Slack खाते से जुड़ा है। हर व्यक्ति उपयोगकर्ता सेटिंग्स > वर्कस्पेस > Slack खोलता है और Connect my account with Slack चुनता है। जिसने खाता नहीं जोड़ा है, उसे वहीं, जहाँ उसने दबाया, Connect Slack account बटन वाला जवाब मिलता है, जो एक ही कदम में खाता जोड़ता है।

एनवायरनमेंट वेरिएबल

Docker Compose (config.env)Helm (values.yaml)ज़रूरीमान
SLACK_APP_CLIENT_IDslackApp.clientIdहाँऐप का Client ID। इसके बिना Slack पेज Connect with Slack की जगह सेटअप गाइड दिखाता है।
SLACK_APP_CLIENT_SECRETslackApp.clientSecretहाँऐप का Client Secret, जिससे Slack का लौटाया कोड टोकन से बदला जाता है।
SLACK_APP_SIGNING_SECRETslackApp.signingSecretहाँऐप का Signing Secret। Slack से आने वाले हर अनुरोध की जाँच इसी से होती है।
HOSThostहाँआपका सार्वजनिक होस्टनेम, स्कीम के बिना।
HTTP_PROTOCOLhttpProtocolहाँhttps। Slack सिर्फ़ HTTPS URL को कॉल करता है।

ऐप क्या कर सकता है

मैनिफ़ेस्ट ये सुविधाएँ सेट अप करता है। हर सुविधा दिखाए गए रूट पर आपके सर्वर तक पहुँचती है, इसलिए वह तभी काम करती है जब Slack उस रूट तक पहुँच सके।

सुविधाक्या करती हैरूट
/status200इंसिडेंट घोषित करना, मेंटेनेंस शेड्यूल करना, यह देखना कि कौन ऑन-कॉल है, किसी को पेज करना और Status200 AI से पूछना; /status200 help सभी कमांड की सूची देता हैPOST /api/slack/command
Create New Incident और Create Scheduled Event शॉर्टकटSlack के शॉर्टकट से इंसिडेंट घोषित करना या मेंटेनेंस शेड्यूल करनाPOST /api/slack/interactive
Status200 संदेशों पर बटन और फ़ॉर्मस्वीकार करना, हल करना, नोट जोड़ना, स्थिति बदलना, ऑन-कॉल नीति चलानाPOST /api/slack/interactive और POST /api/slack/options-load
इवेंटमेंशन, संदेश, रिएक्शन और पिन, जैसे किसी संदेश को नोट के रूप में सहेजनाPOST /api/slack/events
ऐप का Home टैबआपकी ऑन-कॉल शिफ़्ट और खुली घटनाएं और अलर्ट, साथ में घटना घोषित करने, मेंटेनेंस शेड्यूल करने, किसी को पेज करने और ऑन-कॉल पर कौन है यह देखने के बटनPOST /api/slack/events और POST /api/slack/interactive
हर उस चैनल में अभिवादन जिसमें ऐप जोड़ा जाता हैStatus200 AI से सवाल कैसे पूछें, और सूचना नियम कहाँ जोड़ेंPOST /api/slack/events

संदेशों में इमेज

इंसिडेंट और अलर्ट के विवरण में स्क्रीनशॉट हो सकते हैं, जैसे किसी सिंथेटिक मॉनिटर का (देखें स्क्रीनशॉट दिखाना)। Status200 हर स्क्रीनशॉट को निजी फ़ाइल के रूप में आपके वर्कस्पेस में अपलोड करके Slack संदेशों में दिखाता है, जिसके लिए बॉट स्कोप files:write चाहिए। बने हुए मैनिफ़ेस्ट में यह शामिल है।

अगर आपने अपना Slack ऐप किसी पुराने मैनिफ़ेस्ट से बनाया था, तो OAuth & Permissions > Bot Token Scopes के नीचे files:write जोड़ें (या मौजूदा मैनिफ़ेस्ट से ऐप अपडेट करें)। फिर प्रोजेक्ट सेटिंग्स > वर्कस्पेस > Slack में फिर से Connect with Slack चुनें, ताकि नया स्कोप मिल जाए। तब तक हर स्क्रीनशॉट अपने वैकल्पिक टेक्स्ट के रूप में दिखता है।

ऑन-कॉल उपयोगकर्ता समूह

किसी शेड्यूल के Slack उपयोगकर्ता समूह को ऑन-कॉल लोगों के बराबर रखने के लिए (देखें ऑन-कॉल उपयोगकर्ता समूह) बॉट स्कोप usergroups:read और usergroups:write चाहिए। बने हुए मैनिफ़ेस्ट में ये शामिल हैं।

अगर आपने अपना Slack ऐप किसी पुराने मैनिफ़ेस्ट से बनाया था, तो OAuth & Permissions > Bot Token Scopes के नीचे usergroups:read और usergroups:write जोड़ें (या मौजूदा मैनिफ़ेस्ट से ऐप अपडेट करें)। फिर प्रोजेक्ट सेटिंग्स > वर्कस्पेस > Slack में फिर से Connect with Slack चुनें, ताकि नए स्कोप मिल जाएँ। तब तक शेड्यूल का कार्ड बताता है कि Status200 के Slack ऐप को अभी उपयोगकर्ता समूह बदलने की अनुमति नहीं है।

पुराने मैनिफ़ेस्ट से बने ऐप

Status200 के किसी पुराने मैनिफ़ेस्ट से बना Slack ऐप /incident और /maintenance को अपने अलग कमांड के रूप में रजिस्टर करता है, जो दूसरे ऐप्स के इसी नाम के कमांड से टकरा सकते हैं। वे काम करते रहते हैं और वही फ़ॉर्म खोलते हैं जो /status200 incident और /status200 maintenance खोलते हैं। उन्हें /status200 से बदलने के लिए, ऐप को उस मैनिफ़ेस्ट से अपडेट करें जो आपका सर्वर बनाता है: api.slack.com/apps पर ऐप का App Manifest खोलें, मैनिफ़ेस्ट पेस्ट करें और सहेजें।

/status200 page से पहले बने ऐप को भी यही अपडेट चाहिए: जब तक उसे यह नहीं मिलता, /status200 page यह नहीं पहचान सकता कि आप किसे @मेंशन करते हैं, और उन्हें तुरंत पेज करने के बजाय उन्हें चुनने के लिए एक फ़ॉर्म खोलता है। फिर प्रोजेक्ट सेटिंग्स > वर्कस्पेस > Slack में फिर से Connect with Slack चुनें, ताकि मैनिफ़ेस्ट जो users:read.email स्कोप जोड़ता है वह मिल जाए: इससे ऐसा व्यक्ति, जिसका Slack खाता Status200 से कनेक्ट नहीं है, अपने ईमेल पते से मिल जाता है।

जो ऐप Home टैब से पहले बनाया गया था, उसे भी यही अपडेट चाहिए: जब तक उसे यह नहीं मिलता, Slack ऐप के लिए कोई Home टैब नहीं दिखाता, और ऐप उस चैनल में कोई अभिवादन पोस्ट नहीं करता जिसमें उसे जोड़ा जाता है। अपडेट टैब को चालू करता है और ऐप को app_home_opened और member_joined_channel इवेंट की सदस्यता देता है। यह कोई नया स्कोप नहीं जोड़ता, इसलिए कुछ भी फिर से कनेक्ट करने की ज़रूरत नहीं है।

सेल्फ़-होस्टेड डिप्लॉयमेंट के लिए नेटवर्क एक्सेस

ट्रैफ़िक की दिशा और एंडपॉइंट

ट्रैफ़िकज़रूरी एक्सेस
Status200 से SlackWeb API कॉल और OAuth टोकन एक्सचेंज के लिए DNS और slack.com तक TCP 443 पर आउटबाउंड HTTPS; इस्तेमाल होने पर, कमांड के रिस्पॉन्स URL और इनकमिंग वेबहुक सूचनाओं के लिए hooks.slack.com
Slack से Status200पूरे एकीकरण के लिए नीचे के चार POST रूट तक TCP 443 पर सार्वजनिक HTTPS
उपयोगकर्ता के ब्राउज़र से Status200डैशबोर्ड एक्सेस और /api/slack/auth/:projectId/:userId और /api/slack/auth/:projectId/:userId/user पर OAuth रीडायरेक्ट; ये उपयोगकर्ता के VPN के ज़रिए ही पहुँच योग्य रह सकते हैं

आउटबाउंड डोमेन Status200 के Slack एकीकरण के बारे में हैं, Slack क्लाइंट या हर Slack सुविधा के लिए पूरी अनुमति-सूची नहीं। Slack का इनकमिंग वेबहुक Slack होस्ट करता है: Status200 उसे भेजता है, इसलिए वह आपके सर्वर पर कोई इनबाउंड एंडपॉइंट नहीं है। Slack की इनकमिंग वेबहुक गाइड देखें।

इन कॉलबैक को Status200 के ingress के ज़रिए उस तक भेजें:

मेथड और पाथउद्देश्य
POST /api/slack/eventsEvents API सत्यापन, रिएक्शन, पिन, मेंशन और संदेश
POST /api/slack/interactiveबटन, शॉर्टकट, मोडल सबमिशन, और किसी पुराने ऐप के /incident और /maintenance
POST /api/slack/options-loadइंटरैक्टिव मेन्यू के विकल्पों के अनुरोध
POST /api/slack/command/status200 कमांड

OAuth एक ब्राउज़र रीडायरेक्ट है, जिसके बाद सर्वर की ओर से टोकन एक्सचेंज होता है। मैनिफ़ेस्ट /api/slack/auth को रीडायरेक्ट URL के प्रीफ़िक्स के रूप में रजिस्टर करता है, और Status200 ऑथराइज़ेशन शुरू करते समय प्रोजेक्ट और उपयोगकर्ता के पाथ जोड़ता है। सिर्फ़ ब्राउज़र एक्सेस से Slack इवेंट या बटन क्लिक नहीं पहुँचा सकता।

निजी डिप्लॉयमेंट और कॉलबैक की सुरक्षा

flowchart TB Slack["Slack"] -->|HTTPS 443| GW["सार्वजनिक गेटवे"] GW -->|"/api/slack/* सिर्फ़ POST"| ING["Status200 ingress"] Users["VPN पर कर्मचारी"] --> ING ING --> App["Status200 ऐप"]

निजी डिप्लॉयमेंट से Slack कॉलबैक प्रकाशित करना

सार्वजनिक DNS और ऐसा गेटवे इस्तेमाल करें जिसमें सार्वजनिक रूप से भरोसेमंद HTTPS सर्टिफ़िकेट, पूरी सर्टिफ़िकेट चेन और आपके Status200 ingress तक एक निजी रूट हो। गेटवे तक इनबाउंड TCP 443 की अनुमति दें और ऊपर के सिर्फ़ चार कॉलबैक रूट आगे भेजें। निजी ClusterIP, अंदरूनी DNS नाम या किसी कर्मचारी का VPN कनेक्शन Slack की पहुँच में नहीं होता। स्प्लिट DNS से उसी होस्टनेम के तहत डैशबोर्ड और OAuth रूट निजी रह सकते हैं।

होस्टनेम बदलने के बाद मैनिफ़ेस्ट फिर से बनाएँ और Slack ऐप अपडेट करें।

गेटवे से गुज़रते हुए ये बनाए रखें:

  • मेथड, पाथ, क्वेरी स्ट्रिंग और मूल बॉडी;
  • Content-Type, X-Slack-Signature और X-Slack-Request-Timestamp;
  • भरोसेमंद प्रॉक्सी हेडर के ज़रिए सार्वजनिक होस्ट और HTTPS स्कीम।

कॉलबैक रूट को ब्राउज़र SSO, CAPTCHA और प्रॉक्सी के लॉगिन पेजों से छूट दें, और Status200 की signing secret और टाइमस्टैम्प जाँच बनाए रखें। सर्वर की घड़ी सिंक रखें: पाँच मिनट से ज़्यादा अंतर वाला अनुरोध अस्वीकार हो जाता है। Slack अनुरोध के सिग्नेचर का सत्यापन दस्तावेज़ करता है; स्रोत IP की जाँच उसकी जगह नहीं ले सकती।

एक्सेस सत्यापित करें और सीमाएँ समझें

  1. Slack ऐप के Event Subscriptions में अनुरोध URL सत्यापित करें। Slack एक POST challenge भेजता है और TLS जाँचता है।
  2. एक टेस्ट सूचना भेजें, एक स्लैश कमांड चलाएँ, किसी इंसिडेंट संदेश पर बटन दबाएँ और कोई सब्सक्राइब किया हुआ इवेंट ट्रिगर करें।
  3. सीक्रेट लॉग किए बिना, विफल डिलीवरी के लिए गेटवे और Status200 के लॉग जाँचें।

Slack तुरंत पुष्टि की उम्मीद करता है, जिसमें इंटरैक्शन के लिए तीन सेकंड के भीतर जवाब शामिल है। ब्राउज़र का GET या सफलतापूर्वक भेजा गया आउटबाउंड संदेश इन POST कॉलबैक को सत्यापित नहीं करता।

चेतावनी

अगर हर इनबाउंड कनेक्शन प्रतिबंधित है, तो पहले से ऑथराइज़ किया गया ऐप आउटबाउंड HTTPS से संदेश भेज सकता है, लेकिन इवेंट, बटन, शॉर्टकट और कमांड काम नहीं कर सकते। Status200 का मैनिफ़ेस्ट HTTP कॉलबैक इस्तेमाल करता है और Socket Mode बंद रखता है; Slack का Socket Mode चालू करना इन रूट का समर्थित विकल्प नहीं है।

निजी नेटवर्क पहुँच सेटिंग्स निजी गंतव्यों को जाने वाले आउटबाउंड अनुरोधों को नियंत्रित करती हैं। ये कॉलबैक को Slack के लिए खुला नहीं करतीं।

समस्या निवारण

कनेक्ट करना पूरा नहीं हुआ

जब Slack आपको वापस भेजता है और कनेक्शन नहीं बना होता, तो जिस Slack पेज से आपने शुरू किया था (प्रोजेक्ट सेटिंग्स > वर्कस्पेस > Slack, या अपना खाता जोड़ते समय आपकी अपनी उपयोगकर्ता सेटिंग्स > वर्कस्पेस > Slack) वह Slack कनेक्ट नहीं हुआ दिखाता है, साथ में आपकी भाषा में एक वाक्य जो वजह बताता है। पेज का बाक़ी हिस्सा हमेशा की तरह लोड होता है, इसलिए आप वहीं फिर से जोड़ सकते हैं। Slack ने ख़ुद क्या जवाब दिया, यह पेज कभी नहीं दिखाता: वह वजह के साथ Status200 सर्वर के लॉग में होता है।

पेज कहता हैक्या करें
"यह कनेक्शन लिंक अमान्य है, इसकी समय-सीमा समाप्त हो गई है, या इसका पहले ही उपयोग हो चुका है। कृपया फिर से शुरू करें।"लिंक एक बार, 15 मिनट तक, उसी ब्राउज़र में काम करता है जिसमें वह शुरू हुआ था। Slack पेज से फिर से शुरू करें और उसी ब्राउज़र में 15 मिनट के भीतर Slack में पूरा करें।
"आपको इस प्रोजेक्ट को Slack से कनेक्ट करने की अनुमति नहीं है।"Status200 को Slack में इंस्टॉल करने के लिए Project Owner, Project Admin या Project Member चाहिए। Slack के वापस भेजने पर यह फिर से जाँचा जाता है, इसलिए बीच में हटाई गई भूमिका भी यहाँ कनेक्शन ख़त्म कर देती है।
"आप अब इस प्रोजेक्ट के सदस्य नहीं हैं।"अपना ख़ुद का Slack खाता जोड़ने के लिए, Slack के वापस भेजते समय आपका प्रोजेक्ट का सदस्य होना ज़रूरी है।
"यह प्रोजेक्ट अभी किसी Slack workspace से कनेक्ट नहीं है।"पहले प्रोजेक्ट सेटिंग्स > वर्कस्पेस > Slack से Status200 को Slack में इंस्टॉल करें, फिर अपना खाता जोड़ें।
"आपने उस Slack workspace से अलग workspace में साइन इन किया है जिससे यह प्रोजेक्ट कनेक्ट है।"अपना खाता उस Slack वर्कस्पेस में साइन इन रहते हुए जोड़ें जिसमें प्रोजेक्ट इंस्टॉल है।
"आपने Slack में उस व्यक्ति के बजाय किसी और के रूप में साइन इन किया, जिसने Slack में कनेक्ट बटन दबाया था, इसलिए कुछ भी कनेक्ट नहीं हुआ।"Connect Slack account बटन सिर्फ़ उसी Slack खाते के लिए काम करता है जिसने उसे दबाया। Slack में खुद के रूप में साइन इन करें, या जिसने उसे दबाया उससे उसे दबाने को कहें।
"कनेक्शन रद्द कर दिया गया, इसलिए कुछ भी नहीं बदला गया।"Slack में अनुरोध की अनुमति नहीं दी गई। फिर से शुरू करें और अनुमति दें।
"इस Status200 सर्वर पर Slack सेट अप नहीं है।"SLACK_APP_CLIENT_ID और SLACK_APP_CLIENT_SECRET सेट करें (देखें एनवायरनमेंट वेरिएबल) और Status200 को रीस्टार्ट करें।
"Status200 कनेक्ट करना पूरा नहीं कर सका। कृपया फिर से कोशिश करें।"Slack ने त्रुटि के साथ जवाब दिया, या पूरा करते समय कोई अनुरोध या राइट विफल हुआ। Status200 सर्वर का लॉग बताता है कि कौन-सा। फिर से कोशिश करें; अगर यह होता रहे, तो लॉग और Slack ऐप की सेटिंग्स जाँचें।

अन्य समस्याएँ

Slack इवेंट का अनुरोध URL सत्यापित नहीं कर पाता

Status200 Slack के challenge का जवाब तभी देता है जब SLACK_APP_SIGNING_SECRET सेट हो और अनुरोध उस तक पहुँचे। signing secret सेट करें, कॉन्फ़िगरेशन लागू करें और सत्यापन फिर से करें। अगर फिर भी विफल हो, तो जाँचें कि POST /api/slack/events इंटरनेट से सार्वजनिक रूप से भरोसेमंद सर्टिफ़िकेट के साथ पहुँच योग्य है।

बटन और स्लैश कमांड कुछ नहीं करते, लेकिन सूचनाएँ आती हैं

सूचनाएँ आउटबाउंड होती हैं, इसलिए वे इनबाउंड एक्सेस के बिना काम करती हैं। बटन, शॉर्टकट और कमांड इनबाउंड होते हैं: जाँचें कि Slack POST /api/slack/interactive और POST /api/slack/command तक पहुँच सकता है, और गेटवे बॉडी और X-Slack-Signature और X-Slack-Request-Timestamp हेडर बनाए रखता है।

ऐप कहता है कि मेरा Slack खाता Status200 से जुड़ा नहीं है

बटन, फ़ॉर्म और कमांड के लिए आपका Slack खाता आपके Status200 उपयोगकर्ता से जुड़ा होना चाहिए। ऐप के जवाब में Connect Slack account दबाएँ, या उपयोगकर्ता सेटिंग्स > वर्कस्पेस > Slack खोलें और Connect my account with Slack चुनें। अगर आपको प्रोजेक्ट से हटा दिया गया है, तो ऐप इसके बजाय यही बताता है, और Slack से की गई कार्रवाइयाँ अस्वीकार हो जाती हैं।

स्क्रीनशॉट टेक्स्ट के रूप में दिखते हैं

Slack ऐप में files:write स्कोप नहीं है। देखें संदेशों में इमेज।

अगले कदम