כל עבודה כוללת משימות מתחדשות. בין אם זו סוכנית תמיכה שמנתחת בקשות עזרה נפוצות, מנהל צוות שמעקב אחר מדדי ביצועים, או מהנדסת תוכנה שבודקת תהליכים עסקיים, המשימות האלה מקוריות לעיתים קרובות – יומית, שבועית, או אפילו שעתית.
למרבה המזל, ניתן לאוטומטיזציה של הרבה מהעבודה הזו בעזרת השפה Python. זו שפה גיוונית שמועדה לעיבוד מידע וקלה לשימוש בעיצוב משימות אוטומציה. דמיינו את מדדי הביצועים: באופן ידני, אתה עלול להיות צריך לחפור דרך כמה לוחות בקרה. עם סקripט Python, ניתן למלא את המידע באופן אוטומטי, להדגיש את הנקודות העיקריות ולשלוח דוח מאובייקט למנהלך. זה לא רק חסך זמן אלא גם מפחית את הסיכון לטעויות.
בהדרכה זו, נסתכל על מקרה ספציפי של ריצוף קוד Python כדי לשלוח תחזית מזג אוויר למקום ספציפי ולשלוח סכם של התחזית למערכת Microsoft Teams, שהיא פלטפורמת תקשורת צוות של מיקرוסופ. נעבוד על כל השלבים הנחוצים להגדיר קשר רשת של מערכת Teams, סקripט Python שמשתמש בקשר הזה כדי לשלוח מסרים, ולהגדיר לוח זמנים כך שהסקripט Python יוכל לרץ בקצב קבוע. הדוגמא הספציפית היא על תחזית המזג אוויר, אך אתה בטח יכול להחליף את ההגיון העסקי הזה עם מה שלא תרצו; כל ההגדרות והקוד לשליחת המס
שניצר בשימוש DataLab בהדרכה זו, כיוון שיש בו תכונות מובנות לאחסון בטחון של סודות כמשתנים סביבתיים (תכונה שנשתמש בה לאחסון ה-Webhook של Teams) וגם לתזמון קוד ה-Python שלך עם מספר קליקים. כדי לעקוב, כל מה שאתה צריך הוא חשבון Microsoft (לשלוח הודעות) וחשבון DataCamp (לשימוש ב-DataLab), שניתן ליצור את שניהם בחינם!
אתה יכול גם לבדוק את המדריך הנפרד שלנו על איך לשלוח הודעות Slack עם Python.
בואו נתחיל!
1. קונפיגורציה של רשת קשר Microsoft Teams
בתוך Microsoft Teams, ישנם צוותים, שבהם ישנם ערוצים. אפשר להוסיף את מה שנקרא 'אפליקציות' לערוצים הללו. ניתן לחשוב על אפליקציית Teams כהרחבה או תוספת של MS Teams למטרה מסוימת. ישנם אפליקציות לשילוב Jira, Zendesk, Salesforce ועוד בהמוניהן אחרות לתוך Teams, כך שניתן להתברר בתוך Teams על דברים שקורים, אבל ניתן גם לבצע פעולות באפליקציות הללו מתוך Teams. עבור הפרוייקט הקטן שלנו, נצטרך להתקין אחת מהאפליקציות הללו, ובמיוחד את "Incoming Webhook", שנותנת טיפול עליה על ידי Microsoft עצמה.
כדי להתחיל, ודא שיש לך חשבון מיקרוסופט עם גישה לטים. ודא שאתה חבר בצוות ויש לך רשות להוסיף אפליקציות לערוצים בצוות זה. אם לא, צור קשר עם המחלקה המומחית שלך ושלח להם הקישור הזה.
לאחר מכן, נווט לערוץ הצוות שאליו אתה מתכוון לפרסם הודעות. בדוגמה שלנו, זהו הערוץ "כללי" בתוך צוות "חילופי הנתונים":
לחץ על הסימן + ליד שם הערוץ; תראה סקירה של אפליקציות שניתן להוסיף לערוץ:
לחץ על "להוסיף יותר אפליקציות". תופיע בחנות אפליקציות מלאה של אפליקציות שניתן להוסיף ל- MS Teams:
בקופסא החיפוש, הקלידו "Incoming Webhook." האפליקציה שמופיעה ראשונה היא זו שאנחנו צריכים:
לחץ על הוסף, ואז על "הוסף לצוות." עכשיו תופיע הודעה שתבקש מך לציין אל איזה צוות או ערוץ אתה רוצה לשלוח הודעות:
הדוגמה של המדריך הזה היא הערוץ "כללי" בצוות "חילופי הנתונים", אבל זה כנראה יהיה שונה עבורך. לאחר מכן, לחץ על "להגדיר מתקן." תופיע מסך נוסף שתבקש להגדיר כמה הגדרות נוספות ל- webhook.
ציין שם ל-webhook הנכנס; ההודעות שלך ישלחו בשם זה, אז תבחר במשהו שיש לו משמעות, לדוגמה, "מסרני פייטון". תוכל גם להעלות תמונה מותאמת, אבל זה לא חובה. לבסוף, לחץ על "צור". תופיע כתובת webhook!
אתה ישמש את כתובת הובק האינטרנטית הזו בתוכנה הפיתוח הפיונית שלך, אז ודא שתעתק אותה ללוח העלים ותשמר אותה במקום מסויים (לדוגמה, ביישומך לפתוחים) לשימוש בעתיד. לבסוף, תלחץ "בסדר". בעמוד הסקירה שיופיע, תראה סקירה של כל החיבורים בערך שנבחר.
ניתן פשוט לסגור את המסך הזה. בערך שנבחר, תראה מסר התאמה המקביל להגדרה שלך:
זה הכל! כרגע, ערך שנבחר מוכן לקבל מסרים דרך הובק האינטרנטי.
2. כתובת העסקים בפיתוח הפיתוח הפיוני בפיתוח הפיתוח הפיוני.
עבודה מעולה עד לכאן! עם הובק האינטרנטי בטים מוגדר, הגיע הזמן לחלק הכי מעניין: כתיבת קוד בפיתוח הפיתוח הפיוני. נתחיל בכתיבת קוד בשביל העסקים שלנו בשיפור העסקים כדי לפתור את המשימה שבעניין.
אם צריך להתחיל מחדש על כתיבת קוד בפיתוח הפיתוח הפיוני, הקורס הקיצונית לפיתוח הפיתוח הפיוניהוא המקום המושלם להתחיל.
ניתן להתחיל ביציאת עבודה ריקה מתחילה, שזה שימושי אם אתה כבר יודע את התוכנה שתרצה לאוטומציית ולהשלמתה בטים.
אם אתה כאן כדי ללמוד על התפיסות, תוכל להתחיל עם עבודה שמקבלת סיכום חדשות המזג אוויר עבור עיר שתוכל ל指定. כל יום
הפעל וערוך את הקוד מהמדריך הזה באינטרנט
בשני המקרים, אתה אמור לסיים עם מחברת DataLab עם כל הלוגיקה העסקית שלך מקודדת:
3. שליחת הודעה ל-Teams
אז, webhook ל-Teams: בדוק. לוגיקה עסקית: בדוק. כדי לשלב את מחברת הפייתון עם Microsoft Teams, אנחנו צריכים לעשות שני דברים: לאחסן את כתובת ה-URL של ה-webhook במחברת ה-DataLab ולכתוב קוד פייתון כדי לשלוח הודעה לערוץ ה-Teams.
אחסן את כתובת ה-URL של ה-webhook
מחברת הפייתון שלנו צריכה את כתובת ה-URL של ה-webhook כדי לשלוח את ההודעה לערוץ ה-Teams הנכון. תוכל פשוט להעתיק ולהדביק את כתובת ה-URL הזו בתוך תא קוד במחברת שלך. עם זאת, זו גישה לא מאובטחת ולא מומלצת. כתובת ה-URL של ה-webhook היא סוג של סוד. אם תשתף את המחברת שלך עם מישהו אחר, הם יוכלו לראות את כתובת ה-URL של ה-webhook, והם יוכלו לשלוח ספאם לערוץ ה-Teams שלך!
גישה זו גם תדרוש ממך לחזור על ההעתקה וההדבקה בכל מחברת שבה תרצה לשלוח הודעות ל-Teams. אם תרצה לעדכן את כתובת ה-URL של ה-webhook מסיבה כלשהי, תצטרך לעבור ולערוך כל מחברת.
גישה מאובטחת ומדרגית יותר היא לאחסן את אסימון כתובת ה-URL של ה-webhook ב-משתנה סביבה. כאשר תחבר את משתנה הסביבה הזה, הוא יהיה זמין במושב הפייתון שלך. במחברת שלך:
- לחץ על כרטיסיית "סביבה" בצד שמאל
- לחץ על אייקון הפלוס ליד "משתני סביבה"
- בחלון "הוספת משתני סביבה":
- קבע "שם" בתור MS_TEAMS_WEBHOOK_URL
- בשדה "ערך", הדביק את כתובת ה־Webhook שהצלחת לשמור מוקדם יותר.
- קבע את "שם קבוצת משתני הסביבה" בתור "Microsoft Teams" (זה יכול להיות כל דבר, למעשה)
לאחר מילוי כל השדות, קליק על "יצירה", "הבא", ולבסוף, "התחברות". הפעלה של גירסת העובדה שלך תירצה מחדש, וMS_TEAMS_WEBHOOK_URL יהיה זמין כמשתנה סביבתי בעובדה שלך. ניתן לוודא זאת על ידי יצירת תא פייתון עם הקוד הבא וריצתו:
import os webhook_url = os.environ["MS_TEAMS_WEBHOOK_URL"] print(webhook_url)
אם ברצונך להשתמש שוב באותם פרטי ההתחברות של חשבון השירותים בעובדה אחרת, אין צורך להגדיר משתנה סביבתי שוב: ניתן להשתמש במשתנה הסביבתי בעובדות אחרות.
קוד פייתון לשליחת הודעה ל־Microsoft Teams
עם MS_TEAMS_WEBHOOK_URL המוכנה ומוצבת, ניתן עכשיו לכתוב קוד פייתון שישלח הודעה ל־Teams! לשם כך, נשתמש ב־חבילת pymsteams, שמספקת מעטפת שימושית ל־API המסובכת הזו לשליחת הודעות ל־Teams. בואו נתקן אותה וניביא אותה, בנוסף לחבילת os כדי לקרוא משתני סביבה:
!pip install pymsteams import pymsteams import os
לאחר מכן, ניתן ליצור את מה שנקרא 'כרטיס התקשרות' – מילה רפאית להודעה עשירה ב־Teams –, להוסיף טקסט לתוכו ולשלוח אותו:
card = pymsteams.connectorcard(os.environ["MS_TEAMS_WEBHOOK_URL"]) card.text("Hello Teams!") assert card.send()
הריץ את הקוד הזה! אתה אמור לראות את ההודעה הזו בערוץ:
plaintext
מעולה! זו היתה הודעה דוגמה ללא משמעות, אבל אתה יכול גם ליצור הודעה בהתבסס על התוצאה של הלוגיקה העסקית שלך, כמו שעשינו בתוך הספר הדוגמה:
card = pymsteams.connectorcard(os.environ["MS_TEAMS_WEBHOOK_URL"]) card.title("Weather Forecast") card.text("\n".join([ f"Weather for {CITY} in the next three days:", f"- Min temperature: {weather_df['temperature_2m'].min()} {unit_temperature}", f"- Max temperature: {weather_df['temperature_2m'].max()} {unit_temperature}", f"- Total precipitation: {weather_df['precipitation'].sum():.2f} {unit_prec}" ])) assert card.send()
עם התוצאה הבאה:
לבסוף, אתה יכול גם להשתמש במשתנה הסביבה DL_WORKBOOK_ID
כדי לכלול כפתור שמקשר לספר העבודה שלך במקרה שתרצה לכלול דרך קלה לניווט מטים לספר הDataLab שמפעיל את ההודעה הזו:
card = pymsteams.connectorcard(os.environ["MS_TEAMS_WEBHOOK_URL"]) card.title("Weather Forecast") card.text("\n".join([ f"Weather for {CITY} in the next three days:", f"- Min temperature: {weather_df['temperature_2m'].min()} {unit_temperature}", f"- Max temperature: {weather_df['temperature_2m'].max()} {unit_temperature}", f"- Total precipitation: {weather_df['precipitation'].sum():.2f} {unit_prec}" ])) card.addLinkButton("View detailed forecast", f"https://www.datacamp.com/datalab/w/{os.environ.get('DL_WORKBOOK_ID', 'invalid')}/edit") assert card.send()
עם התוצאה הבאה:
ממש נחמד, נכון?!
4. לאוטומט!
יצרת סקריפט של פייתון שבוצע ניתוח שימושי ושדר א�כרון של הניתוח הזה לטימס, כולל קישור חזרה למחברת המלאה עבור אלה שמעוניינים בפרטים נוספים. מעולה! עכשיו, תארו אם היית יכול להגדיר את המחברת לרץ באופן אוטומטי יוםית או שבועית, כדי לשמור עלך מעודכן בזמן אמת עם תוצאות חדשות. ובכן, החדשות הטובות הן, תוכל! DataLab מציעת את התכונה של ריצות מתוזמנות כדי להפוך את זה לאפשרי.
- בשורת התפריט בחלק העליון, יש ללחוץ על ריצה > לתזמן ריצה
- תצרף את התזמון כפי שתרצה:
- קבע את המחברת לרץ באופן אוטומטי בימית או שבועית. עבור תזמנים שבועיים, בחר ביום והשעה המדויקים.
- שמירת משתמשים של DataCamp שתרצו להיות מודעים בכל פעם שהפנקס מסתיים (בהצלחה או בכשלון). זה מועיל לעשות זאת במקרה של כשלון, כדי שתוכלו להתעמק ולתקן כאשר נוצרת בעיה.
אם מתוכנן כפי שבתמונה למעלה, הפנקס ירוץ ב-9:30 בבוקר בזמן המקומי כל יום, מה שאומר שהודעה תיפרסם בערוץ הטאמס המצויין בכל בוקר.
לאוטומט או לא לאוטומט
לא כל משימה היא מועדת לאוטומציה. זה תלוי בכמה פעמים אתה עושה את זה, כמה זמן זה לוקח לעשותו באופן ידני, וכמה זמן זה ייקח לכתוב סקריפט פייתון לאוטומצייתו. לדוגמה, חשבו על דוח שנתי שלוקח 20 דקות להרכיב באופן ידני. אם זה לוקח לך חצי יום כדי לכתוב סקריפט עבורו, זה יהיה הרבה שנים לפני שתוכל לשוות את הזמן שהוצג באוטומציה!
הנה סיכום בצורת שולחן:
אז אם משימה שהיית צריך לעשות יומית לקחה 5 דקות לפני, אתה יכול להקדיש עד 6 ימים כדי לנסות ולאוטומט את המשימה. אם תשקיע פחות זמן מזה באוטומציה, תגיע לשיא (מחושב לאורך חמש שנים).
מסקנה
הקמת DataLab לשלוח הודעות ל-Microsoft Teams דורשת ניווט דרך מספר מסכים בהתחלה. אבל אחרי שתקבל את כל ההגדרות עם כתובת הוובהוק בDataLab, שליחת הודעה היא רק על ידי הוספת כמה שורות של קוד פייתון – זה
אז אתם מקבלים את הימים הראשונים של הגעת לתזכורות עבור משימות מחזירות, ברצוננות לקבל את העידן הזה של עבודות יעילות ואוטומטיות בהם לא צריך לעבור בין כלים. כל מה שצריך לעשות זה לאמץ DataLab.
זוכרו, אם צריך להדגיש מחדש את הקוד הפונקציונלי בעזרת Python, הקורס המבט הראשון על Python הוא המקום האידיאלי להתחיל.
Source:
https://www.datacamp.com/tutorial/how-to-send-microsoft-teams-messages-with-python