SLAtech Vantage מושך מ-GitHub שני דברים: את הקומיטים של המאגר, שמשויכים לפרויקט, ואת הריצות של GitHub Actions שנכשלו, שנכנסות לזרם התקלות. החיבור הוא לקריאה בלבד ונעשה באמצעות אסימון גישה אישי. כשהאסימון הוא מסוג fine-grained, SLAtech Vantage יודע מתי הוא פג ומזהיר שבועיים מראש.
מה נמשך מכל קומיט
הקומיטים נמשכים כל שעה, ורק חדשים: קומיט לא משתנה, ולכן קומיט שכבר נשמר לא נמשך שוב. מכל קומיט נשמרים:
- המזהה (sha), ההודעה, המחבר והתאריך;
- רשימת הקבצים ששונו, עם מספר השורות שנוספו ונמחקו;
- השינוי עצמו בכל קובץ, כש-GitHub מחזיר אותו. בשינוי גדול מאוד GitHub לא מחזיר אותו, ואז הוא חסר.
קומיט משויך לפרויקט ולמאגר, לא למשימה מסוימת. אפשר לחבר לפרויקט יותר ממאגר אחד, למשל צד לקוח וצד שרת.
מה קומיטים עושים בתוך SLAtech Vantage
שני שימושים, ושניהם חוסכים חיפוש:
- ליד תקלה. כשממחסנית השגיאה מזוהה המחלקה שבה היא נפלה, מסך התקלה מציג את הקומיטים האחרונים שנגעו בקובץ של אותה מחלקה. התשובה לשאלה "מה השתנה שם לאחרונה" נמצאת ליד השגיאה.
- במאגר הידע. הודעות הקומיטים והקבצים שלהם נכנסים לחיפוש, כך שאפשר לשאול בעברית על שינוי שתואר באנגלית. הטקסט עובר מיסוך של מזהים אישיים לפני שהוא נשלח לתרגום.
ההתאמה לפי שם המחלקה גסה: שתי מחלקות באותו שם במקומות שונים עלולות להציג קומיט לא קשור.
ריצות GitHub Actions שנכשלו
זהו חיבור נפרד מהקומיטים, והוא דורש אסימון עם הרשאת קריאה ל-Actions. נמשכות רק ריצות שהסתיימו בכישלון, בביטול או בחריגת זמן. ריצה מוצלחת לא נשמרת, וריצה שעדיין רצה ממתינה לתוצאה.
- כל ריצה כזו נכנסת לזרם התקלות של הפרויקט, לצד השגיאות מהשרת.
- הקיבוץ הוא לפי מאגר, שם התהליך, התוצאה והענף. "Deploy נכשל בפעם הארבע עשרה השבוע" נראה כקבוצה אחת עם מונה, ולא כארבע עשרה שורות.
- ריצה שבוטלה ידנית נרשמת כרעש ולא כשגיאה: מישהו עצר אותה בכוונה.
מה הלקוח רואה
הלקוח לא רואה רשימת קומיטים ולא את זרם התקלות. בפורטל הוא רואה אריח אחד: כמה קבוצות של שגיאות אמיתיות פעילות כרגע, או שהכל תקין.
שאלה שהלקוח שואל בצ'אט של הפורטל יכולה לקבל תשובה שנשענת על הודעת קומיט מהפרויקט שלו, אבל בלי קישור למאגר.
גם ריצת CI שנכשלה לא מוצגת לו כשורה. אם נפתחה ממנה משימה, המשימה מגיעה אליו כמו כל משימה אחרת.
איך מחברים, ומתי האסימון פג
טופס החיבור מבקש מאגר בפורמט owner/repo ואסימון גישה אישי (PAT). האסימון נשמר מוצפן ולא מוצג שוב. הבדיקה מושכת באותו רגע את הקומיטים האחרונים, ולכן היא מוכיחה גישת קריאה למאגר עצמו. מסך מקורות הפרויקט פתוח היום למפעיל המערכת בלבד, ולכן החיבור נעשה דרכנו.
- באסימון fine-grained, GitHub מצרף לתשובה את תאריך התפוגה. שבועיים לפני כן מסך החיבורים מסמן את זה ונשלח דואר אלקטרוני למפעיל המערכת.
- כשנגמרת מכסת הבקשות של GitHub, המשיכה נעצרת וממשיכה בפעם הבאה מאותה נקודה, בלי לאבד קומיטים.
- SLAtech Vantage לא פותח issues, לא מגיב ולא דוחף קוד.
גם GitLab נתמך, כולל שרת עצמאי: קומיטים, ובחיבור נפרד גם צינורות GitLab CI שנכשלו. Bitbucket נתמך לקומיטים בלבד, עם שם משתמש וסיסמת אפליקציה.
שאלות נפוצות
איזה אסימון GitHub צריך?
האם הקומיטים משויכים למשימות?
מה קורה לריצה של GitHub Actions שנכשלה?
האם GitLab ו-Bitbucket נתמכים?
רוצים לראות קומיטים וריצות שנכשלו ליד התקלות של הפרויקט? אפשר להתחיל בתקופת ניסיון.
התחילו ניסיון חינם