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

תיעוד 37

GitHub Actions של Claude Code

הפעילו את Claude Code בתהליכי עבודה של GitHub Actions כדי להגיב לאזכורי @claude, להפוך משימות לאוטומטיות, ולהפוך issues לבקשות משיכה

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

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

  • Code Review: סקירה אוטומטית על כל בקשת משיכה, בלי לכתוב workflow
  • Claude Code בענן: הפעלות Claude Code שרצות על תשתית ענן במקום על המחשב שלכם
  • Claude Agent SDK: אוטומציה מותאמת מחוץ ל-GitHub Actions. ה-Claude Code GitHub Action בנוי על ה-SDK
  • GitHub Enterprise Server: Claude Code עם GitHub באירוח עצמי

#התקנה

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

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

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

#התקנה מהירה

/install-github-app עובד רק עם מאגרים ב-github.com. אם ה-git remote של המאגר נמצא ב-gitlab.com או ב-bitbucket.org, הפקודה מדפיסה הודעה ויוצאת במקום להתחיל בהתקנה. כדי להריץ את Claude Code מצינורות GitLab, ראו Claude Code GitLab CI/CD.

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

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

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

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

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

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

אם בחרתם ב-workflow של סקירה, Claude מפרסם כל סקירה על בקשת המשיכה עצמה, כהערת שורה על כל בעיה שהוא מוצא, או כהערת סיכום אחת כשהוא לא מוצא אף אחת. Claude מדלג על חלק מבקשות המשיכה, למשל טיוטות. דוגמת workflow הסקירה משתמשת באותו skill ומפרטת אותם. לפני v2.1.229, Claude כתב את הסקירה רק ליומן הרצת ה-workflow.

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

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

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

[!NOTE]

#התקנה ידנית

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

1. התקנת Claude GitHub App

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

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

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

2. הוספת סוד אימות

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

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

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

3. העתקת קובץ ה-workflow

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

[!TIP]

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

#הגדרה לארגון

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

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

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

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

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

העניקו ל-workflow את ההרשאה 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, ואם בחרתם ב-workflow הסקירה, גם את 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 או תיקון אוטומטי באינטרנט

אם הגדרתם ספק ענן, מחקו גם את סודות הספק, כמו 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, ותיקון אוטומטי לבקשות משיכה בהפעלות ענן. ל-GitHub App יש סט הרשאות אחד שמכסה את כל התכונות שלו, ולכן הסט כולל הרשאות ש-Claude Code GitHub Action לא משתמש בהן.

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

הרשאהגישה
Actionsקריאה וכתיבה
Administrationקריאה
Checksקריאה וכתיבה
Contentsקריאה וכתיבה
Discussionsקריאה וכתיבה
Issuesקריאה וכתיבה
Membersקריאה
Merge queuesקריאה
Metadataקריאה
Pull requestsקריאה וכתיבה
Repository hooksקריאה וכתיבה
Statusesקריאה
Workflowsקריאה וכתיבה

סט ההרשאות יכול גם להשתנות לפני התכונות שמשתמשות בו. כשהאפליקציה מבקשת הרשאה שלא הייתה לה קודם, GitHub מבקש מבעל החשבון לאשר אותה, ומבעל ארגון בהתקנה ארגונית, וההתקנה שומרת על ההרשאות הישנות עד שהם עושים זאת. לדוגמה, כשגישת Actions משתנה מקריאה לכתיבה, האפליקציה יכולה להריץ מחדש תהליכי עבודה במקום רק לצפות בהרצות וביומנים, ולכן 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 מזהה איך לרוץ לפי הגדרת ה-workflow:

  • מצב אינטראקטיבי: כשה-workflow לא מספק קלט prompt, Claude ממתין לביטוי ההפעלה, @claude כברירת מחדל, בתגובה ל-issue או לבקשת משיכה, בסקירת בקשת משיכה, או בגוף או בכותרת של issue שנפתח זה עתה, ואז מגיב לבקשה. ההתקדמות והתוצאות מופיעות כתגובה על ה-issue או ה-PR שהפעיל.
  • מצב אוטומציה: כשה-workflow מספק קלט prompt, Claude רץ בלי להמתין לאזכור, בכפוף רק לבדיקות על מי יכול להפעיל הרצות. כברירת מחדל, התוצאות מופיעות ביומן הרצת ה-workflow ולא בתגובה. Claude יכול לפרסם ל-issue או לבקשת המשיכה כשההנחיה מורה לו לעשות זאת ויש לו כלי שיכול לפרסם, כמו בדוגמת סקירת הקוד.

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

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

  • גישת כתיבה: באירועי issue ובקשת משיכה, למשתמש המפעיל חייבת להיות גישת כתיבה למאגר. כדי לאפשר למשתמשים מסוימים בלי גישת כתיבה, הגדירו את allowed_non_write_users והעבירו קלט github_token משלכם. אירועים שאף משתמש לא כותב, כמו טריגר schedule, מדלגים על הבדיקה הזו.
  • גורם אנושי: בכל אירוע, Claude Code GitHub Action דוחה גורם שהוא בוט אלא אם מציינים אותו ב-allowed_bots, וכך בוטים לא מפעילים את Claude בלולאה. הבדיקה הזו חלה גם על הרצות מתוזמנות, ש-GitHub מייחס למשתמש מאגר, בדרך כלל למי ששינה לאחרונה את לוח הזמנים cron של ה-workflow. אם המשתמש הזה הוא בוט, ציינו אותו ב-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 }}

החלקים בזרימת העבודה שאינם תבנית קבועה:

  • id-token: write: נדרש לאימות ברירת המחדל של Claude Code GitHub Action כאפליקציית GitHub
  • actions: read: מאפשר ל-Claude לקרוא תוצאות CI ב-PR
  • actions/checkout: נותן ל-Claude עותק מקומי של המאגר לעבודה
  • if: מונע מהרצים להתחיל על תגובות שאינן מזכירות את @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 וגם טקסט רגיל:

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

זרימת העבודה הבאה מתקינה את ה-plugin code-review ומריצה את ה-skill שלו כאשר נפתחת בקשת משיכה, מתעדכנת, נפתחת מחדש, או מסומנת כמוכנה לסקירה. היא מריצה את אותו plugin כמו זרימת הסקירה מההגדרה המהירה. השתמשו בזרימת עבודה כזו כשאתם רוצים לשלוט בעצמכם ב-prompt, במודל ובטריגרים. לסקירות אוטומטיות בלי לתחזק קובץ זרימת עבודה, ראו Code Review. במאגרים ציבוריים, GitHub לא מספק סודות להרצות שמופעלות על ידי בקשות משיכה מ-fork, ולכן הסקירה רצה רק על בקשות משיכה מענפים באותו מאגר.

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-plugins-official.git"
          plugins: "code-review@claude-plugins-official"
          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 מפרסם את הסקירה על בקשת המשיכה, כתגובה מוטמעת על כל בעיה שהוא מוצא, או כתגובת סיכום אחת כשהוא לא מוצא אף אחת. בלעדיו, Claude לא מפרסם דבר, ואת הממצאים קוראים ביומן הרצת זרימת העבודה.
  • claude_args: השאירו את השורה הזו אף על פי שה-frontmatter allowed-tools של ה-skill עצמו מציין את אותו כלי, מפני ש-Claude Code GitHub Action מפעיל את שרת ה-MCP שמפרסם תגובות מוטמעות רק כאשר --allowedTools ב-claude_args מציין אותו.

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

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

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

זרימת העבודה הזו יוצרת דוח ביומן הרצת זרימת העבודה בכל יום בשעה 09:00 UTC. שורת claude_args שלה מעבירה ארגומנטים של CLI שבוחרים את המודל ומתירים שני כלי MCP של GitHub. Claude קורא קומיטים ו-issues דרך ה-API של GitHub עם הכלים האלה, ולכן אפשר להשמיט את שלב ה-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-5-5
            --allowedTools "mcp__github__list_commits,mcp__github__list_issues"

#שיטות עבודה מומלצות

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

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

#הגנה על פרטי ההזדהות

[!WARNING]

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

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

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

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

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

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

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

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

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

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

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

  • Amazon Bedrock: use_bedrock: "true"
  • Agent Platform של Google Cloud: use_vertex: "true"
  • Microsoft Foundry: use_foundry: "true"

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

#פתרון בעיות

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

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

#CI לא רץ על הקומיטים של Claude

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

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

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

לפתרונות נוספים, ראו את השאלות הנפוצות של 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 או באיחוד זהות עומס עבודה. לא בשימוש עבור Bedrock, Agent Platform או Foundry
claude_code_oauth_tokenאסימון OAuth לאימות עם מנוי Claude, שנוצר עם claude setup-tokenלא
github_tokenאסימון לפעולות GitHub. כשהוא מושמט, Claude Code GitHub Action מאמת כאפליקציית GitHub של Claudeלא
plugin_marketplacesרשימה מופרדת בשורות חדשות של כתובות Git של שוקי pluginלא
pluginsרשימה מופרדת בשורות חדשות של שמות plugin להתקנה לפני ההרצהלא
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: רשימה מופרדת בפסיקים של כלים מותרים. גם הכינוי --allowed-tools עובד
  • --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

למיפוי הקלטים המלא ולדוגמאות לפני ואחרי, ראו את מדריך המיגרציה.

#מה הלאה