מדריך קלוד קוד בעברית

תיעוד 30

GitHub Actions של Claude Code

הרץ את Claude Code בתהליכי עבודה (workflows) של GitHub Actions כדי להגיב לאזכורי @claude, לבצע אוטומציה של משימות ולהפוך issues ל-pull requests.

Claude Code GitHub Actions הוא GitHub Action שמריץ את Claude Code בתוך תהליכי העבודה של המאגר שלך. אזכר את @claude בתגובה על pull request או על issue כדי ש-Claude ינתח קוד, יישם שינויים וידחף commits. באפשרותך גם לספק ל-Claude Code GitHub Action הנחיה (prompt) כדי שירוץ אוטומטית בכל אירוע של GitHub. השתמש בו כדי להפוך issues ל-pull requests, לתקן באגים מתוך תגובה, או לבצע אוטומציה של משימות חוזרות.

מספר מוצרים חולקים את השם Claude Code. דף זה עוסק באינטגרציית תהליכי העבודה claude-code-action, שמוגדרת באמצעות קובצי workflow במאגר שלך. עבור המוצרים הקשורים, ראה:

  • Code Review: סקירה אוטומטית בכל pull request, ללא צורך בכתיבת workflow.
  • Claude Code on the web: הפעלות Claude Code מהדפדפן או מהטלפון שלך.
  • Claude Agent SDK: אוטומציה מותאמת אישית מחוץ ל-GitHub Actions. ה-Claude Code GitHub Action בנוי על גבי ה-SDK.
  • GitHub Enterprise Server: Claude Code עם GitHub באירוח עצמי (self-hosted).

#הגדרה

באפשרותך להגדיר את Claude Code GitHub Action באחת משתי דרכים:

  • הגדרה מהירה (Quick setup): הרץ את /install-github-app מתוך Claude Code. Claude Code מתקין את ה-GitHub App, מוסיף את סוד האימות שלך ומכין עבורך את ה-pull request של תהליך העבודה.
  • הגדרה ידנית (Manual setup): התקן את האפליקציה, הוסף את הסוד והעתק את קובץ ה-workflow לתוך המאגר שלך בעצמך. השתמש בנתיב זה כאשר אינך מריץ את Claude Code מקומית, כאשר הפקודה נכשלת, או כאשר אתה רוצה שליטה מלאה על קובצי ה-workflow.

עבור שני הנתיבים, נדרשת לך גישת מנהל (admin) למאגר.

#הגדרה מהירה

לפני שתתחיל, התקן את GitHub CLI ובצע אימות באמצעות gh auth login. Claude Code בודק את קיומו ומזהיר אותך אם הוא חסר.

פתח את claude במאגר שברצונך לחבר, הרץ את /install-github-app, ופעל לפי ההנחיות. Claude Code מתקין את Claude GitHub App, ולאחר מכן מגדיר סוד אימות עבור תהליכי העבודה:

  • אם ל-Claude Code כבר יש מפתח API, הוא עושה שימוש חוזר במפתח זה, ומציע לשמור על סוד ה-ANTHROPIC_API_KEY הקיים של המאגר אם כבר הוגדר כזה.
  • אחרת, בחר בין יצירת אסימון ארוך טווח (long-lived token) באמצעות מנוי ה-Claude שלך לבין הדבקת מפתח API.

Claude Code שומר את פרטי האימות כסוד מאגר, בשם ANTHROPIC_API_KEY עבור מפתח API או CLAUDE_CODE_OAUTH_TOKEN עבור אסימון מנוי.

לאחר מכן Claude Code דוחף ענף עם קובצי ה-workflow שבחרת, שכבר מוגדרים להשתמש בסוד זה, ופותח את GitHub בדפדפן שלך עם pull request שמוכן ליצירה. צור ומזג את ה-pull request הזה, ו-@claude יעבוד במאגר.

אם תבחר בתהליך העבודה של סקירה, Claude יפרסם כל סקירה על גבי ה-pull request עצמו, כהערה מוטבעת (inline comment) על כל בעיה שהוא מוצא או כהערת סיכום יחידה כאשר אינו מוצא דבר. Claude מדלג על חלק מ-pull requests, כגון טיוטות (drafts). הדוגמה של תהליך עבודה של סקירה משתמשת באותה מיומנות (skill) ומפרטת אותם. לפני גרסה v2.1.229, Claude כתב את הסקירה שלו רק ליומן ריצת תהליך העבודה (workflow run log).

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

  • הרץ שוב את /install-github-app. כאשר במאגר כבר קיים קובץ claude.yml, בחר באפשרות Update workflow file with latest version. Claude Code ידחף עותקים חדשים של קובצי ה-workflow לענף חדש ויפתח את ה-pull request, בדיוק כמו בהתקנה ראשונה.
  • הוסף בעצמך את הארגומנט --comment ואת שורת ה-claude_args מתוך דוגמת תהליך העבודה של סקירה לקובץ השמור במאגר (checked-in), פעולה שמשמרת כל עריכה אחרת שביצעת בו.

לאחר התקנת ה-GitHub App, Claude Code שואל האם להמשיך בהגדרת GitHub Actions. בחר ב-Skip for now כדי לעצור כאשר רק ה-GitHub App מותקן. הרץ שוב את /install-github-app מאוחר יותר כדי לסיים את שלבי ה-workflow והסודות. לפני גרסה v2.1.187, Claude Code המשיך ישירות לבחירת תהליך העבודה.

הערה:

#הגדרה ידנית

כדי להגדיר את Claude Code GitHub Action מבלי להריץ את /install-github-app, התקן את האפליקציה, הוסף סוד והעתק קובץ workflow בעצמך:

  1. התקנת ה-Claude GitHub App: התקן את Claude GitHub App במאגר שלך. ה-Claude Code GitHub Action מסתמך על שלוש מההרשאות של האפליקציה:

    • Contents: קריאה וכתיבה (read and write), כדי ש-Claude יוכל לשנות קובצי מאגר.
    • Issues: קריאה וכתיבה, כדי ש-Claude יוכל להגיב ל-issues.
    • Pull requests: קריאה וכתיבה, כדי ש-Claude יוכל ליצור PRs ולדחוף שינויים.

    במהלך ההתקנה, אתה מעניק גם הרשאות שבהן משתמשים מאפיינים אחרים של Claude. ראה הרשאות GitHub App לפירוט המלא.

  2. הוספת סוד אימות: הוסף אחד מהסודות הבאים למאגר שלך, בהתאם לאופן שבו אתה מבצע אימות. ראה את המדריך של GitHub בנושא שימוש בסודות ב-GitHub Actions.

    • ANTHROPIC_API_KEY: מפתח API של Claude מתוך Claude Console.
    • CLAUDE_CODE_OAUTH_TOKEN: אסימון OAuth שמאמת מול מנוי ה-Claude שלך, הזמין בתוכניות Pro, Max, Team ו-Enterprise. צור אסימון על ידי הרצת claude setup-token מקומית. ראה יצירת אסימון ארוך טווח.

    בקובצי workflow, העבר את הסוד לקלט התואם: anthropic_api_key עבור מפתח API, או claude_code_oauth_token עבור אסימון OAuth.

  3. העתקת קובץ ה-workflow: העתק את examples/claude.yml לתוך ספריית .github/workflows/ במאגר שלך. הקובץ הוא תהליך עבודה פעיל, לא רק דוגמה. כפי שהוא שמור במקור, Claude מגיב בכל פעם שמישהו מאזכר את @claude ב-issue או ב-pull request, ומבצע אימות עם הסוד ANTHROPIC_API_KEY. אם הוספת במקום זאת את CLAUDE_CODE_OAUTH_TOKEN, שנה את שורת ה-anthropic_api_key של תהליך העבודה ל-claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}.

טיפ: לאחר ההגדרה, בדוק את Claude Code GitHub Action על ידי תיוג @claude בתגובה על issue או PR.

#הגדרה עבור ארגון

באמצעות הגדרה מהירה או הגדרה ידנית, אתה מגדיר מאגר אחד בכל פעם. כדי לפרוס את Claude Code GitHub Action ברחבי ארגון:

  • התקן את Claude GitHub App פעם אחת ברמת הארגון, ובחר בכל המאגרים או ברשימה נבחרת.
  • אחסן את סוד האימות כסוד Actions ברמת הארגון, כך שכל מאגר לא יזדקק לעותק משלו.
  • הוסף את קובץ ה-workflow לכל מאגר שאמור להריץ את Claude Code GitHub Action, או הגדר את המשימה (job) פעם אחת בתור reusable workflow שכל מאגר קורא לו.

עבור סוד המשותף בין מאגרים, בצע אימות באמצעות מפתח API מתוך Claude Console במקום אסימון OAuth, מכיוון שאסימון OAuth קשור למנוי של האדם שהריץ את claude setup-token.

כדי להימנע לחלוטין מאחסון סוד ארוך טווח, בצע אימות דרך workload identity federation, שבו ה-Claude Code GitHub Action מחליף את אסימון ה-GitHub OpenID Connect (OIDC) של תהליך העבודה בגישת API של Claude דרך חשבון שירות (service account) של Claude Console. הגדר את הקלטים הבאים:

  • anthropic_federation_rule_id: מזהה כלל הפדרציה, fdrl_...
  • anthropic_organization_id: מזהה ארגון Anthropic שלך
  • anthropic_service_account_id: מזהה חשבון השירות, svac_.... אופציונלי, מכיוון שכלל הפדרציה שאתה יוצר ב-Console כבר מכוון לחשבון שירות.
  • anthropic_workspace_id: מזהה מרחב העבודה (workspace), wrkspc_.... אופציונלי כאשר כלל הפדרציה מכוון למרחב עבודה יחיד.

הענק לתהליך העבודה את ההרשאה id-token: write, ש-Claude Code GitHub Action זקוק לה לצורך חילוף הפדרציה גם כאשר אתה מעביר github_token משלך. ראה את מדריך ההגדרה של Claude Code GitHub Action עבור התצורה בצד ה-Console.

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

#הסרת התקנה

כדי להסיר את Claude Code GitHub Action, בטל כל חלק בהגדרה שחל על ההתקנה שלך:

  • קובצי Workflow: מחק את תהליכי העבודה שמשתמשים ב-anthropics/claude-code-action מתוך .github/workflows/. אם השתמשת בהגדרה מהירה, חפש את claude.yml, ואם בחרת בתהליך העבודה של סקירה, את claude-code-review.yml. לאחר מחיקת תהליכי העבודה, ה-Claude Code GitHub Action אינו רץ עוד.
  • סודות: מחק את הסוד ANTHROPIC_API_KEY או CLAUDE_CODE_OAUTH_TOKEN מהמאגר, ומתוך סודות Actions ברמת הארגון אם שיתפת אותו בין מאגרים. אם אתה מוחק סוד, פרטי האימות שהוא הכיל נשארים תקפים. כדי לבטל לחלוטין מפתח API, מחק גם את המפתח ב-Claude Console.
  • GitHub App: הסר את התקנת ה-Claude GitHub App בהגדרות המאגר או הארגון תחת GitHub Apps, אך רק אם אינך משתמש בו עבור מאפיין אחר של Claude, כגון Code Review או תיקון אוטומטי באינטרנט (web auto-fix).

אם הגדרת ספק ענן, מחק גם את סודות הספק, כגון AWS_ROLE_TO_ASSUME, סודות GCP_*, או סודות AZURE_*, והסר את ההתקנה של ה-GitHub App המותאם אישית יחד עם סודות ה-APP_ID ו-APP_PRIVATE_KEY שלו.

#הרשאות GitHub App

ה-Claude GitHub App משותף לכל מאפיין של Claude שמשתלב עם GitHub, כולל ה-Claude Code GitHub Action, Code Review, ו-תיקון אוטומטי עבור pull requests ב-Claude Code באינטרנט. ל-GitHub App יש ערכת הרשאות יחידה המכסה את כל המאפיינים שלו, כך שהערכה כוללת הרשאות מסוימות ש-Claude Code GitHub Action אינו משתמש בהן.

כאשר אתה מתקין את האפליקציה, אתה מעניק את ההרשאות הבאות:

הרשאהגישה
ActionsRead and write
ChecksRead and write
ContentsRead and write
DiscussionsRead and write
IssuesRead and write
MembersRead
MetadataRead
Pull requestsRead and write
Repository hooksRead and write
StatusesRead
WorkflowsRead and write

ערכת ההרשאות יכולה גם להשתנות לקראת מאפיינים שמשתמשים בה. כאשר האפליקציה מבקשת הרשאה שלא הייתה לה קודם לכן, GitHub מבקש מבעל החשבון לאשר אותה, מבעל ארגון בהתקנה ארגונית, וההתקנה שומרת על ההרשאות הישנות שלה עד שהם עושים זאת. לדוגמה, כאשר גישת Actions משתנה מ-read ל-write, האפליקציה יכולה להריץ מחדש תהליכי עבודה במקום לצפות רק בריצות וביומנים, ולכן GitHub מבקש מהבעלים לאשר את השינוי.

כאשר אתה מתקין את האפליקציה, אתה מקבל את ערכת ההרשאות המלאה שלה. GitHub אינו מאפשר לקבל תת-קבוצה. אם הארגון שלך דורש רק את ההרשאות שבהן משתמש Claude Code GitHub Action, צור במקום זאת GitHub App מותאם אישית עם Contents, Issues ו-Pull requests, בהתאם למדריך ההגדרה של Claude Code GitHub Action. אפליקציה מותאמת אישית מכסה רק את Claude Code GitHub Action. המאפיינים Code Review ותיקון אוטומטי באינטרנט עדיין דורשים את האפליקציה הרשמית.

לפרטים על האופן שבו Claude Code GitHub Action מגביל את מה ש-Claude יכול לעשות עם הרשאות אלו, ראה את תיעוד האבטחה.

#מצב אינטראקטיבי ומצב אוטומציה

ה-Claude Code GitHub Action מזהה כיצד לפעול מתוך תצורת תהליך העבודה שלך:

  • מצב אינטראקטיבי (Interactive mode): כאשר תהליך העבודה אינו מספק קלט prompt, Claude ממתין לביטוי ההפעלה (trigger phrase), כברירת מחדל @claude, בתגובה על issue או pull request, בסקירת pull request, או בגוף או בכותרת של issue חדש שנפתח, ואז מגיב לבקשה זו. התקדמות ותוצאות מופיעות כתגובה על גבי ה-issue או ה-PR שהפעיל את הפעולה.
  • מצב אוטומציה (Automation mode): כאשר תהליך העבודה מספק קלט prompt, Claude פועל בלי להמתין לאזכור, בכפוף בלבד לבדיקות של מי יכול להפעיל ריצות. כברירת מחדל, התוצאות מופיעות ביומן ריצת תהליך העבודה ולא בתגובה. Claude יכול לפרסם ב-issue או ב-pull request כאשר ההנחיה מורה לו לעשות זאת ויש לו כלי שיכול לפרסם, כפי שמוצג בדוגמת סקירת קוד.

#מי יכול להפעיל ריצות

בשני המצבים, ה-Claude Code GitHub Action מריץ שתי בדיקות על הגורם המפעיל (triggering actor) לפני ש-Claude מתחיל, והריצה נכשלת כאשר אחת הבדיקות דוחה אותו:

  • גישת כתיבה (Write access): באירועי issue ו-pull request, המשתמש המפעיל חייב להיות בעל גישת כתיבה למאגר. כדי לאפשר למשתמשים ספציפיים ללא גישת כתיבה, הגדר את allowed_non_write_users והעבר קלט github_token משלך. אירועים שאף משתמש אינו היוצר שלהם, כגון טריגר schedule, מדלגים על בדיקה זו.
  • גורם אנושי (Human actor): בכל אירוע, ה-Claude Code GitHub Action דוחה גורם מסוג בוט (bot) אלא אם כן ציינת אותו ב-allowed_bots, מה שמונע מבוטים להפעיל את Claude בלולאה. בדיקה זו חלה גם על ריצות מתוזמנות, ש-GitHub מייחס למשתמש מאגר, בדרך כלל זה ששינה לאחרונה את לוח הזמנים של ה-cron של תהליך העבודה. אם משתמש זה הוא בוט, ציין אותו ב-allowed_bots.

#דוגמאות לתרחישי שימוש

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

הדוגמאות בדף זה מציגות אימות באמצעות מפתח API. אם אתה מבצע אימות באמצעות מנוי Claude, החלף את שורת ה-anthropic_api_key בכל דוגמה ב-claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}.

#מענה לאזכורי @claude

תהליך עבודה זה מריץ את Claude Code GitHub Action במצב אינטראקטיבי, כך ש-Claude מגיב בכל פעם שמישהו מאזכר את @claude בתגובה על issue או PR.

name: Claude Code
on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
jobs:
  claude:
    if: contains(github.event.comment.body, '@claude')
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
      issues: write
      id-token: write
      actions: read
    steps:
      - uses: actions/checkout@v6
        with:
          fetch-depth: 1
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

החלקים בתהליך עבודה זה שאינם קוד תבניתי קבוע (boilerplate):

  • id-token: write: נדרש עבור אימות ברירת המחדל של Claude Code GitHub Action מול ה-GitHub App.
  • actions: read: מאפשר ל-Claude לקרוא תוצאות CI ב-PRs.
  • actions/checkout: מעניק ל-Claude עותק מקומי של המאגר לעבוד בו.
  • if: מונע מ-runners להתחיל לפעול על תגובות שאינן מאזכרות את @claude. ה-Claude Code GitHub Action בודק בעצמו גם את ביטוי ההפעלה לפני שהוא מגיב.

לאחר שתהליך העבודה קיים, אזכר את @claude בכל תגובה על issue או PR עם בקשה:

@claude implement this feature based on the issue description
@claude how should I implement user authentication for this endpoint?
@claude fix the TypeError in the user dashboard component

Claude משיב בתגובה על גבי אותו issue או PR ומעדכן אותה תוך כדי עבודתו.

#הרצת מיומנות (skill)

הקלט prompt מקבל קריאה ל-מיומנות (skill) וכן טקסט רגיל:

  • עבור מיומנות בספריית .claude/skills/ של המאגר שלך, הרץ את actions/checkout לפני שלב ה-anthropics/claude-code-action כדי שקובצי המיומנות יהיו זמינים ב-runner, ולאחר מכן העבר את /skill-name בתור ה-prompt.
  • עבור מיומנות שארוזה בתוך תוסף (plugin), התקן את התוסף באמצעות הקלטים plugin_marketplaces ו-plugins, ולאחר מכן העבר את הנתיב עם מרחב השמות /plugin-name:skill-name בתור ה-prompt. הקלט plugins מקבל plugin-name@marketplace-name, כאשר שם ה-marketplace נלקח מה-manifest של ה-marketplace עצמו ולא מכתובת ה-URL של המאגר שלו.

תהליך העבודה הבא מתקין את התוסף code-review ומריץ את המיומנות שלו כאשר pull request נפתח, מתעדכן, נפתח מחדש, או מסומן כמוכן לסקירה. הוא מריץ את אותו תוסף כמו תהליך העבודה של סקירה מההגדרה המהירה. השתמש בתהליך עבודה כזה כאשר אתה מעוניין לשלוט בעצמך בהנחיה, במודל ובטריגרים. עבור סקירות אוטומטיות ללא תחזוקת קובץ workflow, ראה Code Review. במאגרים ציבוריים, GitHub מונע גישה לסודות מריצות שמופעלות על ידי pull requests מפיצולים (forks), ולכן הסקירה רצה רק על pull requests מענפים באותו מאגר.

name: Code Review
on:
  pull_request:
    types: [opened, synchronize, ready_for_review, reopened]
jobs:
  review:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: read
      issues: read
      id-token: write
    steps:
      - uses: actions/checkout@v6
        with:
          fetch-depth: 1
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          plugin_marketplaces: "https://github.com/anthropics/claude-code.git"
          plugins: "code-review@claude-code-plugins"
          prompt: "/code-review:code-review --comment ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"
          claude_args: '--allowedTools "mcp__github_inline_comment__create_inline_comment"'

שתי שורות בתהליך עבודה זה שולטות לאן מגיעה הסקירה:

  • --comment: Claude מפרסם את הסקירה שלו על גבי ה-pull request, כהערה מוטבעת על כל בעיה שהוא מוצא או כהערת סיכום יחידה כאשר אינו מוצא דבר. בלעדיו, Claude אינו מפרסם דבר, והממצאים נקראים ביומן ריצת תהליך העבודה.
  • claude_args: שמור על שורה זו אף על פי שה-frontmatter של allowed-tools של המיומנות עצמה מציין את אותו הכלי, מכיוון ש-Claude Code GitHub Action מפעיל את שרת ה-MCP שמפרסם הערות מוטבעות רק כאשר --allowedTools בתוך claude_args מציין אותו.

Claude מדלג על pull requests במצב טיוטה ועל כאלה שסגורים, על pull requests שהוא מעריך שאינם זקוקים לסקירה, כגון אוטומטיים או שוליים, ועל pull requests שכבר קיימת בהם תגובה מאת Claude.

#הרצה לפי לוח זמנים

עם קלט prompt, ה-Claude Code GitHub Action פועל במצב אוטומציה בכל אירוע של GitHub, כולל לוח זמנים של cron. עבור הנחיית טקסט רגיל, ל-Claude אין גישה ל-shell או ל-GitHub API עד שתעניק את הכלים שההנחיה זקוקה להם, באמצעות --allowedTools בתוך claude_args או כלל permissions.allow בקלט settings. אם אתה מפעיל מיומנות במקום זאת, Claude יכול להשתמש בכלים שה-frontmatter של allowed-tools מעניק לה. GitHub מריץ תהליכי עבודה מתוזמנים רק מענף ברירת המחדל, ובמאגרים ציבוריים, משבית את לוח הזמנים לאחר 60 יום ללא פעילות במאגר.

תהליך עבודה זה מייצר דוח ביומן ריצת תהליך העבודה בשעה 09:00 UTC בכל יום. שורת ה-claude_args שלו מעבירה ארגומנטים של CLI שבוחרים את המודל ומאפשרים שני כלי GitHub MCP. Claude קורא commits ו-issues דרך ה-GitHub API באמצעות כלים אלו, כך שתוכל להשמיט את שלב ה-checkout:

name: Daily Report
on:
  schedule:
    - cron: "0 9 * * *"
jobs:
  report:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      issues: read
      id-token: write
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          prompt: "Generate a summary of yesterday's commits and open issues"
          claude_args: |
            --model claude-opus-4-8
            --allowedTools "mcp__github__list_commits,mcp__github__list_issues"

#שיטות מומלצות

#הגדרת תקני פרויקט ב-CLAUDE.md

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

#הגנה על פרטי האימות שלך

אזהרה: לעולם אל תבצע commit של מפתחות API או אסימוני OAuth ישירות למאגר שלך. אחסן אותם תמיד בתור סודות GitHub (Secrets) והפנה אליהם בתהליכי עבודה, לדוגמה anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}.

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

להנחיות אבטחה מקיפות הכוללות הרשאות ואימות, ראה את תיעוד האבטחה של Claude Code Action.

#ניהול עלויות

כל ריצה צורכת שני סוגים של משאבים:

  • דקות GitHub Actions: ה-Claude Code GitHub Action רץ על גבי runners באירוח של GitHub, שצורכים מדקות ה-GitHub Actions שלך. ראה את תיעוד החיוב של GitHub לתמחור ולמגבלות דקות.
  • אסימוני API: כל אינטראקציה צורכת אסימונים בהתאם לאורך ההנחיות והתגובות, מורכבות המשימה וגודל בסיס הקוד. ראה את דף התמחור של Claude לתעריפי אסימונים עדכניים. אם אתה מבצע אימות באמצעות אסימון OAuth, הריצות משתמשות במנוי ה-Claude שלך במקום בחיוב ה-API.

באפשרותך להפחית את שני סוגי העלויות על ידי מתן הקשר ברור יותר ל-Claude והגבלת כמות העבודה שכל ריצה יכולה לבצע:

  • כתוב בקשות @claude ספציפיות כדי ש-Claude יזדקק לפחות סבבים (turns) כדי לסיים.
  • השתמש בתבניות של issues כדי לספק הקשר מראש.
  • שמור על CLAUDE.md תמציתי, מכיוון ש-Claude קורא אותו בכל ריצה.
  • הגדר את --max-turns בתוך claude_args כדי להגביל איטרציות.
  • הגדר זמני קצובה (timeouts) ברמת תהליך העבודה כדי להימנע ממשימות שיוצאות משליטה.
  • השתמש בבקרי מקביליות של GitHub כדי להגביל ריצות מקבילות.

למעקב אחר שימוש בכל רחבי הארגון שלך, ראה את לוח המחוונים של הניתוח (analytics dashboard) ו-ניטור. לאופן שבו שימוש נמדד ומחויב, ראה עלויות.

#שימוש בספק ענן

כברירת מחדל, ה-Claude Code GitHub Action קורא ישירות ל-API של Claude באמצעות מפתח ה-API או אסימון ה-OAuth שלך. כדי לנתב את ההסקה (inference) דרך חשבון הענן שלך במקום זאת, הגדר את הקלט עבור הספק שלך ופעל לפי שימוש ב-Claude Code GitHub Actions עם ספקי ענן:

  • Amazon Bedrock: use_bedrock: "true"
  • Google Cloud's Agent Platform: use_vertex: "true"
  • Microsoft Foundry: use_foundry: "true"

בכל שלושת הספקים, אתה מבצע אימות דרך OIDC identity federation במקום מפתח API של Claude, כך שאינך מאחסן פרטי אימות ענן סטטיים במאגר שלך.

#פתרון בעיות

#Claude אינו מגיב לפקודות @claude

  • ודא שה-GitHub App מותקן במאגר.
  • בדוק שתהליכי עבודה מופעלים עבור המאגר.
  • ודא שמפתח ה-API או אסימון ה-OAuth שלך מוגדר בסודות המאגר.
  • אשר שהתגובה מכילה את @claude כמילה שלמה, ולא /claude או @claude-bot.
  • אשר שלמשתמש המגיב יש גישת כתיבה למאגר. ראה מי יכול להפעיל ריצות עבור החריגים.

#CI אינו רץ על commits של Claude

  • GitHub אינו מפעיל תהליכי עבודה על commits שנוצרו עם ברירת המחדל GITHUB_TOKEN. אם אתה מעביר github_token: ${{ secrets.GITHUB_TOKEN }} ל-Claude Code GitHub Action, הסר אותו כדי שהוא יאמת בתור ה-Claude GitHub App, או העבר במקום זאת אסימון אפליקציה מותאם אישית.
  • בדוק שטריגרי תהליך העבודה של ה-CI שלך כוללים את האירועים שדחיפות (pushes) של Claude מייצרות, כגון push או pull_request.

#שגיאות אימות

  • אשר שמפתח ה-API או אסימון ה-OAuth תקף על ידי בדיקה מקומית שלו עם claude לפני איתור באגים בתהליך העבודה.
  • עבור Bedrock, Agent Platform, ו-Foundry, ראה את סעיף פתרון הבעיות בדף ספקי הענן.

לפתרונות נוספים, ראה את ה-FAQ של Claude Code GitHub Action.

#תצורה מתקדמת

#פרמטרים של ה-Action

אלה הם הקלטים הנפוצים ביותר בשימוש. כל אחד מהם ממופה למפתח with: בשלב של anthropics/claude-code-action.

פרמטרתיאורנדרש
promptהוראות עבור Claude, כטקסט רגיל או קריאה ל-מיומנות (skill). כאשר מושמט, Claude מגיב במקום זאת לביטוי ההפעלהלא
claude_argsארגומנטים של CLI המועברים ל-Claude Codeלא
anthropic_api_keyמפתח API של Claudeעבור ה-API של Claude, אלא אם כן אתה משתמש ב-claude_code_oauth_token או ב-workload identity federation. אינו בשימוש עבור Bedrock, Agent Platform, או Foundry
claude_code_oauth_tokenאסימון OAuth לאימות מול מנוי Claude, שנוצר באמצעות claude setup-tokenלא
github_tokenאסימון עבור פעולות GitHub. כאשר מושמט, ה-Claude Code GitHub Action מבצע אימות בתור ה-Claude GitHub Appלא
plugin_marketplacesרשימה מופרדת בשורות חדשות של כתובות Git URL של זירות תוספים (plugin marketplaces)לא
pluginsרשימה מופרדת בשורות חדשות של שמות תוספים להתקנה לפני ההרצהלא
settingsהגדרות Claude Code, כמחרוזת JSON או כנתיב לקובץ הגדרות JSONלא
trigger_phraseביטוי הפעלה ש-Claude מגיב אליו. ברירת מחדל: @claudeלא
use_bedrockשימוש ב-Amazon Bedrock במקום ב-API של Claudeלא
use_vertexשימוש ב-Agent Platform של Google Cloud במקום ב-API של Claudeלא
use_foundryשימוש ב-Microsoft Foundry במקום ב-API של Claudeלא

לרשימת הקלטים המלאה, ראה את מדריך התצורה של Claude Code GitHub Action.

#העברת ארגומנטים של CLI

הפרמטר claude_args מקבל כל ארגומנט CLI של Claude Code:

claude_args: "--max-turns 5 --model claude-sonnet-5 --mcp-config /path/to/config.json"

ארגומנטים נפוצים:

  • --max-turns: הגבלת מספר סבבי השיחה.
  • --model: המודל לשימוש, לדוגמה claude-sonnet-5. ללא ארגומנט זה, ה-Claude Code GitHub Action משתמש במודל ברירת המחדל של Claude Code.
  • --mcp-config: נתיב אל תצורת MCP.
  • --allowedTools: רשימה מופרדת בפסיקים של כלים מורשים. הכינוי (alias) --allowed-tools עובד גם כן.
  • --debug: הפעלת פלט ניפוי שגיאות (debug).

#שדרוג מגרסת בטא (beta)

אם תהליכי העבודה שלך עדיין מפנים אל anthropics/claude-code-action@beta, עדכן אותם ל-v1:

  1. שנה את @beta ל-@v1 בשורת ה-uses.
  2. הסר את הקלט mode, מכיוון ש-Claude Code GitHub Action מזהה כעת את המצב באופן אוטומטי.
  3. החלף את direct_prompt ב-prompt.
  4. העבר אפשרויות CLI כגון max_turns ו-model לתוך claude_args. ל-custom_instructions אין דגל בעל שם זהה והוא הופך ל---append-system-prompt.

למיפוי הקלטים המלא ולדוגמאות לפני ואחרי, ראה את מדריך ההגירה (migration guide).

#מה הלאה