XOps গল্প এবং একটি বাহ্যিক সার্ভিস ব্যবস্থাপনা প্ল্যাটফর্মের মধ্যে দ্বি-মুখী সিঙ্ক্রোনাইজেশন সমর্থন করে। এই ইন্টিগ্রেশন ক্রিয়াকলাপের তদন্তকে প্ল্যাটফর্মগুলির মধ্যে সমন্বিত রাখতে সাহায্য করে, যাতে এক প্ল্যাটফর্মে করা আপডেটগুলি অন্য প্ল্যাটফর্মে প্রতিফলিত হয়।
আরও তথ্যের জন্য, দেখুন সার্ভিস ব্যবস্থাপনা প্ল্যাটফর্মের সাথে দ্বি-মুখী ইন্টিগ্রেশন তৈরি করা।
সার্ভিসনাউ ইন্টিগ্রেশন কনফিগার করতে, এই পাঁচটি ধাপ সম্পন্ন করুন।
Cato ম্যানেজমেন্ট অ্যাপ্লিকেশনে যখন একটি টিকেট তৈরি হবে তখন পূরণ হওয়ার জন্য ক্ষেত্রগুলি তৈরি করুন।
কাস্টম ক্ষেত্র তৈরি করতে:
- সার্ভিসনাউ প্ল্যাটফর্মে লগ ইন করুন।
- যেকোনো ইনসিডেন্ট খুলুন।
- উপরের ব্যানার থেকে, ডান ক্লিক করে কনফিগার > ফর্ম বিল্ডার এ যান।
- যদি প্রয়োজন হয়, ফর্ম বিল্ডার চেষ্টা করার জন্য সম্মতি দিন এবং ডিফল্ট দৃশ্য নির্বাচন করুন।
- ইনসিডেন্ট টেবিলে একটি নতুন ক্ষেত্র যোগ করুন এ ক্লিক করুন।
-
এই ক্ষেত্রগুলি যোগ করুন:
-
CMA অ্যাকাউন্ট আইডি
- টাইপ: পূর্ণসংখ্যা
- বৈশিষ্ট্য: শুধুমাত্র পড়া, বাধ্যতামূলক, সক্রিয়
-
CMA গল্পের আইডি
- টাইপ: স্ট্রিং
- বৈশিষ্ট্য: শুধুমাত্র পড়া, বাধ্যতামূলক, সক্রিয়
-
সার্ভিস API কীগুলি বাহ্যিক সরঞ্জাম এবং সেবাসমূহের সাথে স্কেলেবল ইন্টিগ্রেশন সক্রিয় করে এবং এই ফর্ম্যাটে তৈরি করা হয়: R=<...>|K=<...>. আরও তথ্য এবং একটি সার্ভিস API কী তৈরি করার বিশদ তথ্যের জন্য, দেখুন Cato API-এর জন্য API কীগুলি তৈরি করা।
আপনি যখন সার্ভিস API কী তৈরি করে ফেলবেন, তখন সেটিকে কপি এবং সংরক্ষণ করুন যেন সেটি সার্ভিসনাউ প্ল্যাটফর্মে প্রবেশ করা যায়।
সার্ভিসনাউ প্ল্যাটফর্মে, API কী সংরক্ষণের জন্য একটি নিরাপদ সিস্টেম প্রোপার্টি তৈরি করুন।
সার্ভিসনাউ ইনসিডেন্ট থেকে বিবরণ Cato-তে পাঠানোর জন্য একটি REST মেসেজ তৈরি করুন:
একটি REST মেসেজ তৈরি করতে:
- আপনার সার্ভিসনাউ প্ল্যাটফর্মে সব > সিস্টেম ওয়েব সেবাসমূহ > বহির্গামী > REST মেসেজ এ যান।
- নতুন এ ক্লিক করুন।
-
REST মেসেজ ফর্মে, এই বিস্তারিত যোগ করুন:
- নাম: REST মেসেজের জন্য একটি নাম যোগ করুন
- এন্ডপয়েন্ট: https://<your Cato account name>.cc.catonetworks.com/api/v1/graphql2
- প্রমাণীকরণ ধরনের: কোনো প্রমাণীকরণ নয়
-
HTTP পদ্ধতি: নতুন এ ক্লিক করুন এবং এই বিস্তারিত যোগ করুন:
- নাম: একটি নাম যোগ করুন
- HTTP পদ্ধতি: POST
- এন্ডপয়েন্ট: https://<your Cato account name>.cc.catonetworks.com/api/v1/graphql2
- জমা দিন এ ক্লিক করুন।
REST মেসেজ ট্রিগার করতে একটি ব্যবসায়িক নিয়ম তৈরি করুন।
একটি ব্যবসায়িক নিয়ম তৈরি করার জন্য:
- আপনার সার্ভিসনাউ প্ল্যাটফর্মে সব > সিস্টেম সংজ্ঞা > ব্যবসায়িক নিয়ম এ যান।
- নতুন এ ক্লিক করুন।
-
ব্যবসায়িক নিয়ম নতুন রেকর্ড ফর্মে, এই বিস্তারিত যোগ করুন:
- নাম: ব্যবসায়িক নিয়মের জন্য একটি নাম যোগ করুন
- টেবিল: ইনসিডেন্ট
- যখন: পরে
- আপডেট: সত্য (চেকবক্সটি চেক করুন)
- ফিল্টার শর্ত: মন্তব্য পরিবর্তন
-
উন্নত ট্যাবে এই স্ক্রিপ্ট যোগ করুন:
(current, previous) রুল কার্যকর করবেন (function { 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); - জমা দিন এ ক্লিক করুন।
আপনি বা: এ ত্রুটি এবং সমস্যাগুলি সনাক্ত করতে পারেন।
- সিস্টেম লগ: সিস্টেম লগ > সব এ যান এবং
GraphQL webhookধারণকারী মেসেজের জন্য অনুসন্ধান করুন। - ECC রেকর্ড: https://<instance>.service-now.com/sys_ecc_queue_list.do এ যান এবং লগ করা
ECC sys_idএর সাথে ECC রেকর্ড খুঁজে বের করুন।
0 মন্তব্য
একটি মন্তব্য করার জন্য সাইন ইন করুন করুন।