תיעוד 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]
- כשמתקינים את ה-GitHub App, מעניקים לו כמה הרשאות. ראו הרשאות GitHub App לרשימה המלאה
- ההתקנה המהירה עובדת עם Claude API ועם מנויי Claude. אם אתם משתמשים ב-Amazon Bedrock, ב-Agent Platform של Google Cloud, או ב-Microsoft Foundry, ראו שימוש ב-Claude Code GitHub Actions עם ספקי ענן
#התקנה ידנית
כדי להגדיר את 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 ConsoleCLAUDE_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: מזהה הארגון ב-Anthropicanthropic_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 כאפליקציית GitHubactions: read: מאפשר ל-Claude לקרוא תוצאות CI ב-PRactions/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 componentClaude משיב בתגובה על אותו 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: השאירו את השורה הזו אף על פי שה-frontmatterallowed-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:
- שנו את
@betaל-@v1בשורתuses - הסירו את הקלט
mode, מפני ש-Claude Code GitHub Action עכשיו מזהה את המצב אוטומטית - החליפו את
direct_promptב-prompt - העבירו אפשרויות CLI כמו
max_turnsו-modelאלclaude_args. ל-custom_instructionsאין דגל באותו שם, והוא הופך ל---append-system-prompt
למיפוי הקלטים המלא ולדוגמאות לפני ואחרי, ראו את מדריך המיגרציה.
#מה הלאה
- שימוש ב-Claude Code GitHub Actions עם ספקי ענן: ניתוב הסקה דרך Amazon Bedrock, Agent Platform של Google Cloud, או Microsoft Foundry
- הפניית הגדרות: הרשימה המלאה של קלטי ה-action
- ספריית הדוגמאות: זרימות עבודה מוכנות לשימוש לתרחישים נוספים
- Code Review: סקירת בקשות משיכה אוטומטית בלי לתחזק קובץ זרימת עבודה