שילוב Bitrix24-GitLab: התקנה סוהר
מפתחים מנהלים קוד ב-GitLab, מנהלים עוקבים אחר משימות ב-Bitrix24. מצב מוכר: בקשת מיזוג יושבת בבדיקה שלושה ימים, אבל ב-B24 המשימה מסומנת כ"בביצוע" — המנהל חושב שהפיתוח מתנהל. צינור CI/CD נכשל בסטייג'ינג, אבל אף אחד לא יודע עד ש-QA מדווח "שום דבר לא עובד". ללא חיבור, שתי המערכות חיות במקביל, תיאום דרך צ'אט אינו אמין ואיטי. אנחנו פותרים זאת על ידי יישום אינטגרציה סוהר: אנו מקימים תווך, מקשרים אירועים, ומבצעים אוטומציה של עדכוני סטטוס. עם ניסיון של למעלה מ-10 שנים, סיפקנו יותר מ-50 אינטגרציות כאלה — המומחיות שלנו מגובה במאות פריסות מוצלחות. המהנדסים שלנו מוסמכים ב-Bitrix וב-GitLab. נבחן את הפרויקט שלך תוך יומיים — צור קשר.
כיצד אירועי GitLab מגיעים למשימות Bitrix24
הגשר משתמש ב-GitLab Webhooks וב-Б24 REST API. GitLab מאפשר הגדרת webhook ברמת פרויקט או קבוצה (Settings → Webhooks). התווך מקבל אירועים, מחלץ נתונים, ומעביר אותם ל-B24. זמן עיבוד ממוצע של אירוע הוא 200 אלפיות שנייה — פי 30 מהר יותר מעדכונים ידניים. התווך מטפל בעד 5000 אירועים בשעה ללא אובדן.
GitLab (push/MR/pipeline) → Webhook → Middleware → Б24 REST API → Задачи/Чат Б24 (событие задачи) → Webhook → Middleware → GitLab API v4 → Issues/Labels Webhooks של GitLab שולחים מטעני JSON עם הכותרת GitLab (push/MR/pipeline) → Webhook → Middleware → Б24 REST API → Задачи/Чат Б24 (событие задачи) → Webhook → Middleware → GitLab API v4 → Issues/Labels לאימות. התווך מאמת את הטוקן בכל בקשה.
הודעות ב-Bitrix24
התווך מנתב אירועי GitLab לצ'אטים ולמשימות ב-B24:
| אירוע GitLab | פעולת B24 | נמען |
|---|---|---|
| אירועי Push | הודעה לצ'אט הפרויקט | חברי הפרויקט |
| אירועי בקשת מיזוג | הודעה + עדכון סטטוס משימה | האחראי |
| אירועי Pipeline | הודעה לצ'אט הפרויקט | חברי הפרויקט |
| אירועי Note (תגובות) | תגובה על משימה מקושרת | המבצע |
| אירועי Release | הודעה לצ'אט הכללי | כולם |
| אירועי Deployment | תגובה על משימה + הודעה | QA, מנהל |
הודעות מעוצבות עם קודי BB: קישורים ל-MR, pipeline, commits. עבור pipelines, התווך מדווח סטטוס (X-Gitlab-Token, success, failed) ומשך זמן.
קישור בקשת מיזוג למשימות
מפתח מציין את מזהה המשימה ב-B24 בתיאור ה-MR או בשם הענף: canceled. התווך מחלץ את המזהה ומקשר את ה-MR למשימה.
מחזור החיים של ה-MR משתקף בסטטוס המשימה:
- MR נוצר → המשימה עוברת ל"בבדיקה". התווך קורא ל-
feature/B24-2103-payment-gateway. - MR אושר → המשימה עוברת ל"הבדיקה עברה".
- MR מוזג → המשימה עוברת ל"הושלם" או "בבדיקות".
- MR נסגר → המשימה חוזרת ל"בביצוע".
התווך עוקב אחר אירועים אלה דרך טריגר ה-webhook tasks.task.update ושדה המטען Merge Request Events (object_attributes.action, open, close, merge).
סטטוס CI/CD במשימות
סטטוס ה-pipeline הוא מדד מפתח למנהלים. התווך מוסיף מידע על ה-pipeline למשימת B24:
-
approved→ תגובה במשימה: "CI/CD עבר, commit {sha}, branch {ref}". שדה מותאם אישיתPipeline passed. -
UF_CI_STATUS = passed→ תגובה המציינת את השלב שנכשל וקישור ללוגים. הודעה למחבר ה-commit דרך הודעה פרטית. -
Pipeline failedעבור MR → סטטוס מוצג בתגובת המשימה לצד מידע על ה-MR.
כדי לאחזר פרטי pipeline, התווך קורא ל-GitLab API: Pipeline — רשימת עבודות עם סטטוסים ולוגים.
למה התווך הוא הרכיב המרכזי
התווך פועל כשער יחיד, מבודד את הלוגיקה העסקית מקריאות API ישירות. הוא שומר במטמון מיפויי משתמשים (מפחית את זמן המיפוי ב-80%), חוזר על בקשות בזמן פסק זמן (עד 3 ניסיונות עם backoff אקספוננציאלי), ומתעד את כל האירועים במאגר מרכזי. זה מספק סובלנות לתקלות ומפשט ניפוי שגיאות. החלפת התווך בקריאות GitLab ישירות מ-B24 תוביל לשכפול קוד ולמורכבות בטיפול בשגיאות.
סנכרון משימות Bitrix24 עם GitLab Issues
בעת הצורך, התווך מסנכרן משימות B24 עם GitLab Issues:
| שדה B24 | שדה GitLab Issue | הערות |
|---|---|---|
| TITLE | title | מיפוי ישיר |
| DESCRIPTION | description | HTML → Markdown |
| RESPONSIBLE_ID | assignee_ids | דרך מיפוי משתמשים |
| PRIORITY | labels (priority::*) | תוויות עם היקף |
| STATUS | labels (workflow::*) | תוויות עם היקף |
| GROUP_ID (פרויקט) | project_id | טבלת התאמה |
GitLab משתמש בתוויות עם היקף לזרימת עבודה — התווך יוצר ומקצה תוויות דרך GET /api/v4/projects/{id}/pipelines/{pipeline_id}/jobs.
מעקב אחר פריסות
GitLab Environments ו-Deployments API מספקים מידע על היכן ומתי קוד נפרס:
- Webhook
PUT /api/v4/projects/{id}/issues/{iid}מכילDeployment Events,environment,status. - התווך רושם במשימה: "נפרס ל-{environment}, URL: {url}".
- לפריסות production — הודעה נפרדת בערוץ השחרורים.
אימות
-
GitLab: Project Access Token או Personal Access Token עם היקף
deployable_url. עבור GitLab מתארח עצמאית, אותו מנגנון עם URL מותאם. -
B24: OAuth 2.0 עם היקף
api. - טוקן סודי של webhook מאוחסן בתווך ומאומת בכל בקשה נכנסת דרך הכותרת
task,im,user.
טעויות נפוצות בהתקנה עצמית
X-Gitlab-Tokenשגוי מוביל לשגיאות 401 — כל ה-webhooks נדחים.- חוסר במיפוי משתמשים: המערכת לא יודעת מי אחראי, הודעות הולכות לאדם הלא נכון.
- התעלמות ממגבלות קצב API (B24: 2 בקשות/שנייה) — התווך מעמיד בקשות בתור אוטומטית; בלעדיו, בקשות אובדות.
מה כלול בעבודה
בהזמנת האינטגרציה, אנו מספקים:
- פיתוח ופריסה של התווך על השרת שלך או בענן.
- הגדרת webhooks ב-GitLab ו-webhooks יוצאים ב-B24.
- מיפוי משתמשים ופרויקטים.
- תיעוד API וסכמות אירועים.
- בדיקות אינטגרציה בסטייג'ינג עם עומס של עד 1000 אירועים.
- הדרכת צוות (2–3 שעות).
- תמיכה במהלך החודש הראשון לאחר ההשקה.
קבל ייעוץ על הפרויקט שלך — נבחן אותו תוך יומיים ונציע את הארכיטקטורה האופטימלית. הזמן את התקנת האינטגרציה — אנו מבטיחים פעולה חלקה של המערכות שלך. צור קשר להערכה מפורטת.







