सर्विसनाउ: XOps कहानियों के साथ एकीकरण को विन्यस्त करना

अवलोकन

XOps द्वि-दिशात्मक समकालिकता का समर्थन करता है XOps कहानियों और एक बाहरी सेवा प्रबंधन प्लेटफ़ॉर्म के बीच। यह एकीकरण प्लेटफार्मों के बीच जांच गतिविधि को समन्वित रखने में मदद करता है, इसलिए एक प्लेटरफ़ॉर्म में किए गए अपडेट दूसरों में भी प्रदर्शित होते हैं।

अधिक जानकारी के लिए, देखें सेवा प्रबंधन प्लेटफार्मों के साथ द्वि-दिशात्मक एकीकरण बनाना.

सर्विसनाउ एकीकरण को विन्यस्त करना

सर्विकेनाउ एकीकरण को विन्यस्त करने के लिए, इन पांच चरणों को पूरा करें।

चरण 1: कस्टम फ़ील्ड बनाएं

जब Cato प्रबंधन अनुप्रयोग (CMA) में टिकट किया जाता है, तो भरी जाने के लिए क्षेत्र बनाएं।

कस्टम फील्ड्स बनाने के लिए:

  1. सर्विसनाउ प्लेटफ़ॉर्म में लॉग इन करें।
  2. कोई भी घटना खोलें।
  3. शीर्ष बैनर से, राइट-क्लिक करें और विन्यस्त करें > फॉर्म बिल्डर पर जाएं।
  4. यदि आवश्यक हो, फॉर्म बिल्डर को आजमाने के लिए सहमति दें और डिफ़ॉल्ट दृश्य का चयन करें।
  5. घटना तालिका में नया फील्ड जोड़ें पर क्लिक करें।
  6. इन फील्ड्स को जोड़ें:

    • CMA खाता आईडी

      • प्रकार: पूर्णांक
      • प्रॉपर्टीज: केवल पढ़ने योग्य, अनिवार्य, सक्रिय
    • CMA कहानी आईडी

      • प्रकार: स्ट्रिंग
      • प्रॉपर्टीज: केवल पढ़ने योग्य, अनिवार्य, सक्रिय

चरण 2: CMA में सेवा API कुंजी बनाएं

सेवा API कुंजियाँ बाहरी उपकरणों और सेवाओं के साथ स्थिर एकीकरण सक्षम करती हैं और इस प्रारूप में बनाई जाती हैं: R=<...>|K=<...>। सेवा API कुंजी बनाने के तरीके के बारे में अधिक विवरण और जानकारी के लिए, देखें Cato API के लिए API कुंजियाँ उत्पन्न करना.

एक बार जब आप सेवा API कुंजी बना लेते हैं, तो उसे कॉपी और सहेजें ताकि उसे सर्विसनाउ प्लेटफ़ॉर्म में दर्ज किया जा सके।

चरण 3: सुरक्षित प्रणाली प्रॉपर्टी में API कुंजी को सुरक्षित तरीके से संग्रहीत करें

सर्विसनाउ प्लेटफ़ॉर्म में, API कुंजी को संग्रहीत करने के लिए एक सुरक्षित प्रणाली प्रॉपर्टी बनाएं।

एक सुरक्षित प्रणाली प्रॉपर्टी बनाने के लिए:

  1. https://<आपका इंस्टांस>.service-now.com/sys_properties_list.do पर जाएं
  2. नया पर क्लिक करें।
  3. प्रणाली गुणों के नए रिकॉर्ड फॉर्म में, इन विवरणों को जोड़ें:

    SN5.png
    • नाम: cma_prod_api_key
    • प्रकार: पासवर्ड2
    • मान: सेवा API कुंजी जिसे आपने चरण 2 में बनाया
  4. जमा करें पर क्लिक करें।

स्टेप 4: REST संदेश बनाएं

सर्विसनाउ घटनाओं से Cato तक विवरण भेजने के लिए एक REST संदेश बनाएं:

REST संदेश बनाने के लिए:

  1. अपने सर्विसनाउ प्लेटफ़ॉर्म में जाकर सभी > सिस्टम वेब सेवाएं > आउटबाउंड > REST संदेश चुनें।
  2. नया पर क्लिक करें।
  3. REST संदेश फॉर्म में, इन विवरणों को जोड़ें:

    • नाम: REST संदेश के लिए एक नाम जोड़ें
    • एंडपॉइंट: https://<आपका Cato खाता नाम>.cc.catonetworks.com/api/v1/graphql2
    • प्रमाणीकरण प्रकार: कोई प्रमाणीकरण नहीं
    • HTTP विधियाँ: नया पर क्लिक करें और इन विवरणों को जोड़ें:

      • नाम: एक नाम जोड़ें
      • HTTP विधि: POST
      • एंडपॉइंट: https://<आपका Cato खाता नाम>.cc.catonetworks.com/api/v1/graphql2
  4. जमा करें पर क्लिक करें।

स्टेप 5: एक व्यवसायिक नियम बनाएं

REST संदेश को सक्रिय करने के लिए एक व्यवसायिक नियम बनाएं।

एक व्यवसायिक नियम बनाने के लिए:

  1. अपने सर्विसनाउ प्लेटफ़ॉर्म में जाकर सभी > सिस्टम परिभाषाएँ > व्यवसाय नियम चुनें।
  2. नया पर क्लिक करें।
  3. व्यवसाय नियम के नए रिकॉर्ड फॉर्म में, इन विवरणों को जोड़ें:

    SN6.png
    • नाम: व्यवसाय नियम के लिए एक नाम जोड़ें
    • तालिका: घटना
    • कब: बाद में
    • अपडेट: सही (चेकबॉक्स को चेक करें)
    • फ़िल्टर की स्थिति: टिप्पणियाँ परिवर्तन
  4. उन्नत टैब पर, इस स्क्रिप्ट को जोड़ें:

    (function executeRule(current, previous) {
      try {
        var lastComment = current.comments.getJournalEntry(1) || '';
        lastComment = stripJournalHeader(lastComment);
        if (!lastComment) {
          gs.info("GraphQL webhook: Empty comment, skipping " + current.number);
          return;
        }
        var accountId = current.u_cma_account_id;
        var storyId = current.u_cma_story_id;
            gs.info("GraphQL webhook: accountId " + accountId + " story " + storyId);
        if (!accountId || !storyId) {
          gs.error("GraphQL webhook: Missing accountId/storyId for " + current.number);
          return;
        }
        var gqlQuery =
          "mutation CreateStoryComment($accountId: ID!, $input: AddStoryCommentInput!) {" +
          "  xdr(accountId: $accountId) {" +
          "    addStoryComment(input: $input) {" +
          "      comment { id type __typename }" +
          "      __typename" +
          "    }" +
          "    __typename" +
          "  }" +
          "}";
        var body = {
          query: gqlQuery,
          variables: {
            accountId: accountId.toString(),
            input: {
              type: "USER",
              storyId: storyId.toString(),
              text: lastComment
            }
          }
        };
            var apiKey = gs.getProperty('cma_prod_api_key');
        var r = new sn_ws.RESTMessageV2('Update XDR story comments CMA Prod', 'post');
        r.setRequestHeader('Content-Type', 'application/json');
        r.setRequestHeader('Accept', 'application/json');
            r.setRequestHeader('x-api-key', apiKey);
        r.setRequestBody(JSON.stringify(body));
        //var response = r.execute(); // can be changed to Async - only for debug purposes
            var eccSysId = r.executeAsync();
        gs.info("GraphQL webhook queued, ECC sys_id=" + eccSysId);
        var status = response.getStatusCode();
        var responseBody = response.getBody();
      // Safe logging (see next section for masking)
         gs.info("GraphQL webhook: status=" + status);
         gs.info("GraphQL webhook: responseBody=" + responseBody);
      } catch (ex) {
        gs.info("GraphQL webhook: Failed: " + ex.message);
      }
      function stripJournalHeader(text) {
        text = text || '';
        if (text.indexOf('\n') > -1) {
          return text.split('\n').slice(1).join('\n').trim();
        }
        return text.trim();
      }
    })(current, previous);
  5. जमा करें पर क्लिक करें।

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

आप किसी भी स्थान पर समस्याएं और त्रुटियां पहचान सकते हैं:

  • सिस्टम लॉग्स: सिस्टम लॉग्स > सभी पर जाएं और संदेशों के लिए खोजें जिसमें GraphQL वेबहुक शामिल हों।
  • ECC रिकॉर्ड: https://<instance>.service-now.com/sys_ecc_queue_list.do पर जाएं और लॉग किए गए ECC sys_id के साथ ECC रिकॉर्ड ढूंढें।

सामान्य समस्याएं

यह सामान्य समस्याओं की सूची और उनके कारण है:

समस्या कारण
टिप्पणी नहीं भेजी गई टिप्पणी पाठ खाली
अनुपस्थित खाता/कहानी आईडी कस्टम फील्ड भरे नहीं गए
API 400 लौटाता है अनुचित अनुरोध प्रारूप
API 401 लौटाता है अमान्य API कुंजी

क्या यह लेख उपयोगी था?

0 में से 0 के लिए उपयोगी रहा

0 टिप्पणियां