Skip to content

משימות (Tasks)

משימות הוא מעקב העבודה של החשבון (שם המוצר: Tasks). משמש להקצאה, תאריכי יעד, תהליכי עבודה, היררכיית הורה/אפיק (שתי רמות), סוגי פריט, שדות מותאמים, תוויות וקישורים ל-Compute / MDB / דומיינים. קל יותר מ-Jira מלא, עם ייבוא (homecloud tasks import-jira) והגדרות workflow ברמת החשבון.

פריט ערך
קונסול משימות → /console/tasks
מפתחות TASK-{n} לכל חשבון
אחסון Postgres של מישור הבקרה (לא משאב Orchestrator)
התראה אימייל דרך noreply למי שיש תפקיד בפריט (מוקצים ביצירה/הקצאה; יוצר וגם מוקצים בסיום/ביטול). פעמון הקונסול מציג שורה אחת לכל דיון שלא נראה ליוצר / מוקצים / עוקבים (בלי להעתיק כל תגובה). ציטוט של הודעה מצלצל בפעמון גם אם האדם אינו על הפריט, כל עוד יש לו גישה למשימות.
ממשק חי רמז SSE מ-Realtime Gateway; REST הוא מקור האמת. הקונסול משתמש בחיבור SSE אחד לכל טאב; משימות מאזינות לאותו זרם (לא פותחות /realtime/events נוסף). פתיחת משימה מעדכנת last_seen_at (סגנון WhatsApp). לחברים עם tasks.read (בלי resources.read) עדיין יש זרם חי ופעמון למשימות — השער אינו ערוץ Mail בלבד.

בקונסול

יצירה

  1. פתחו משימות → משימה.
  2. כותרת, גוף, סוג, מוקצה אופציונלי, תאריך יעד אופציונלי, ותוויות (בחירה מקיימות או שם חדש). הפירוט הוא Markdown: יציאה מהשדה מציגה תצוגה; הגובה קבוע עם גלילה.

יצירה רק מעמוד המשימות. בדפי Compute, MDB ודומיין אין כפתור משימה.

לשוניות

  • הכל — כל הפריטים בחשבון.
  • שלי — פריטים שמוקצים לכם.
  • במעקב — פריטים שאתם עוקבים אחריהם.
  • הושלם — פריטים שהסתיימו, באותה טבלה (אפשר עדיין לשנות סטטוס מהרשימה או מ־⋯). אין לוח בלשונית הזו, כי סטטוסים אחרים לא מופיעים כאן.
  • ארכיון — פריטים שתויקו אחרי שהסתיימו. טבלה בלבד, לקריאה בלבד, והלשונית היחידה שמציגה אותם. ראו את הפרק ארכיון למטה.

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

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

דף פריט

פתחו TASK-12 לעריכת כותרת וגוף, שינוי סטטוס/מוקצה/יעד, תוויות, והמשך הדיון. הפירוט הוא Markdown: עריכה מציגה את הסימון (כותרות #, רשימות, טבלאות); אחרי שמירה זה מוצג מעוצב, כולל קישורי #so/…, כתובות https://, אימיילים ומספרי טלפון. גם תצוגת הכותרת מציגה את אותם קישורים. בטלפון פאנל הדיון בגובה קבוע בטווח כדי שאפשר יהיה לקרוא; במסך רחב הוא ליד הטופס. הבועות שלכם הן שטיפה עדינה של צבע ערכת הנושא (אותו גוון, רך בהרבה) כדי שהטקסט יישאר קריא. אין עליהן פס צד עבה — הפס הזה שמור לציטוט, בצבע ערכת הנושא. בציטוט בהודעה של מישהו אחר יש רקע קצת כהה יותר, כדי להבדיל אותו מהתשובה. אזכור @name מוצג מודגש בצבע ערכת הנושא. כתובות, אימיילים, טלפונים וקישורי # באותו צבע. ירידות שורה בדיון נשמרות (Shift+Enter לשורה חדשה, Enter לשליחה). ריחוף על הודעה (מחשב) מציג כפתור חיוך ממורכז לגובה הבועה בצד החיצוני; לחיצה עליו או לחיצה ימנית פותחת קטלוג סגור של 16 אייקונים של HomeCloud — לא אימוג׳י של מערכת ההפעלה. ריאקציה אחת לאדם להודעה (בחירה אחרת מחליפה). לחיצה על השבב מוסיפה או מסירה את שלכם; ריחוף מציג מי הגיב. המספר מופיע רק מ־2, והשבבים בצד הפנימי של הבועה (לכיוון מרכז השרשור). בלי מייל. בהודעות שלכם שני ויים ליד השעה: אפור אחרי שמירה, כחול אחרי שמישהו על הפריט (יוצר, מוקצה או עוקב — לא אתם) פתח את המשימה. לחיצה ימנית פרטים רק על ההודעות שלכם מציגה מתי נשלחה ומי צפה. לחיצה ימנית גם מעתיקה את טקסט ההודעה. אייקון האטב מעלה קבצים לבאקט tasks-{account_number} תחת tasks/{task_key}/chat/… (so://tasks-{account_number}/tasks/TASK-n/chat/…) שמופיע ב-Object Storage, IAM וב-CLI. תמונות ווידאו מוצגות כאלבום קומפקטי (עד ארבעה אריחים; שלוש תמונות בתא גבוה כמו בוואטסאפ). קבצים נוספים עם +N כדי שסט ארוך לא יסתיר את שורת השליחה. וידאו ושמע מתנגנים בבועה (פקדים מובנים, כולל מסך מלא בוידאו) אחרי בחירה ואחרי שליחה — בלי חלון קופץ. PDF באותה תצוגה מקדימה כמו באחסון אובייקטים. קבצים לפני שליחה ברצועה אופקית לגלילה (סוגים לניגון בערימה קצרה). הקשה על תמונה מרחיבה. כיתוב מתחת. פתיחה באחסון אובייקטים היא דף האובייקט המלא (20 MB להודעה). השרשור עד הקצה, בלי ריפוד בצדדים. כפתור החיוך בריחוף ממורכז לגובה הבועה; שבבי ריאקציה מתחת לשעה בצד הפנימי (לכיוון מרכז השרשור) עם מסגרת אפורה קבועה. הוספת ריאקציה לא קופצת לתחתית השרשור. אטב, שדה הכתיבה וכפתור השליחה באותו גובה. הודעה שנמחקה נשארת כמצבה ל־24 שעות ואז יורדת מהשרשור; אי אפשר לצטט אותה. כרטיסי תצוגה מקדימה לקישורים לא בגרסה הזו (הקונסול לא שולף Open Graph). אפשר לבחור כמה הודעות שלכם (לחיצה ארוכה ואז הקשה על נוספות) ולמחוק אותן לכולם. אי אפשר לבחור הודעה של מישהו אחר (מחיקה, עריכה ושאר הפעולות האלה רק על שלכם). ציטוט מתפריט לחיצה ימנית או בגרירת הבועה פנימה (האווטאר זז איתה; כפתור החיוך מוסתר בזמן הגרירה). גרירה החוצה לא מצטטת. כמה תגובות ברצף מאותו אדם באותו יום (בלי שורת מערכת או דובר אחר באמצע) מתקבצות; האווטאר וקצה הבועה בהודעה האחרונה. הקלידו @username לאזכור בשרשור (הודעות בדיון לא שולחות מייל). הקלידו # בכותרת, בפירוט או בדיון לקישור בקונסול (#mail/noreply@example.com/inbox).

שיתוף (קישורים לצפייה בלבד)

כל מי שיש לו את הכתובת יכול לפתוח snapshot קפוא של הכרטיס בלי להתחבר (אותו רעיון כמו שיתוף דיאגרמות).

  1. בדף הפריט (או מ־⋯ / לחיצה ימנית עם tasks.update) פתחו שתף.
  2. בחרו תפוגה: ללא הגבלה, 7 ימים או 30 ימים; תווית אופציונלית.
  3. סמנו אופציונלית כלול דיון כדי להקפיא את שרשור התגובות (ושורות מערכת) לתוך הקישור. מוקצים לא נכללים. קבצים מוצגים בשם בלבד בעמוד הציבורי.
  4. צור קישור — העתיקו את הכתובת מיד (מוצגת פעם אחת).
  5. הנמענים פותחים /share/tasks/{token} — כותרת, סטטוס, סוג, יעד, תוויות ופירוט; דיון רק אם בחרתם לכלול.
  6. בטל קישור פעיל מאותו דיאלוג.

עריכת המשימה החיה לא משנה שיתוף קיים; צרו קישור חדש לפרסום מחדש. מטא־דאטה של השיתוף ב־Postgres; הקבצים נשארים בדלי החשבון tasks-{account_number} (השיתוף לא מעתיק אובייקטים ל־shared/).

ארכיון

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

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

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

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

בטל והעבר לארכיון היא הפעולה היחידה שנוגעת בשניהם, והשחזור מבטל את שניהם. הביטול שם נועד רק לאפשר את התיוק, ולכן השחזור מבטל אותו ומחזיר את הפריט למקום שבו הוא באמת היה: פריט שהיה «ממתין» ותויק כך יחזור כ«ממתין», לא כ«בוטל». שום דבר לא נמחק בשקט — בדיון נשארת השורה המקורית «ממתין ← בוטל», ובשחזור נוספת השורה «בוטל ← ממתין». דף הפריט מציג לאיזה סטטוס הוא יחזור עוד לפני הלחיצה על שחזר מהארכיון, וה־API מחזיר את זה בשדה restore_status.

פריט שכבר היה «הושלם» או «בוטל» כשתויק אין לו ביטול לבטל, ולכן הוא פשוט חוזר כפי שהיה.

פריט בארכיון קפוא: סטטוס, מוקצים, תוויות, תאריך יעד, פירוט ותגובות חדשות חסומים עד לשחזור. בדף הפריט מוצג מי העביר לארכיון ומתי, עם כפתור שחזר מהארכיון למי שמורשה. עריכה בכל זאת (למשל דרך ה־API) מחזירה 409 עם הקוד tasks.archived.

מי מורשה למה:

פעולה מי
העברה לארכיון המוקצים, היוצר, מי שביצע את ההקצאה, ובעלים/מנהלי החשבון — אותו כלל כמו בשינוי סטטוס
שחזור בעלים ומנהלי חשבון בלבד
מחיקת פריט מהארכיון tasks.delete (בעלים ומנהלים), לצמיתות

השחזור מכוון להיות מצומצם יותר מההעברה לארכיון. תיוק הוא תחזוקה שוטפת שאנשי העבודה לא צריכים לבקש עליה רשות, בעוד החזרת פריט לרשימות של כולם היא החלטה של מי שמנהל את החשבון. העברה לארכיון של פריט שאינו סופי בלי cancel מחזירה 400 עם הקוד tasks.archive_requires_terminal; העברה של פריט שאינכם אחראים עליו מחזירה 403 עם tasks.archive_requires_assignee; שחזור בלי התפקיד המתאים מחזיר 403 עם tasks.restore_requires_manager.

העברה לארכיון ושחזור נרשמים בדיון ואינם שולחים מייל.

תוויות

רק תוויות שמצורפות לפריט מוצגות כתגיות. הוסף פותח קטלוג עם חיפוש (כולל יצירה). בטבלה ובלוח תוויות עודפות מתקפלות ל־+N.

אימייל

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

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

הפירוט שומר על עיצוב ה־Markdown גם במייל. כותרות, מודגש, נטוי, קוד, בלוקי קוד, רשימות ממוספרות ולא ממוספרות, ציטוטים, קווים מפרידים, קישורים וטבלאות GFM מומרים ל־HTML בטוח למייל עם סגנון inline, כך שזה נראה אותו דבר ב־Gmail, ב־Outlook וב־Apple Mail. מה שמחוץ לתת־הקבוצה הזו (HTML גולמי, תמונות, הערות שוליים) מוצג כטקסט רגיל, ורק קישורי http, https ו־mailto ניתנים ללחיצה. פירוט ארוך נחתך בגבול שורה עם הערה שמפנה לפתיחה בקונסול; קישורי #so/… נשארים טקסט במייל, כי הם נפתחים רק בתוך הקונסול.

שינוי מי מקבל מייל
נוצר (עם מוקצה) המוקצה
נוצר (בלי מוקצה) אף אחד
הוקצה / הוקצה מחדש המוקצה החדש בלבד
בוטלה הקצאה היוצר, אם הוא לא ביצע
סטטוס → done או cancelled היוצר
סטטוס → blocked היוצר והמוקצה
סטטוס אחר (פתוח ↔ בטיפול, ממתין, …) אף אחד
תגובה / דיון אף אחד
תאריך יעד / יעד קרוב המוקצה, אחרת היוצר
נוסף צופה המשתמש שנוסף
הוסר צופה אף אחד

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

מייל «יעד קרוב» נשלח פעם אחת כשהפריט יעד תוך 24 שעות ואינו הושלם/בוטל.

קישורים בקונסול

הטקסט נשמר כרגיל. # מתחיל טוקן שירות עד רווח או סוף שורה. @ בתוך הטוקן הוא חלק מהמשאב (למשל אימייל), לא אדם.

#mail
#mail/noreply@holab.abrdns.com/inbox
#so/my-bucket/images
#so/my-bucket/images/logo.png
#compute/server-01
#mq/events
#mdb/prod-pg
#redis/cache-1
#fn/resize
#ir/api
#dns/example.com
#secrets/db-password
#iam/developers
#tasks/12
#k8s/default
#apps/web
#diagrams/00000000-0000-0000-0000-000000000001
#ssl/console-cert
#mon/cpu
#billing
  • # — כינוי שירות (mail, so, compute, mq, mdb, redis, fn, ir, dns, secrets, iam, tasks, k8s, apps, diagrams, ssl, mon, billing)
  • / — משאב מהרשימה של השירות. ל-Mail גם תיקיות; ל-SO גם קידומות וקבצים.

השלמה אוטומטית לפי השלבים האלה. טוקן לא תקין נשאר טקסט רגיל. ל-#billing אין רשימת משאבים. IAM/SSL/Monitoring נפתחים בדף השירות כשאין דף פריט נפרד.

הרשאות

הרשאה שימוש
tasks.read לראות משימות בקטלוג ולפתוח פריטים
tasks.create ליצור פריטים
tasks.update תגובות, תוויות, מוקצים, יעד, סטטוס והעברה לארכיון בפריטים שאתם אחראים עליהם
tasks.delete למחוק פריטים, כולל כאלה שבארכיון
tasks.manage_labels שינוי שם או ארכוב תוויות (API)

בלי tasks.read אריח השירות מוסתר.

מי יכול לשנות סטטוס

tasks.update לבדה לא מספיקה. הסטטוס שייך למי שאחראי על העבודה, ולכן ה־API מקבל שינוי סטטוס רק מ:

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

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

הקונסול מציג את זה במקום להיכשל בשקט: הרשימה הנפתחת של הסטטוס מושבתת עם tooltip שמסביר את הכלל, כרטיסים שאסור להזיז אינם נגררים, ופעולות הסטטוס נעלמות מתפריט הלחיצה הימנית ומ־⋯. בקשה אחת יכולה גם להקצות וגם לשנות סטטוס, כך שהקצה לי ואחריו שינוי סטטוס עובד בצעד אחד. אם בכל זאת מגיעים לכלל (למשל דרך ה־API), השרת מחזיר 403 עם קוד tasks.status_requires_assignee.

CLI ו-SDK

ניהול מלא מהטרמינל — חיפוש, יצירה, הקצאה, תגובות, תוויות, ארכיון, שיתוף — באותם כללים כמו בקונסול. האימות חייב להיות משתמש: homecloud login או Access Key קשור למשתמש.

homecloud tasks search cert @alice &ops due:overdue
homecloud tasks create "Rotate cert" --assignee alice --label ops --due +3d
homecloud tasks assign-me TASK-12 --status in_progress
homecloud tasks comment TASK-12 "Deployed to staging"
homecloud tasks activity TASK-12
from homecloud import HomeCloud

client = HomeCloud()
for item in client.tasks.search("cert @alice due:overdue"):
    print(item["key"], item["title"])
client.tasks.create("Rotate cert", assignees=["alice"], label_names=["ops"])
client.tasks.assign_me("TASK-12", status="in_progress")
client.tasks.comment("TASK-12", "Deployed to staging")

פרטים: tasks CLI, Python SDK.

טיפים

  • משימות אינן פרויקטים של החשבון (תיקיות משאבים) ואינן Operations (עבודות provision).
  • התראות בכותרת התחתונה (ו-/console/notifications) מציגות הקצאה/השלמה והערות שלא נראו לכל משימה — לחיצה פותחת את הפריט, לא את הלוח.
  • דפי משימות פתוחים מתרעננים בזמן אמת כל עוד נשארים בדף.

קשור