שילוב GitHub

0 מבוא

שילוב GitHub הוא תוסף שניתן להוסיף לכל אחת משלוש התוכניות של Easy Redmine.

מטרת התוסף היא לצבור נתונים חשובים מ-GitHub ב-Easy Redmine על מנת לסייע בדיווח, הערכה והצגת פעילויות הפיתוח, ובכך לתמוך בקבלת החלטות מהצד של בעלי העניין המושקעים בפרויקטים ובתהליכי פיתוח התוכנה של החברה.

היכולות שלו כוללות חיבור ראשוני פשוט מאוד עם מופע ה-GitHub שלך (שתיהן אירוח עצמי או גרסאות ענן). כאשר החיבור נוצר, Easy Redmine יציג את הפריטים החשובים ביותר מ-GitHub ברשימות הניתנות להגדרה וניתנות לסינון (בדומה לרשימת משימות). הישויות הללו הן:

  • מאגרים
  • משוך בקשות
  • מתחייב
  • בדיקות

כולל התכונות החשובות ביותר שלהם.

מרכיב מרכזי באינטגרציה הוא ש- Easy Redmine לא מעתיק את המאגרים פיזית. הקוד נשאר ב-GitHub.

1 יצירת קשר

ראשית, עליך לקבל אסימון גישה ממשתמש ב- GitHub, עם הרשאות מתאימות.

  1. בחר משתמש שדרכו Easy Redmine ייגש ל-GitHub. זה עשוי להיות משתמש מיוחד שאף אדם לא רושם על ידי, למשל, er_integrator
  2. התחבר ל-GitHub על ידי משתמש זה
  3. לחץ על הדמות >> הגדרות

  4. הגדרות מפתח

  5. אסימוני גישה אישיים

  6. צור אסימון חדש

  7. אתה צריך לאפשר היקפים אלה
    - ריפו (שליטה מלאה במאגרים פרטיים)
    - admin:repo_hook (שליטה מלאה בווי מאגר)
    - משתמש (עדכן את כל נתוני המשתמש)
  8. העתק את האסימון

    כעת, אתה יכול ללכת אל Easy Redmine ולהזין את המידע החיוני

  9. עבור אל Admin >> שילוב Git >> מצא שילובים זמינים ופגע להוסיף

  10. תן לחיבור שלך שם, הזן את כתובת האתר ואת אסימון הגישה שיצרת קודם לכן.
    הערה: במקרה של ענן, למשל https://github.com/robogithub-easy , פשוט היכנס https://github.com/ ללא כתובת המשנה. אין צורך לדאוג, אתה יכול לראות רק פרויקטים שהמשתמש עם אסימון הגישה יכול לראות. אם תגדיר את כל הפרויקטים שלך כפרטיים, אף אחד אחר לא יוכל לראות אותם.

  11. שמור
  12. זהו זה! החיבור נעשה.

כל השאר נעשה אוטומטית ברקע. באופן מיוחד

  • Easy Redmine מביא את כל הפרויקטים/מאגרים שבהם חבר המשתמש עם אסימון הגישה
  • במאגרים אלה נוצרים webhooks => כך שמידע על התחייבויות חדשות, בקשות משיכה ובדיקות יישלח אל Easy Redmine

1.1 פתרון בעיות חיבור

בעיה א
אני לא רואה שום מאגר ממופע GitHub זה

עקב נסיבות בלתי צפויות, עלול לקרות שהפעולות האמורות לא יבוצעו בהצלחה. כתוצאה מכך, ייתכן שלא תראה שום מאגר ממופע GitHub זה ב-Easy Redmine.

במקרה כזה, אתה יכול לייבא את המאגרים באופן ידני, בכמה לחיצות בלבד.

  1. עבור אל Admin >> שילוב Git >> אינטגרציות מוגדרות >> לחץ על השם

  2. בתפריט הצד, לחץ הוסף מאגר

  3. מצא את המאגר

  4. לאחר בחירתו, שדות אחרים יתמלאו באופן אוטומטי
  5. נְקִישָׁה שמור
    נוסף מאגר


בעיה ב '
נמצאו מאגרים, אבל ההתחייבויות החדשות שלי, בקשות המשיכה והבדיקות שלי לא מתווספות ל-Easy Redmine

נתונים חדשים מ-GitHub נשלחים אל Easy Redmine באמצעות webhooks המוגדרים ב-GitHub. בנסיבות רגילות, הם נוצרים באופן אוטומטי. אתה יכול לאמת זאת בפרויקט GitHub שלך >> הגדרות >> Webhooks


אם אין webhook עם הקישור לאפליקציה שלך, תצטרך ליצור אותו. שוב, זו פעולה פשוטה.

  1. עבור אל Admin >> שילוב Git >> אינטגרציות מוגדרות >> לחץ על השם

  2. בתפריט הצד, לחץ על מאגרים

  3. לחץ על השם של אחד

  4. לחץ על רשום את כל האינטגרציות

זה יאלץ באופן ידני יצירה של ה-webhook בצורה הנכונה.

אם ה-webhook קיים, אך מכיל חיווי שגיאה, אנא בדוק את הודעת השגיאה ונסה לפתור בהתאם.


2 הפניה למילות מפתח

כעת, כשהחיבור הכללי מוגדר, כבר יש לך מידע מ- GitHub ב- Easy Redmine ואתה יכול להשתמש בו. עם זאת, כדי לנצל את מלוא היתרונות של האינטגרציה, יש עוד כמה הגדרות. חלקם כבר מוגדרים מראש ואתה יכול רק לבדוק אותם.

אפשר לחבר התחייבויות מסוימות או למשוך בקשות למשימות מסוימות, ואפילו לרשום זמן כך מבלי שתצטרך לבקר ב- Easy Redmine. זה נעשה על ידי מה שנקרא הפניה למילות מפתח. כאשר אתה משתמש בהם בהודעת ה-commit או בשם בקשת המשיכה בשילוב עם מזהה משימה, זה יצור קישור בין המשימה לפריט GitHub. הדוגמאות הנפוצות ביותר הן שופטים מס' 1234 or סוגר #1234

ברוב המקרים, תמצא כמה מילות מפתח מוגדרות מראש. הנה איך לעבוד איתם.

  1. עבור לתפריט עוד >> אינטגרציית Git >> הפניות


  2. צור או ערוך הפניה
  3. הטופס כולו מכיל עצות כלים שיעזרו לך לנווט דרכך

הכללים החשובים ביותר שיש לזכור הם:

  • יש לזהות את המשימה בטופס #ID , למשל #1234
  • זמן רישום (אם מותר) מוזן תמיד כ-@XhYm , למשל @1h30m
  • ב-commits, יש להזין את מילות המפתח המתייחסות ב- להעביר מסר
  • בבקשות משיכה, יש להזין את מילות המפתח המתייחסות ב- שם של בקשת המשיכה

3 מיפוי משתמשים

מכיוון שאנו עוסקים באינטגרציה של שני יישומים שונים, לכל אחד יש קבוצות שונות של משתמשים. כל תכונות המשתמש בישויות הקשורות ל-GitHub (מחבר התחייבות, סוקר על בקשת משיכה וכו') ב-Easy Redmine + זמן שהושקע בהתחברות באמצעות מילות מפתח, צריכות להיות מחוברות למשתמשים אמיתיים. אז איך בעצם ממופים משתמשים מ- GitHub ל- Easy Redmine?

שום דבר מדעי כאן, משתמשים פשוט ממופים באמצעות המייל בשני פרופילי המשתמש. אנא ודא שלמפתחים שלך יש אימיילים זהים גם ב-GitHub וגם ב-Easy Redmine.

אם, מסיבה כלשהי, משתמש אחד לא יכול לאחד את המיילים בשתי האפליקציות, ישנה אפשרות להזין מייל נוסף ב-Easy Redmine בפרופיל המשתמש -> הזן את המייל של Github כאן.


4 איך זה עובד

סוף סוף, אנחנו מגיעים לחלק המהנה. מה בעצם עושה האינטגרציה עבור המשתמשים. גש לדף הראשי/לוח המחוונים של שילוב Git דרך תפריט עוד (מימין למעלה) בסעיף תוספות.


תמצא עמוד הניתן להתאמה אישית במצב ברירת מחדל, שאותו תוכל מאוחר יותר לכוון לצרכים שלך.

הוא כולל גם תפריט לרשימת ישויות או הזנת הגדרות. כפי שהוזכר בהקדמה, Easy Redmine אוסף ומציג 4 ישויות חיוניות מ- GitHub. הבה נסתכל מקרוב על כל אחד מהם.

4.1 מאגרים

רשימת המאגרים היא פונקציונלית הפחות מעניינת, אם כי באמת נחוצה. מסנן שימושי שכדאי להזכיר נקרא שֵׁרוּת, שבו תשתמש אם יש לך מופעי GitHub שונים מחוברים ואתה צריך לחפש רק בחלק מהם.


פירוט המאגר

הערות:

  • (בטל) רישום כל האינטגרציות תוארו בפרק 1.1. זה יצור/ימחק webhooks בפרויקט GitHub.
  • ערוך - שנה כמה תכונות באופן ידני. אין סיבה מלבד איתור באגים מתקדם לערוך תכונות כלשהן של המאגר ב-Easy Redmine.
  • סנכרן - מוריד את כל הנתונים הנוכחיים מהמאגר.
  • משוך בקשות - מפרט את כל בקשות המשיכה במאגר זה.
  • בחר תבנית רצף - עדיין בפיתוח, בבקשה תן לנו יותר זמן ללטש את הכלי החזק הזה.

4.2 בקשות משיכה (בקשות קוד)

עלינו להבהיר מדוע יש שני שמות. משוך בקשה הוא המונח המשמש ב-GitHub. לכלים אחרים יש שמות שונים, למשל בקשת מיזוג. מנגנון האינטגרציה של הכלי שלנו כתוב בצורה כללית, כך שנוכל להרחיב את התמיכה לפלטפורמות Git אחרות. לכן, באפליקציה ובתמונות תוכל למצוא תווית בקשת קוד, שהוא מונח כללי שניתן להחיל על בקשות משיכה או בקשות מיזוג.

Pull request היא ישות עשירה (מאחסנת את כל התכונות החשובות) המאפשרת ליצור רשימות נחמדות, דוחות ואפילו תרשימים מעליהם ישירות ב-Easy Redmine.

פירוט בקשת המשיכה

הערות:

  • שם בקשת המשיכה מכיל את מילת המפתח המפנה "refs" ואחריה את מזהה המשימה עם hash #765 - זו הסיבה שהיא הייתה מקושרת למשימה 765
  • לחיצה על סנכרן יעדכן את כל הנתונים של יחסי ציבור זה מ-GitHub
  • ניתן להציג את כל התכונות ברשימת בקשות המשיכה
  • כל התכונות מלבד SHA יכולות לשמש כמסננים ברשימה/דוח/תרשים של בקשות משיכה
  • רשימת בקשות משיכה מכילה גם תכונות של בדיקות (CI/CD) הקשורות אליה, והכי חשוב - סטטוס בדיקה

4.3 מתחייב

בדומה לבקשות משיכה, רשימת ההתחייבויות מספקת גם אפשרויות דיווח עצומות. רשימת ההתחייבויות מכילה גם תכונות ממבחנים.


ל-Commit אין תצוגת פרטים משלה ב-Easy Redmine. פשוט אין צורך בזה. על ידי לחיצה על URL (או SHA), תופנה לפרטיו ב-GitHub.

בדיקות 4.4

הם הוזכרו ביחס לגופים לעיל. למבחנים יש גם רשימה משלהם להפקת דוחות שונים. ככל הנראה השימוש הנפוץ ביותר יהיה תצוגה חיה של בדיקות במאגרים הקריטיים, כגון מועמדי שחרור.

לבדיקה גם אין תצוגת פרטים משלהם, לחיצה תוביל אותך ל- GitHub.

4.5 סינרגיה - מבט ממשימה

בואו נסתכל איך הכל הולך ביחד.

1 הסטטוס הכולל של ישויות GitHub הקשורות למשימה זו. הוא עשוי להכיל שילובים שונים של צבעים (אדום, כתום, ירוק) וסמלים (סימן ביקורת, צלב). הטוב ביותר הוא, כמובן, סימן ביקורת ירוק במסגרת ירוקה
השילוב תלוי בסטטוס של בקשות משיכה ותוצאות בדיקה הקשורות להתחייבויות ובקשות משיכה. מטרתו היא להראות במבט ראשון כיצד מתקדמת ההתקדמות ה"טכנית" של משימה זו, שימושית במיוחד עבור מנהלי QA או משלוחים.

2 שם המאגר(ים) שאליו בוצעו השינויים המתייחסים למשימה זו. בלחיצה על הקישור תופנה לרשימת ההתחייבויות הללו.

3 שם בקשות משיכה המתייחסות למשימה זו. בלחיצה עליו תופנו לפרטי יחסי הציבור ב-Easy Redmine.
במקרה שיש רק commits המתייחסים למשימה זו אך חסרה בקשת pull, ערך זה ריק.

4 סטטוס של כל בקשת משיכה. על ידי לחיצה עליו תופנה לפרטי בקשת המשיכה ב-GitHub.
במקרה שיש רק commits המתייחסים למשימה זו אך חסרה בקשת pull, ערך זה ריק.

5 תוצאה של הפעלת הבדיקה האחרונה בבקשת המשיכה. בלחיצה עליו תופנו אל GitHub. זה לא ניתן ללחיצה פנימה לא ידוע סטטוס (הבדיקה לא קיימת).
במקרה שיש רק commits המתייחסים למשימה זו אך חסרה בקשת pull, הערך מציג את תוצאת הבדיקה האחרונה שבוצעה ב-commit האחרון.

6 הפעל בדיקה ידנית - לוקח אותך אל GitHub.

7 לחץ כדי ליצור בקשת משיכה. שימושי כאשר יש לך רק קבוצה של מחויבים, אבל חסר לך יחסי ציבור (לוקח אותך ל-GitHub).

4.6 צור ענף ממשימה

חלק מהמשתמשים מוצאים את זה שימושי ליצור סניף ישירות מהמשימה.

את הכפתור ניתן למצוא ב- תפריט נוסף על פירוט המשימה


בחר את המאגר בשדה ההשלמה האוטומטית. שם הסניף ממולא מראש במזהה המשימה ובנושא, אבל אתה יכול לשנות אותו. ענף המקור ממולא מראש על ידי אב

אתה תראה את הסניף כתגית בקטע שילוב Git במשימה. ניתן ללחוץ עליו ומוביל לסניף ב-GitHub.



5 הרשאות

יש כרגע שתי הרשאות.

  • הצג - גש לתוסף מתפריט עוד
  • נהל - ערוך את לוח המחוונים

התצורה הגלובלית נגישה רק למנהל Easy Redmine.

נסה את Easy Redmine תוך 30 יום ניסיון חינם

תכונות מלאות, מוגנת SSL, גיבויים יומיים, במיקום הגיאוגרפי שלך