ليس سراً أن البرامج الجيدة تختلف عن الباقي ليس في الوظائف ، ولكن في جودة الوظائف المعلنة. بعد كل شيء ، لا يحتاج أي شخص إلى برنامج غني بالوظائف إذا كان ببساطة لا يعمل. ولكن كيف يمكنك أن تخبر المطورين في الوقت المناسب أن هناك خطأ ما في المشروع؟
اليوم سنتحدث قليلاً عن مشكلات الاتصال بين الإدارات داخل الشركة ، وفي نفس الوقت مع مثال اختبار تكنولوجيا المعلومات ، سننظر في ما ساعدنا على فهم Zen: نزيه ، بقلب من الحجر وروح من خوارزمية - روبوت على Bot Framework. مرحبا بكم في القط!

منذ فترة طويلة يعتقد أن الأداة الرئيسية في الحرب هي التواصل. بدون التواصل ، من المستحيل تنسيق قواتك ، وتعلم الأخبار من الحقول ، وتقديم الدعم ومتابعة تصرفات العدو. وما هي التنمية ، إن لم تكن حربًا محلية لعدة إدارات لمنتج ما؟
وإذا استخدموا في العصور القديمة رسولا ، رسولا ، وهاتفا في وقت لاحق ، لنشر الأخبار ، فسيكون من الغريب استخدام هذه التقنيات ، على عتبة عام 2020 ، خاصة عندما يتم توزيع جيشك الذي يعمل على منتج ما خارج حدود مكتب واحد. هنا لدينا مهندس ضمان الجودة وطرح سؤال مماثل.
بالطبع ، يمكنك كتابة تفاصيل حول الاختبار الفاشل في الدردشة الحية. ولكن هذا سيتطلب وقتًا لا ترغب في إنفاقه على نفس نوع الإشعارات. يمكنك إضافة أمر إلى مدخل
IT IT وإجبارهم على التحقق من حالة الاختبارات التلقائية. وسيؤدي ذلك أيضًا إلى حل المشكلة جزئيًا ، ولكن الحاجة إلى البقاء باستمرار على البوابة ستؤدي إلى تشتيت انتباه فريق التطوير إلى حد كبير. نحتاج إلى شيء أكثر بساطة ، دون الحاجة إلى إضاعة الوقت في إرسال الإشعارات مرة أخرى.
بعد هذا المنطق ، وصلنا إلى webhooks. سيقومون بأتمتة إرسال الإخطارات والسجلات الهامة من النظام إلى أي مكواة متصلة بالإنترنت.
لذلك ، قمنا بفرز قناة الاتصال. لقد حان الوقت للتفكير في المكان الذي يجب أن ترسل به webhooks إشعاراتها. من الناحية المثالية ، يجب أن تكون هذه منصة تجمع بين العديد من برامج المراسلة الفورية والبريد الإلكتروني لعشاق الكلاسيكيات. وكما تخمن من عنوان المقال ، سقطت المنصة على إطار بوت.
هذا المزيج يلبي تمامًا متطلبات الإشعارات العاجلة ، وسيوسع من قدرات الروبوت دون التدخل في حالات الاختبار والنظام الأساسي. وسيصبح الروبوت نفسه مساعداً للتطوير لدينا ، والذي سيقرأ بلا كلل دردشة عمل ويبلغنا بأي أحداث تهم TMS Test IT.
في مقال اليوم ، سننظر في مثال لاستخدام الروبوت في Telegram لإرسال إعلامات إلى فرق التطوير والاختبار من منصة Test IT.
إنشاء مشروع وروبوت
انتقل إلى البوابة وقم بإنشاء مشروع جديد:

يشتمل المشروع على حالات اختبار واختبارات تلقائية وقوائم مرجعية و webhooks وأكثر من ذلك بكثير.
بعد ذلك ، قم بإنشاء خطة اختبار. دعه يحمل نفس الاسم غير المعقد مثل اسم المشروع:

علاوة على ذلك ، يمكنك إضافة حالات اختبار جديدة ، لكننا سننتقل مباشرةً إلى إنشاء مساعدنا الذكي. لا تغلق البوابة ، وسنعود إليها لإعداد خوادم الويب.
سيتم إجراء التطوير على .Net Framework (جيدًا ، حيث بدونه) باستخدام Azure. في الواقع ، سنبدأ مع
أزور .
انتقل إلى البوابة وابحث عن Bot App Bot:

انقر فوق "إنشاء" ، وملء الحقول المطلوبة والتوسيع. كجزء من المقالة ، سنقوم في البداية بنشر قالب Echo Bot وفي المستقبل سنبني عليه
عندما يتم نشر الروبوت بنجاح ، فقد حان الوقت للاتصال بقنوات الاتصال الخاصة به مع الروبوت. يتم تقديم قائمة كبيرة جدًا من الرسائل وخيارات الاتصال لاختيار المطور ، لكن Telegram كافية لأغراضنا.
للقيام بذلك ، اكتب بضعة أوامر جيدة إلى
botFather @ bot وإنشاء روبوت جديد. لحسن الحظ ، يتواصل معنا ودودًا للغاية ، ويساعد في تكوين نوعه الخاص. تم إنشاء بوت الأب في برقية للتحكم في السير الأخرى. نعم ، لا عجب أن يكون والد الأب روبوتات!
في نهاية التسجيل ، يجب أن يعطينا بوت أب المفتاح الفريد لطفلنا. نحن سعداء بنسخها ، أشكر والد هذه العائلة الغريبة والعودة إلى بوابة أزور.
نحتاج الآن إلى تنزيل الكود المصدري للبوت حتى نتمكن من العمل معه مباشرة في IDE الخاص بنا:

على الفور يمكننا الحصول على محاكي للتصحيح المحلي. إذا كان لبوتك منطق أكثر بقليل من إخراج "Hello world" ، فمن الأفضل أن تحصل على الأدوات اللازمة لتصحيح واختبار عضو فريقك الجديد.
مباشرة على البوابة ، كان علينا فقط فتح روبوتنا الجديد ، والانتقال إلى علامة التبويب "القنوات" ، وإضافة قناة Telegram ومنحها المفتاح ، يرجى تركها من قبل والد الروبوتات. أيضًا ، لمنع تعطل الروبوتات لفترة طويلة من عدم النشاط ، يُنصح بالتبديل إلى خدمة التطبيق (يشبه الاسم اسم الروبوت الخاص بنا على البوابة) -> التكوين -> المعلمات العامة وفي العمود "دائمًا" "اختر الحالة" ممكّن ". خلاف ذلك ، قد تغفو الروبوت الخاص بك ، ويستغرق المستخدمون وقتًا ثمينًا في تشغيله.

أيضًا ، نظرًا لأننا لا نزال على بوابة Azure ، فسوف ننشر قاعدة بيانات صغيرة لهذا الروبوت. مفيدة لتخزين قائمة فهارس المجموعة ومفاتيحها السرية. يمكنك قراءة المزيد حول نشر قاعدة البيانات
هنا .
لذا ، إذا ، عند الوصول إلى برنامج الروبوت الخاص بنا في Telegram ، فقد قام بإرجاع رسالتنا ، فهذا يعني أننا فعلنا كل شيء بشكل صحيح ويمكن تأجيل علامة التبويب مع Azure إلى أوقات أفضل. الآن يمكنك البدء في العمل على منطق مساعدنا.
نحن نوجه أدمغة الروبوت

بالنسبة لأولئك الذين لديهم خبرة في ASP.NET Core ، لن يأتي أي شيء جديد بعد ذلك. سيترك الباقي كتيب مختصر حول ما يجب القيام به بعد ذلك:
- لتعليم التطبيق للعمل مع Entity Framework وربط قاعدة البيانات. من الضروري أن يكون الروبوت قادرًا على تخزين اتصالات ChatID وحالة تجاهل الدردشة و "secretKeyBot" للكيانات الواردة في قاعدة البيانات. سيسمح هذا باستخدام الروبوت ليس فقط في إطار هذا المشروع والشركة ككل ، ولكن أيضًا إضافته بحرية إلى مجموعات للجميع ؛
- إضافة نموذج البيانات وحدة تحكم API. في تطبيقنا ، يجب أن يكون هناك بعض نقاط الدخول الخارجية التي يمكنك من خلالها الوصول إلى الروبوت ونقل نص الطلب. نموذج البيانات هو تمثيل نص الطلب ، ويجب أن تعمل وحدة التحكم مع مكالمة خارجية ؛
- اكتب الألغاز وفرق الخدمة. إذا كان كل شيء واضحًا مع kruds ، فإن خدمة الأمر هي منطق أعمالنا لمعالجة رسائل الدردشة. في البداية ، أردنا أن نكون قادرين على التخلص من الإخطارات من الروبوت في أي دردشة معينة. أحد خيارات القيام بذلك هو مباشرة من خلال أمر الدردشة ، والذي يجب أن يعالج الروبوت ويتذكر فقط لهذه الدردشة.
- اختبار الروبوت في بيئة محلية باستخدام المحاكي. يمكن للاعبين المتمرسين بشكل خاص تحميل برنامج الروبوت مباشرةً إلى أزور ومشاهدة سلوكه من خلال الدردشة في Telegram ، ولكن في هذه الحالة لن يقوم برنامج الروبوت بإرجاع وصف تفصيلي للأخطاء. نعم ، لا يمكن وضع نقاط التوقف (أداة تصحيح الأخطاء المفضلة). بالمناسبة ، هناك ميزة صغيرة لإطار بوت هي أنه لا يحب في الحقيقة إرجاع وصف مفصل للخطأ. لذلك نحن نطور بعناية ونلتزم في كثير من الأحيان!
- نشر إلى أزور. من بين مجلدات المشروع ، يمكنك العثور على واحد يحمل الاسم غير المعقد "PostDeployScripts". أنه يحتوي على ملف واحد مهم بالنسبة لنا مع التمديد .PublishSettings. البيانات الموجودة على الاتصال بتخزين الروبوت على Azure موجودة. بالنسبة لأولئك الذين يستخدمون Visual Studio ، هذا الملف هو المفتاح المقدس لنشر المشروع: استيراده عند النشر ، وسيقوم IDE بسحب جميع البيانات اللازمة منه.
أضف webhook
في الواقع ، يتم إنشاء الروبوت. حان الوقت لإسقاط webhook من بوابة TestIT. يسعدنا أننا لم نغلق علامة التبويب في المتصفح ، ونذهب إلى هناك:

نذهب إلى إعدادات المشروع ، علامة التبويب "Webhooks" وإضافة واحدة جديدة:

الآن دعونا نحاول تغيير حالة خطة الاختبار ونرى كيف سيرد الروبوت.

في الواقع ، هذا هو المكان الذي انتهى بنا فيه مثال صغير لإنشاء روبوت مساعد. يمكن الاطلاع
على الروبوت لدينا
على جيثب .
من الآن فصاعدًا ، يمكن لفرق المطورين والمختبرين الانخراط بأمان في تطوير المنتجات ، وسينتظر صديقنا الذكي الجديد بلا كلل الأخبار من حقول الاختبار ومشاركتها بسرعة.
من المهم أن نفهم أن قدرات الروبوت غير محدودة تقريبًا: فهي قادرة على معالجة أي طلبات من الخارج. وهذا يعني أنه يمكنك تعلم الكثير من الأشياء: تصفية رسائل الدردشة وإخطارات بناء الفريق والألعاب المصغرة في وقت فراغك. إذا حاولت إظهار القليل من الخيال ، فيمكنك تعليمه كيفية طلب البيتزا أو إنشاء تقويم عمل أو التعرف على المستندات أو حتى إعادة توجيه رسائل البريد الإلكتروني الواردة إلى الرسائل الفورية.