1
0
mirror of synced 2025-12-25 11:03:37 -05:00

Compare commits

...

134 Commits

Author SHA1 Message Date
Robert Sese
e91d25e768 longer timeout for article-api tests that were timing out 2025-12-14 14:25:38 -06:00
docs-bot
93fb820585 Merge pull request #41842 from github/repo-sync
Repo sync
2025-12-14 07:34:56 -08:00
docs-bot
ba43177b24 Sync secret scanning data (#58871)
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
2025-12-14 14:55:22 +00:00
docs-bot
270e13ef72 Merge pull request #41829 from github/repo-sync
Repo sync
2025-12-13 10:38:24 -08:00
docs-bot
c5f26db22c GraphQL schema update (#58862)
Co-authored-by: heiskr <1221423+heiskr@users.noreply.github.com>
2025-12-13 16:40:13 +00:00
docs-bot
8b8a9337d0 Merge pull request #41816 from github/repo-sync
Repo sync
2025-12-12 16:45:21 -08:00
Holly 🦒
8922580fc0 Improve storage billing clarity: Actions, Packages, and Git LFS (#58776)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Joe Clark <31087804+jc-clark@users.noreply.github.com>
2025-12-12 22:57:50 +00:00
docs-bot
db0fd2781f Merge pull request #41815 from github/repo-sync
Repo sync
2025-12-12 13:33:36 -08:00
Brian
27d6d53e0f Enable Gemini 3 Pro support for multiple IDEs (#58867)
Co-authored-by: Mia Arts <107727642+its-mia@users.noreply.github.com>
2025-12-12 20:28:19 +00:00
docs-bot
2dd103a1f1 Merge pull request #41813 from github/repo-sync
Repo sync
2025-12-12 10:39:38 -08:00
Rob Aiken
6fa214e016 Adding docs for OpenTofu and Julia (#58795)
Co-authored-by: mchammer01 <42146119+mchammer01@users.noreply.github.com>
2025-12-12 18:30:57 +00:00
dependabot[bot]
a36745cddb Bump next from 16.0.9 to 16.0.10 in the npm_and_yarn group across 1 directory (#58866)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-12 18:09:12 +00:00
Kevin Heis
e199a94714 Update src/assets/README.md (#58835) 2025-12-12 17:55:04 +00:00
Kevin Heis
563272240b Update src/color-schemes/README.md (#58836) 2025-12-12 17:54:55 +00:00
Sunbrye Ly
e23f6672e9 Add public preview note for Custom Images (#58846)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-12 17:38:17 +00:00
dependabot[bot]
04a952c4a3 Bump next from 16.0.7 to 16.0.9 in the npm_and_yarn group across 1 directory (#58854)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-12 17:36:23 +00:00
docs-bot
373231d135 Merge pull request #41808 from github/repo-sync
Repo sync
2025-12-12 01:37:51 -08:00
Chuck Lantz
14703b2cb4 Clarify the purpose of the name property (#58857)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-12 08:30:45 +00:00
Belal Taher
a3e1de2473 Document prompt character limit for agents (#58817) 2025-12-12 08:28:10 +00:00
Kendall Shearman
7c7487cf04 Clarify public organization profile README availability (#58830)
Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-12 08:19:15 +00:00
docs-bot
5e67c8c1a2 Update audit log event data (#58832)
Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com>
2025-12-12 08:17:36 +00:00
docs-bot
222206678f Update OpenAPI Description (#58833)
Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com>
2025-12-12 07:56:43 +00:00
docs-bot
92989ce73c Merge pull request #41806 from github/repo-sync
Repo sync
2025-12-11 16:47:41 -08:00
Sarah Schneider
be8157c74c Support Copilot Spaces in ai-tools (#58845)
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-12-11 22:37:13 +00:00
Vanessa
4fd544a3f5 GitHub Copilot App Modernization Java/.NET – GA Joint Announcement [GA] (#58849) 2025-12-11 22:00:27 +00:00
docs-bot
65b2fbf5ee Merge pull request #41805 from github/repo-sync
Repo sync
2025-12-11 13:36:08 -08:00
Gio Fernandez
b8a6fb39ec Update troubleshooting steps for webhook connectivity (#58811)
Co-authored-by: Vanessa <vgrl@github.com>
2025-12-11 21:24:25 +00:00
Kevin Heis
babee40375 feat: add AuditLogsTransformer for Article API (#58754) 2025-12-11 20:17:32 +00:00
Kevin Heis
50f54eb7a6 Remove TODO and ai_search query param from ai-search-proxy (#58843) 2025-12-11 19:35:45 +00:00
Jenni C
0b02439cea tented 0008 (#58814)
Co-authored-by: sunbrye <sunbrye@github.com>
Co-authored-by: Kevin Heis <heiskr@users.noreply.github.com>
2025-12-11 19:20:55 +00:00
docs-bot
88bd6d6951 Merge pull request #41801 from github/repo-sync
Repo sync
2025-12-11 10:37:13 -08:00
Kevin Heis
568a220003 docs: add products README (#58808)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-11 18:07:26 +00:00
Kevin Heis
95fadcfc4b docs: update data-directory README (#58807) 2025-12-11 17:59:00 +00:00
Sarah Schneider
7e0d2a2be8 Script to resolve Liquid data references in a content file (#58831)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-11 16:40:33 +00:00
Felicity Chapman
18acec3172 Use Copilot to update scripts to add quality query tables (#58621)
Co-authored-by: Anne-Marie <102995847+am-stead@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: docs-bot <77750099+docs-bot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Óscar San José <oscarsj@github.com>
2025-12-11 16:39:46 +00:00
Kevin Heis
bb7e473a53 Add GraphQL transformer for Article API (#58719)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-11 15:38:55 +00:00
docs-bot
c4593a0c09 Merge pull request #41797 from github/repo-sync
Repo sync
2025-12-11 07:36:41 -08:00
Kevin Heis
0b2516e377 Refactor SearchOverlay to use Context for state management (#58768) 2025-12-11 15:33:08 +00:00
Patrick Knight
af26fc94c4 Repos dashboard public preview docs (#57830)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com>
2025-12-11 15:32:03 +00:00
Greg Mondello
d23879935d Update usage endpoints in billing/tutorials/automate-usage-reporting (#58805) 2025-12-11 14:35:42 +00:00
Copilot
7683cd43ac Update Copilot Spaces docs with MCP server configuration for X-MCP-Toolsets header (#58707)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Bestra <2043348+Bestra@users.noreply.github.com>
Co-authored-by: Chris Westra <bestra@github.com>
Co-authored-by: Anne-Marie <102995847+am-stead@users.noreply.github.com>
2025-12-11 14:02:16 +00:00
docs-bot
d6244e1d98 Update CodeQL CLI manual (#58723)
Co-authored-by: Óscar San José <oscarsj@github.com>
2025-12-11 12:56:16 +00:00
docs-bot
23469ccef5 Update CodeQL query tables (#58725)
Co-authored-by: Óscar San José <oscarsj@github.com>
2025-12-11 12:56:08 +00:00
docs-bot
72bd8b081e Merge pull request #41788 from github/repo-sync
Repo sync
2025-12-11 04:38:52 -08:00
Isaac Brown
6d39eba152 Add sections on custom agents to "Identifying role requirements in your enterprise" (#58825) 2025-12-11 11:13:40 +00:00
docs-bot
a655b69ef7 Update audit log event data (#58797)
Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com>
2025-12-11 09:59:25 +00:00
docs-bot
0a972c3a6c Update OpenAPI Description (#58800)
Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com>
2025-12-11 09:40:41 +00:00
docs-bot
97a2bde25f Merge pull request #41787 from github/repo-sync
Repo sync
2025-12-11 01:37:01 -08:00
docs-bot
0db94b63db Merge pull request #58824 from github/repo-sync
Repo sync
2025-12-11 01:36:06 -08:00
Andy Hudson
ca49097d09 andy-huddo landing page image descriptions (#58789)
Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com>
2025-12-11 08:57:47 +00:00
Copilot
a9e869f812 Add gradle.lockfile to Dependabot supported files documentation (#58815)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: felickz <1760475+felickz@users.noreply.github.com>
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
2025-12-11 07:11:08 +00:00
Nhu Do
0e0fa2f597 Update individual policy adherence in copilot auto model selection (#58818) 2025-12-11 06:45:43 +00:00
Nils Nathorst-Windahl
8d7629026f Update add-repository-instructions.md (#41655)
Co-authored-by: Sharra-writes <sharra-writes@github.com>
2025-12-11 05:38:32 +00:00
docs-bot
d7e9a848b9 Merge pull request #41783 from github/repo-sync
Repo sync
2025-12-10 16:49:38 -08:00
Devraj Mehta
8a6ed964ea Add Copilot CLI feature to devcontainer (#58813) 2025-12-10 21:42:33 +00:00
Sarah Schneider
e7b6146b90 docstat quiet option (#58812) 2025-12-10 21:33:36 +00:00
literarytea
53f5acfb26 Update Government Takedown Policy to include link to govt request form (#58810)
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
2025-12-10 21:27:40 +00:00
docs-bot
1a1f73bcb7 Sync secret scanning data (#58804)
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
2025-12-10 20:52:17 +00:00
Sarita Iyer
de0d8c9898 Custom agents reference: new property + update tool names (#58809) 2025-12-10 20:15:27 +00:00
Jenni C
b9237f8e7a auto model GA for vscode (#58794) 2025-12-10 19:07:26 +00:00
dependabot[bot]
7045d1345e Bump @actions/core from 1.11.1 to 2.0.0 (#58780)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-10 19:01:31 +00:00
dependabot[bot]
0e4196ff71 Bump peter-evans/create-pull-request from 7.0.9 to 8.0.0 (#58778)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-10 19:00:34 +00:00
Kevin Heis
29a79eb623 Fix crash in secret scanning middleware for invalid versions (#58792) 2025-12-10 18:56:23 +00:00
docs-bot
1b37addc55 Merge pull request #41780 from github/repo-sync
Repo sync
2025-12-10 10:38:02 -08:00
Kevin Heis
5b4430431c Add README for src/changelogs (#58799)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: heiskr <1221423+heiskr@users.noreply.github.com>
2025-12-10 18:25:29 +00:00
Kevin Heis
abf0033fe8 fix: handle invalid Referer header in article lookup middleware (#58793) 2025-12-10 17:46:47 +00:00
Daniel Dunn
ac1d99c016 Ensure directory exists before writing new file (#58801) 2025-12-10 16:47:17 +00:00
docs-bot
81a3d70a64 GraphQL schema update (#58798)
Co-authored-by: heiskr <1221423+heiskr@users.noreply.github.com>
2025-12-10 16:40:38 +00:00
Tom Christensen
e7e956646b Add Dependabot cooldown docs to GHES 3.19 (#58715) 2025-12-10 16:25:20 +00:00
Ben Ahmady
c2d922e353 'Start your journey' landing page construction (#58577) 2025-12-10 16:17:57 +00:00
Kevin Heis
13178f0183 Remove 'any' types from 14 files (#58716) 2025-12-10 16:07:04 +00:00
docs-bot
9ff1047933 Merge pull request #41778 from github/repo-sync
Repo sync
2025-12-10 01:37:38 -08:00
Greg Mondello
21eb8177cd Add budget limit to /concepts/budgets-and-alerts (#58783)
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
2025-12-10 09:01:00 +00:00
docs-bot
8ee3a4ecaa Merge pull request #58788 from github/repo-sync
Repo sync
2025-12-09 22:37:16 -08:00
shar c
137dace8f2 Fix link formatting in release notes (#58787) 2025-12-10 06:17:53 +00:00
docs-bot
615f92e99b Merge pull request #41775 from github/repo-sync
Repo sync
2025-12-09 16:47:55 -08:00
Evan Bonsignori
f797ca1f6e throw errors when translations fail to fetch during build (#58781) 2025-12-09 23:25:38 +00:00
release-controller[bot]
abe27e98c6 Patch release notes for GitHub Enterprise Server (#58760)
Co-authored-by: Release-Controller <releasecontroller@github.com>
Co-authored-by: isaacmbrown <isaacmbrown@github.com>
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
2025-12-09 23:06:06 +00:00
Salil
2ffc3fe44c Updating the max number of inputs to 25 for dotcom/proxima (#58775)
Co-authored-by: sunbrye <sunbrye@github.com>
Co-authored-by: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com>
2025-12-09 23:00:23 +00:00
Robert Sese
462aa2a6eb test description update (#58777) 2025-12-09 22:48:43 +00:00
Kevin Wallen
924c3dcb20 Fix deprecated mode attribute in README generator prompt (#41600)
Co-authored-by: Sharra-writes <sharra-writes@github.com>
2025-12-09 22:28:50 +00:00
Felix Guntrip
c86c4e183d GHES 3.19 GA (#58749)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Pallavi <96553709+pallsama@users.noreply.github.com>
Co-authored-by: Alex Nguyen <150945400+nguyenalex836@users.noreply.github.com>
2025-12-09 21:37:43 +00:00
docs-bot
e516c19f4e Merge pull request #41769 from github/repo-sync
Repo sync
2025-12-09 10:37:05 -08:00
docs-bot
30428dcbd5 Sync secret scanning data (#58770)
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
2025-12-09 17:01:19 +00:00
mc
055a5af53e Replace text with variable in billing manager onboarding guide (#58763) 2025-12-09 16:28:23 +00:00
docs-bot
76a003733f Update OpenAPI Description (#58766)
Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com>
2025-12-09 16:00:54 +00:00
docs-bot
c9ef2960d0 Merge pull request #41768 from github/repo-sync
Repo sync
2025-12-09 07:44:18 -08:00
Patrick Knight
735e3374c4 Update custom property types in documentation (#58714)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-09 15:30:49 +00:00
docs-bot
a4f5dcd7c3 Update docs changelog (for PR #58730) (#58765)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com>
2025-12-09 14:56:11 +00:00
Isaac Brown
5b2626b31c Add guide on enterprise innersourcing (#58730)
Co-authored-by: Laura Coursen <lecoursen@github.com>
2025-12-09 14:16:47 +00:00
Anne-Marie
78f08cf983 [SDLC "Test" phase] Create tutorial: Updating existing tests to reflect code changes with Copilot #20601 (#58711)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: hubwriter <hubwriter@github.com>
2025-12-09 13:18:14 +00:00
docs-bot
48ea107133 Merge pull request #41766 from github/repo-sync
Repo sync
2025-12-09 04:38:56 -08:00
mc
c562325c1f Prevent overspending journey: Write a Get started article for Billing managers (#58762) 2025-12-09 11:12:18 +00:00
docs-bot
6b59106a5a Update docs changelog (for PR #58690) (#58751)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: hubwriter <hubwriter@github.com>
2025-12-09 10:34:11 +00:00
docs-bot
4add019a2f Delete orphaned files (2025-12-08-16-30) (#58753) 2025-12-09 10:32:52 +00:00
Eric Jorgensen
3df8c93975 Remove bulk conversion of issues to discussions (#58757)
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
2025-12-09 10:26:53 +00:00
docs-bot
394382396d Merge pull request #41754 from github/repo-sync
Repo sync
2025-12-08 16:46:37 -08:00
Joe Clark
e480427c47 Edit About pull request reviews for user needs (#58680) 2025-12-09 00:12:48 +00:00
Kevin Heis
ef16a60ed0 Resolve TODO comments from codebase (#58691) 2025-12-08 23:20:52 +00:00
Robert Sese
c5a9780cfd one-off journey landing design when only 1 journey (#58699) 2025-12-08 21:43:19 +00:00
docs-bot
f1aba7cb66 Merge pull request #41751 from github/repo-sync
Repo sync
2025-12-08 13:31:54 -08:00
Tim Rogers
7638d1acff [2025-12-08] Model picker for Copilot coding agent for Pro and Pro+ users (#58728)
Co-authored-by: Nhu Do <nhu-do@github.com>
Co-authored-by: hubwriter <hubwriter@github.com>
2025-12-08 19:39:59 +00:00
Isaac Brown
407ff09139 Document new limit of enterprise teams (#58724) 2025-12-08 19:37:30 +00:00
docs-bot
616c560846 Merge pull request #41748 from github/repo-sync
Repo sync
2025-12-08 10:37:24 -08:00
Kevin Heis
f6fc97409a Update message on package not found error (#58740) 2025-12-08 17:42:20 +00:00
Kevin Heis
7c911b927f Fix meta tag URLs to use & for query parameters instead of embedding in pathname (#58718)
Co-authored-by: Robert Sese <734194+rsese@users.noreply.github.com>
2025-12-08 17:41:21 +00:00
hubwriter
9dff5decee Hubwriter/tiny image fix (#58752)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jenni C <97056108+dihydroJenoxide@users.noreply.github.com>
2025-12-08 16:28:49 +00:00
Eugene
f857bcae5e Update Docker publishing tutorial for artifact attestation guidance (#58736)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Brian DeHamer <bdehamer@github.com>
2025-12-08 15:45:16 +00:00
docs-bot
307f45b074 Merge pull request #41747 from github/repo-sync
Repo sync
2025-12-08 07:37:01 -08:00
Rob Herley
bcff1fea9a Update pull_request_target documentation for upcoming breaking security changes (#58612)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-08 15:32:09 +00:00
hubwriter
b57624989b New tutorial: using Copilot Chat to write code for you (#58690)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jenni C <97056108+dihydroJenoxide@users.noreply.github.com>
2025-12-08 15:19:45 +00:00
Dani Brooks
5255280bb0 Add Elasticsearch as a subprocessors entry (#58737) 2025-12-08 14:55:40 +00:00
Khanh Tran
69dd222408 Add section on configuring backups from replica node (#58696)
Co-authored-by: Sam Browning <106113886+sabrowning1@users.noreply.github.com>
2025-12-08 14:40:23 +00:00
Allan Guigou
41f47d5171 Update environment branch protection rules documentation (#57383)
Co-authored-by: Joe Clark <31087804+jc-clark@users.noreply.github.com>
2025-12-08 14:36:11 +00:00
Gio Fernandez
089283f84e Enhance troubleshooting details for webhook delivery errors (#58741)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-08 14:17:19 +00:00
docs-bot
bea0cc1045 Merge pull request #41741 from github/repo-sync
Repo sync
2025-12-08 01:37:47 -08:00
Junko Suzuki
74ce945bff Update "Downloading your license file" article (#58607)
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com>
2025-12-08 08:52:47 +00:00
docs-bot
774eb48f5f Sync secret scanning data (#58733)
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
2025-12-08 07:30:12 +00:00
docs-bot
352e783e22 Merge pull request #41733 from github/repo-sync
Repo sync
2025-12-07 16:48:40 -08:00
Greg Mondello
5b5cb4e656 Update maximum resources per cost center to 25,000 (#58729)
Co-authored-by: Vanessa <vgrl@github.com>
2025-12-07 23:00:49 +00:00
docs-bot
38aa8032da Merge pull request #58746 from github/repo-sync
Repo sync
2025-12-05 22:36:37 -08:00
docs-bot
8cc5901eff Merge pull request #41708 from github/repo-sync
Repo sync
2025-12-05 16:45:06 -08:00
NA-V10
d35f3d0e48 Fix spelling and punctuation issues in GitHub CLI quickstart docs (#41558)
Co-authored-by: Sharra-writes <sharra-writes@github.com>
2025-12-05 23:13:51 +00:00
Robert Sese
c87fca4d81 add empty logger functions turbopack fallback (#58742) 2025-12-05 21:14:52 +00:00
Sarita Iyer
e016b2ac21 update multiplier for Opus (#58739) 2025-12-05 21:05:24 +00:00
docs-bot
ad3e75a6bf Merge pull request #41700 from github/repo-sync
Repo sync
2025-12-05 10:42:15 -08:00
docs-bot
7af44290ad Update OpenAPI Description (#58735)
Co-authored-by: Sam Browning <106113886+sabrowning1@users.noreply.github.com>
Co-authored-by: Robert Sese <734194+rsese@users.noreply.github.com>
2025-12-05 18:22:50 +00:00
Kevin Heis
d176fe25ae Remove automatic npm install feature (#58731) 2025-12-05 18:15:15 +00:00
Kensuke Nagae
0d02a28be6 Fix larger runners static IPs limits information (#58708)
Co-authored-by: Siara <108543037+SiaraMist@users.noreply.github.com>
2025-12-05 17:54:48 +00:00
hubwriter
3a79d814be Clarify diagrams cookbook article relates to dotcom (#58706) 2025-12-05 17:00:08 +00:00
hubwriter
846190ae2b Remove mention of custom models (#58710) 2025-12-05 16:59:30 +00:00
docs-bot
59ab3392f1 GraphQL schema update (#58734)
Co-authored-by: heiskr <1221423+heiskr@users.noreply.github.com>
2025-12-05 16:40:33 +00:00
docs-bot
1cc92f22e9 Merge pull request #41697 from github/repo-sync
Repo sync
2025-12-05 07:36:59 -08:00
Jessica Margala
56f8695832 Update Events API PullRequestEvent properties (#58684)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-05 13:46:38 +00:00
345 changed files with 1436864 additions and 267200 deletions

View File

@@ -12,6 +12,9 @@
// Install features. Type 'feature' in the VS Code command palette for a full list.
"features": {
"sshd": "latest",
"ghcr.io/devcontainers/features/copilot-cli:1": {
"version": "prerelease"
},
"ghcr.io/devcontainers/features/github-cli:1": {}
},
@@ -59,8 +62,6 @@
},
// Lifecycle commands
// Install dependencies then install Copilot CLI
"onCreateCommand": "npm ci && npm install -g @github/copilot@prerelease",
// Start a web server and keep it running
"postStartCommand": "nohup bash -c 'npm start &'",
// Set port 4000 to be public

View File

@@ -28,4 +28,5 @@ When you create a pull request:
3. Label with "llm-generated".
4. If an issue exists, include "fixes owner/repo#issue" or "towards owner/repo#issue" as appropriate.
5. Always _escape backticks_ when you use gh cli.
5. Always create PRs in **draft mode** using `--draft` flag.
6. Always _escape backticks_ when you use gh cli.

View File

@@ -35,7 +35,7 @@ jobs:
- name: Create pull request
id: create-pull-request
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412 # pin @v7.0.9
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # pin @v8.0.0
env:
# Disable pre-commit hooks; they don't play nicely here
HUSKY: '0'

View File

@@ -19,7 +19,8 @@ on:
pull_request:
paths:
- .github/workflows/generate-code-scanning-query-lists.yml
- src/code-scanning/scripts/generate-code-scanning-query-list.ts
- src/codeql-queries/scripts/generate-code-scanning-query-list.ts
- src/codeql-queries/scripts/generate-code-quality-query-list.ts
- .github/actions/install-cocofix/action.yml
permissions:
@@ -27,7 +28,7 @@ permissions:
pull-requests: write
jobs:
generate-query-lists:
generate-security-query-lists:
if: github.repository == 'github/docs-internal'
runs-on: ubuntu-latest
steps:
@@ -45,6 +46,7 @@ jobs:
- name: Get the codeql SHA being synced
id: codeql
shell: bash
run: |
cd codeql
OPENAPI_COMMIT_SHA=$(git rev-parse HEAD)
@@ -56,12 +58,14 @@ jobs:
uses: ./codeql/.github/actions/fetch-codeql
- name: Test CodeQL CLI Download
shell: bash
run: codeql --version
# "Server for running multiple commands while avoiding repeated JVM initialization."
# Having started this should speed up the execution of the various
# CLI calls of the executable.
- name: Start CodeQL CLI server in the background
shell: bash
run: |
codeql execute cli-server &
sleep 3
@@ -71,21 +75,8 @@ jobs:
with:
token: ${{ secrets.DOCS_BOT_PAT_BASE }}
- name: Lint the code (eslint)
if: ${{ github.event_name == 'pull_request' }}
env:
PATH: '$PATH:${{ github.workspace }}/node_modules/.bin'
run: |
eslint --no-ignore src/code-scanning/scripts/generate-code-scanning-query-list.ts
- name: Lint the code (tsc)
if: ${{ github.event_name == 'pull_request' }}
env:
PATH: '$PATH:${{ github.workspace }}/node_modules/.bin'
run: |
tsc --noEmit --project src/code-scanning/scripts/tsconfig.json
- name: Build code scanning query list
- name: Build code scanning security query lists
shell: bash
run: |
for lang in "actions" "cpp" "csharp" "go" "java" "javascript" "python" "ruby" "rust" "swift"; do
echo "Generating code scanning query list for $lang"
@@ -97,7 +88,112 @@ jobs:
$lang
done
- name: Upload security query lists
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: security-query-lists
path: data/reusables/code-scanning/codeql-query-tables/
generate-quality-query-lists:
if: github.repository == 'github/docs-internal'
runs-on: ubuntu-latest
steps:
- name: Checkout repository code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/node-npm-setup
- name: Checkout codeql repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
repository: github/codeql
path: codeql
ref: ${{ inputs.SOURCE_BRANCH || 'main' }}
- name: Get the codeql SHA being synced
id: codeql
shell: bash
run: |
cd codeql
OPENAPI_COMMIT_SHA=$(git rev-parse HEAD)
echo "OPENAPI_COMMIT_SHA=$OPENAPI_COMMIT_SHA" >> $GITHUB_OUTPUT
echo "Copied files from github/codeql repo. Commit SHA: $OPENAPI_COMMIT_SHA"
- name: Download CodeQL CLI
# Look under the `codeql` directory, as this is where we checked out the `github/codeql` repo
uses: ./codeql/.github/actions/fetch-codeql
- name: Test CodeQL CLI Download
shell: bash
run: codeql --version
# "Server for running multiple commands while avoiding repeated JVM initialization."
# Having started this should speed up the execution of the various
# CLI calls of the executable.
- name: Start CodeQL CLI server in the background
shell: bash
run: |
codeql execute cli-server &
sleep 3
codeql --version
- name: Build code quality query lists
shell: bash
run: |
for lang in "csharp" "go" "java" "javascript" "python" "ruby"; do
echo "Generating code quality query list for $lang"
npm run generate-code-quality-query-list -- \
--verbose \
--codeql-path codeql \
--codeql-dir codeql \
-o data/reusables/code-quality/codeql-query-tables/$lang.md \
$lang
done
- name: Upload quality query lists
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: quality-query-lists
path: data/reusables/code-quality/codeql-query-tables/
create-pull-request:
if: github.repository == 'github/docs-internal'
runs-on: ubuntu-latest
needs: [generate-security-query-lists, generate-quality-query-lists]
steps:
- name: Checkout repository code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Checkout codeql repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
repository: github/codeql
path: codeql
ref: ${{ inputs.SOURCE_BRANCH || 'main' }}
- name: Get the codeql SHA being synced
id: codeql
shell: bash
run: |
cd codeql
OPENAPI_COMMIT_SHA=$(git rev-parse HEAD)
echo "OPENAPI_COMMIT_SHA=$OPENAPI_COMMIT_SHA" >> $GITHUB_OUTPUT
echo "Copied files from github/codeql repo. Commit SHA: $OPENAPI_COMMIT_SHA"
- name: Download security query lists
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: security-query-lists
path: data/reusables/code-scanning/codeql-query-tables/
- name: Download quality query lists
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: quality-query-lists
path: data/reusables/code-quality/codeql-query-tables/
- name: Insight into diff
shell: bash
run: |
git diff
@@ -105,6 +201,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }}
DRY_RUN: ${{ github.event_name == 'pull_request'}}
shell: bash
run: |
# When we started, we downloaded the CodeQL CLI here in this workflow.
@@ -145,6 +242,7 @@ jobs:
fi
git add data/reusables/code-scanning/codeql-query-tables
git add data/reusables/code-quality/codeql-query-tables
git commit -m "Update CodeQL query tables"
git push -u origin $branchname
@@ -157,6 +255,6 @@ jobs:
No action is required from the first responder for the Docs content team. This PR is automatically added to the Docs content review board. Any writer can review this by checking that the PR looks sensible. If CI does not pass or other problems arise, contact #docs-engineering on slack.
When the DRI for the CodeQL CLI release is ready to publish, they will ask us to merge this PR in #docs-content.'

View File

@@ -33,7 +33,7 @@ jobs:
run: npm run sync-graphql
- name: Create pull request
id: create-pull-request
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412 # pin @v7.0.9
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # pin @v8.0.0
env:
# Disable pre-commit hooks; they don't play nicely here
HUSKY: '0'

3
.gitignore vendored
View File

@@ -13,8 +13,7 @@
# JetBrains IDE files
.idea/
# Tracks package-lock.json installation state
.installed.package-lock.json
# Linkinator full site link check results
.linkinator/

View File

@@ -1,5 +1,19 @@
# Docs changelog
**9 December 2025**
We published [a guide](https://docs.github.com/en/enterprise-cloud@latest/admin/concepts/enterprise-best-practices/use-innersource) to help customers set up innersource practices in their enterprise. The guide also provides a conceptual introduction to features like internal visibility, organization base permissions, and roles for external collaborators.
<hr>
**8 December 2025**
We've added a new tutorial on how to use Copilot Chat to write code for you. The tutorial steps you through how to create a time tracking web app using only prompts in Copilot Chat.
[Vibe coding with GitHub Copilot](https://docs.github.com/en/copilot/tutorials/vibe-coding)
<hr>
**5 December 2025**
We added documentation for the new Code generation tab, which is part of Copilot usage metrics. The docs now describe how to view code generation insights across your enterprise, compare user-initiated and agent-initiated behavior, and understand differences across models, languages, and modes. We also updated related conceptual and reference content for consistency and scannability. See [Viewing the code generation dashboard](https://docs.github.com/en/copilot/how-tos/administer-copilot/manage-for-enterprise/view-code-generation).

View File

@@ -0,0 +1,13 @@
There are 6 different banner images to use on landing pages.
Journey landing pages
- hero-1
- hero-2
Bespoke landing pages
- hero-3
- hero-4
Discovery landing pages
- hero-5
- hero-6

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -2,6 +2,8 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: webapp
annotations:
moda.github.net/allow-missing-ready-pods: '1'
spec:
replicas: 6
selector:

View File

@@ -8,6 +8,8 @@ product: '{% data variables.actions.github_hosted_larger_runners %} are only ava
---
{% data reusables.actions.custom-images-public-preview-note %}
## Custom images
You can create a custom image to define the exact environment that your {% data variables.actions.github_hosted_larger_runners %} use. Custom images let you preinstall tools, dependencies, and configurations to speed up workflows and improve consistency across jobs.

View File

@@ -38,7 +38,7 @@ These limits are subject to change.
| All {% data variables.product.github %}-hosted runners | Storage limits | Varies | For more information, see [Storage limits for all {% data variables.product.github %}-hosted runners](#storage-limits-for-all-github-hosted-runners). | {% octicon "x" aria-label="No" %} |
| {% endif %} |
| Larger runners | Per runner concurrency limit | Varies by runner type | Established when setting up a runner. Normally 1,000 max for Linux CPU runners, but varies by type. See [Job concurrency limits for {% data variables.product.github %}-hosted runners](#job-concurrency-limits-for-github-hosted-runners). | {% octicon "check" aria-label="Yes" %} Support ticket |
| Larger runners | Static IP limits | 10-50 IPs | 10 IPs for team plans, 50 IPs for enterprise, and the limit is configurable. | {% octicon "check" aria-label="Yes" %} Support ticket |
| Larger runners | Static IP limits | 10 IPs | 10 IPs per enterprise and organization. | {% octicon "check" aria-label="Yes" %} Support ticket |
| Larger runners | Private IP scaling for vnet injection | 30% buffer | You need a buffer to accommodate the maximum job concurrency you anticipate. See [Private IP scaling for vnet injection on larger runners](#private-ip-scaling-for-vnet-injection-on-larger-runners). | {% octicon "check" aria-label="Yes" %} Configurable Azure virtual network |
### Job concurrency limits for {% data variables.product.github %}-hosted runners

View File

@@ -56,7 +56,7 @@ Use deployment branches and tags to restrict which branches and tags can deploy
* **Selected branches and tags:** Only branches and tags that match your specified name patterns can deploy to the environment.
If you specify `releases/*` as a deployment branch or tag rule, only a branch or tag whose name begins with `releases/` can deploy to the environment. (Wildcard characters will not match `/`. To match branches or tags that begin with `release/` and contain an additional single slash, use `release/*/*`.) If you add `main` as a branch rule, a branch named `main` can also deploy to the environment. For more information about syntax options for deployment branches, see the [Ruby `File.fnmatch` documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch).
The deployment branch or tag rule is matched against the `GITHUB_REF` of the workflow run. For values of `GITHUB_REF` for each workflow trigger, see [AUTOTITLE](/actions/using-workflows/events-that-trigger-workflows). If you specify `releases/*` as a deployment branch or tag rule, only a `GITHUB_REF` whose name begins with `releases/` can deploy to the environment. Adding another branch rule for `refs/pull/*/merge` would also allow workflows triggered by `pull_request` events to deploy to the environment. Wildcard characters will not match `/`, to match branches or tags that begin with `release/` and contain an additional single slash, use `release/*/*`. For more information about syntax options for deployment branches, see the [Ruby `File.fnmatch` documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch).
{% data reusables.actions.branch-and-tag-deployment-rules-configuration %}

View File

@@ -695,14 +695,18 @@ on:
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
| --------------------- | -------------- | ------------ | -------------|
| {% ifversion ghes < 3.20 %} |
| [`pull_request`](/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request) | - `assigned`<br/>- `unassigned`<br/>- `labeled`<br/>- `unlabeled`<br/>- `opened`<br/>- `edited`<br/>- `closed`<br/>- `reopened`<br/>- `synchronize`<br/>- `converted_to_draft`<br/>- `ready_for_review`<br/>- `locked`<br/>- `unlocked` <br/>{% ifversion fpt or ghec %}- `enqueued`<br/>- `dequeued`<br/>{% endif %}- `review_requested` <br/>- `review_request_removed` <br/>- `auto_merge_enabled` <br/>- `auto_merge_disabled` | Last commit on the PR base branch | PR base branch |
| {% else %} |
| [`pull_request`](/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request) | - `assigned`<br/>- `unassigned`<br/>- `labeled`<br/>- `unlabeled`<br/>- `opened`<br/>- `edited`<br/>- `closed`<br/>- `reopened`<br/>- `synchronize`<br/>- `converted_to_draft`<br/>- `ready_for_review`<br/>- `locked`<br/>- `unlocked` <br/>{% ifversion fpt or ghec %}- `enqueued`<br/>- `dequeued`<br/>{% endif %}- `review_requested` <br/>- `review_request_removed` <br/>- `auto_merge_enabled` <br/>- `auto_merge_disabled` | Last commit on default branch | Default branch |
| {% endif %} |
> [!NOTE]
> {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see [AUTOTITLE](/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request). By default, a workflow only runs when a `pull_request_target` event's activity type is `opened`, `synchronize`, or `reopened`. To trigger workflows by different activity types, use the `types` keyword. For more information, see [AUTOTITLE](/actions/using-workflows/workflow-syntax-for-github-actions#onevent_nametypes).
Runs your workflow when activity on a pull request in the workflow's repository occurs. For example, if no activity types are specified, the workflow runs when a pull request is opened or reopened or when the head branch of the pull request is updated.
This event runs in the context of the base of the pull request, rather than in the context of the merge commit, as the `pull_request` event does. This prevents execution of unsafe code from the head of the pull request that could alter your repository or steal any secrets you use in your workflow. This event allows your workflow to do things like label or comment on pull requests from forks. Avoid using this event if you need to build or run code from the pull request.
This event runs in the context of the {% ifversion ghes < 3.20 %}base of the pull request{% else %}default branch of the base repository{% endif %}, rather than in the context of the merge commit, as the `pull_request` event does. This prevents execution of unsafe code from the head of the pull request that could alter your repository or steal any secrets you use in your workflow. This event allows your workflow to do things like label or comment on pull requests from forks. Avoid using this event if you need to build or run code from the pull request.
To ensure repository security, branches with names that match certain patterns (such as those which look similar to SHAs) may not trigger workflows with the `pull_request_target` event.

View File

@@ -191,8 +191,6 @@ jobs:
permissions:
packages: write
contents: read
{% ifversion artifact-attestations %}attestations: write{% endif %}
{% ifversion artifact-attestations %}id-token: write{% endif %}
steps:
- name: Check out the repo
uses: {% data reusables.actions.action-checkout %}
@@ -226,18 +224,15 @@ jobs:
push: true
tags: {% raw %}${{ steps.meta.outputs.tags }}{% endraw %}
labels: {% raw %}${{ steps.meta.outputs.labels }}{% endraw %}
{% ifversion artifact-attestations %}
- name: Generate artifact attestation
uses: actions/attest-build-provenance@v3
with:
subject-name: {% data reusables.package_registry.container-registry-hostname %}/{% raw %}${{ github.repository }}{% endraw %}
subject-digest: {% raw %}${{ steps.push.outputs.digest }}{% endraw %}
push-to-registry: true
{% endif -%}
```
The above workflow checks out the {% data variables.product.github %} repository, uses the `login-action` twice to log in to both registries and generates tags and labels with the `metadata-action` action.
Then the `build-push-action` action builds and pushes the Docker image to Docker Hub and the {% data variables.product.prodname_container_registry %}.
{% ifversion artifact-attestations %}{% data reusables.actions.artifact-attestations-step-explanation %}{% endif %}
{% ifversion artifact-attestations %}> [!NOTE]
> When pushing to multiple registries:
>
> * Image digests may differ between registries, making attestation verification difficult.
> * To maintain a consistent digest and allow a single attestation to verify all copies, push to one registry first and use a tool like [`crane copy`](https://github.com/google/go-containerregistry/blob/main/cmd/crane/doc/crane_copy.md) to replicate the image elsewhere.
> * If you choose to build and push to each registry separately instead, you must generate a distinct attestation for each one to ensure your artifacts remain verifiable.
{% endif %}

View File

@@ -125,7 +125,7 @@ If you're migrating from {% data variables.product.prodname_enterprise_backup_ut
Use the `--dry-run` flag to preview changes without applying them.
### Scheduling automated backups
#### Scheduling automated backups
Once the service is configured, you can define a backup schedule.
@@ -134,3 +134,27 @@ Once the service is configured, you can define a backup schedule.
1. Click **Save** to apply the changes.
The first run will be a full backup. Future runs will be incremental. If a new backup attempt starts while a previous one is still running, it may be skipped or fail. In that case, adjust the schedule to avoid overlap.
{% ifversion ghes > 3.19 %}
### Configuring backups from a replica node
For high availability, you can designate a replica node as your backup server. To minimize latency, {% data variables.product.github %} recommends picking a replica node in the same region or datacenter as your primary node.
> [!IMPORTANT]
> Backups from cache replica nodes or active geo replica nodes are not supported.
To configure your backup server, run the following commands, replacing `HOSTNAME` with the hostname of the node:
```shell
ghe-config cluster.HOSTNAME.backup-server true
ghe-config-apply
```
You can now run `ghe-backup` directly on your replica node.
> [!WARNING]
> Due to the latency between primary and replica nodes, you may lose data when backing up from a replica node.
{% endif %}

View File

@@ -0,0 +1,14 @@
---
title: Best practices for enterprises
shortTitle: Best practices
intro: 'Follow best practices to set up your enterprise''s teams for success.'
versions:
ghes: '*'
ghec: '*'
topics:
- Enterprise
children:
- /organize-work
- /use-innersource
contentType: concepts
---

View File

@@ -1,6 +1,6 @@
---
title: Best practices for organizing work in your enterprise
shortTitle: Best practices
shortTitle: Organize work
intro: Promote collaboration and manage resources at scale by following {% data variables.product.company_short %}-recommended practices for managing organizations and teams.
versions:
ghec: '*'
@@ -15,11 +15,18 @@ redirect_from:
- /admin/user-management/managing-organizations-in-your-enterprise/best-practices-for-structuring-organizations-in-your-enterprise
- /admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/best-practices-for-structuring-organizations-in-your-enterprise
- /admin/concepts/best-practices-for-enterprises
- /admin/concepts/best-practices
allowTitleToDifferFromFilename: true
---
{% data reusables.enterprise-onboarding.best-practices %}
## Use innersource practices
Innersource makes it easy for all employees to discover and reuse work. This allows development teams to learn from each other and avoid duplicating effort to recreate common services.
For guidance on setting up effective innersource practices, see [AUTOTITLE](/admin/concepts/enterprise-best-practices/use-innersource).
{% ifversion ghec %}
## Next steps

View File

@@ -0,0 +1,16 @@
---
title: Using innersource in your enterprise
shortTitle: Use innersource
intro: Help dispersed teams to collaborate by setting up open sourcestyle workflows in your enterprise, without compromising on security.
versions:
ghec: '*'
ghes: '*'
contentType: concepts
topics:
- Accounts
- Enterprise
- Fundamentals
allowTitleToDifferFromFilename: true
---
{% data reusables.enterprise-onboarding.use-innersource %}

View File

@@ -11,7 +11,7 @@ children:
- /enterprise-fundamentals
- /identity-and-access-management
- /security-and-compliance
- /best-practices
- /enterprise-best-practices
contentType: concepts
---

View File

@@ -38,6 +38,10 @@ You can enable alerts for budgets to receive emails when usage reaches 75%, 90%,
When you first create a budget, be aware that the budget applies only to metered usage from the date of its creation onwards. Any use made before you created the budget is not included in the calculations. This means that you may exceed your budget in the first billing cycle after you create your budget, even if you select the option stop usage when the limit is reached.
## Budget limitations
* The maximum number of budgets per account is 10,000.
## Set up a budget
To get started with budgets, see [AUTOTITLE](/billing/tutorials/set-up-budgets).

View File

@@ -32,7 +32,7 @@ For more details, see [AUTOTITLE](/billing/reference/cost-center-allocation).
## Cost center limitations
* The maximum number of active cost centers per enterprise is 250.
* The maximum number of resources per cost center is 10,000.
* The maximum number of resources per cost center is 25,000.
* A maximum of 50 resources can be added to or removed from a cost center at a time.
* Azure subscriptions can only be added to or removed from cost centers through the UI.
* Outside collaborators can only be added to cost centers via the cost center API. For more information, see [AUTOTITLE](/billing/tutorials/control-costs-at-scale#add-resources-to-the-cost-center).

View File

@@ -20,4 +20,3 @@ children:
- /third-party-payments
contentType: concepts
---

View File

@@ -51,7 +51,10 @@ contentType: concepts
## How use of {% data variables.large_files.product_name_short %} is measured
Each {% data variables.product.github %} account receives a quota of free bandwidth and storage for {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}). Any usage beyond the included amounts is billed to your account. Bandwidth resets every month, while storage usage does not.
Each {% data variables.product.github %} account receives a quota of free bandwidth and storage for {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}). Any usage beyond the included amounts is billed to your account.
* **Bandwidth:** Your free quota resets at the start of each billing cycle.
* **Storage:** Charges accrue continuously throughout the month based on hourly usage. Your accrued storage total resets to zero at the begining of each billing cycle.
Working in a public or private repository with {% data variables.large_files.product_name_short %}:
@@ -86,7 +89,7 @@ The following amounts of storage and bandwidth for downloads are included in you
| {% data variables.product.prodname_pro %} | {% data variables.large_files.included_bandwidth_free_pro %} | {% data variables.large_files.included_storage_free_pro %} |
| {% data variables.product.prodname_free_team %} for organizations | {% data variables.large_files.included_bandwidth_free_pro %} | {% data variables.large_files.included_storage_free_pro %} |
| {% data variables.product.prodname_team %} | {% data variables.large_files.included_bandwidth_team_enterprise %} | {% data variables.large_files.included_storage_team_enterprise %} |
| {% data variables.product.prodname_ghe_cloud %} | {% data variables.large_files.included_bandwidth_team_enterprise %} | {% data variables.large_files.included_storage_team_enterprise %} |
|{% data variables.product.prodname_ghe_cloud %} | {% data variables.large_files.included_bandwidth_team_enterprise %} | {% data variables.large_files.included_storage_team_enterprise %} |
## Using more than your included quota

View File

@@ -27,11 +27,56 @@ contentType: concepts
{% data variables.product.prodname_actions %} usage is **free** for **self-hosted runners** and for **public repositories** that use standard {% data variables.product.github %}-hosted runners. See [AUTOTITLE](/actions/writing-workflows/choosing-where-your-workflow-runs/choosing-the-runner-for-a-job#standard-github-hosted-runners-for-public-repositories).
For **private repositories**, each {% data variables.product.github %} account receives a quota of free minutes, artifact storage, and cache storage for use with {% data variables.product.github %}-hosted runners, depending on the account's plan. Any usage beyond the included amounts is billed to your account. Minutes reset every month, while artifact and cache storage usage do not.
For **private repositories**, each {% data variables.product.github %} account receives a quota of free minutes, artifact storage, and cache storage for use with {% data variables.product.github %}-hosted runners, depending on the account's plan. Any usage beyond the included amounts is billed to your account.
* **Minutes:** Your free minutes reset to the full amount at the start of each billing cycle. Minutes usage is charged to the repository owner, not the person who triggered the workflow runs.
* **Storage:** Storage charges accumulate throughout the month based on hourly usage. Your accrued storage charges reset to zero at the start of each billing cycle.
> [!TIP]
> Anyone with write access to a repository can run actions without using minutes for their personal account.
## How storage billing works
{% data variables.product.prodname_actions %} storage billing operates on an **hourly accrual model**:
* **Continuous billing:** Storage charges accrue every hour based on your actual usage throughout the month
* **Monthly total:** Your bill reflects the total storage used throughout the month, measured in GB-Hours
* **Included amount:** The free storage allowance for your plan (for example, 50 GB on the Enterprise plan) is converted to an hourly rate for billing calculations
* **Shared storage:** Actions artifacts, Actions caches, and {% data variables.product.prodname_registry %} storage all share the same pooled allowance. For more information, see [AUTOTITLE](/billing/concepts/product-billing/github-packages).
### Understanding current vs. accrued storage
It's important to understand the difference between what you see on {% data variables.product.github %} and what appears on your bill:
* **Current storage:** The amount of storage you have right now (visible in repository settings and the **Billing Overview** page)
* **Accrued storage:** The cumulative total of storage used throughout the billing cycle (determines your bill)
**When you delete artifacts:**
* Current storage decreases immediately
* Future hourly charges stop accumulating
* Storage already accrued during the current billing cycle remains in your total and will appear on your bill
**Example (30-day billing cycle):** If you store 10 GB of artifacts for 10 days, then delete everything on day 11:
* Days 1-10: Accruing 240 GB-Hours per day (10 GB × 24 hours)
* Day 11: Delete artifacts → current storage drops to 0 GB
* Days 11-30: Accruing 0 GB-Hours (no storage)
* Your bill: Shows 2,400 GB-Hours total (10 days × 240 GB-Hours/day)
Deleting artifacts reduces your current storage and prevents future charges, but does not remove charges already recorded for the time the storage existed.
### Storage measurement units
{% data variables.product.prodname_actions %} measures storage in **binary gigabytes (GB)**, where:
* 1 GB = 2^30 bytes = 1,073,741,824 bytes
* This is also known as a gibibyte (GiB)
* 1 GB = 1,024 megabytes (MB)
**Billing calculations use GB-Hours:**
* 1 GB-Hour = 1 GB of storage for 1 hour
* Example: Storing 3 GB for 10 days = 720 GB-Hours (3 GB × 10 days × 24 hours)
Your monthly bill converts GB-Hours to GB-Months by dividing by the hours in the month (usually 720 hours for a 30-day month).
### Examples of how usage is measured
* If you run a workflow on a standard Linux runner and it takes 10 minutes to complete, you'll use 10 minutes of the repository owner's allowance. If the workflow generates a 10 MB artifact, then you'll also use 10 MB of the repository owner's artifact storage allowance.
@@ -47,7 +92,8 @@ The following amounts of time for standard runners, artifact storage, and cache
{% data reusables.billing.actions-included-quotas %}
> [!NOTE]
> Included minutes cannot be used for larger runners. These runners will always be charged for, even when used by public repositories.
> * Included minutes cannot be used for larger runners. These runners will always be charged for, even when used by public repositories.
> * The storage amounts shown are **shared** with {% data variables.product.prodname_registry %}. This means your total storage across Actions artifacts, Actions caches, and Packages cannot exceed the included amount for your plan.
The use of standard {% data variables.product.github %}-hosted runners is free:

View File

@@ -25,7 +25,10 @@ contentType: concepts
{% data variables.product.prodname_registry %} usage is **free** for **public packages**. In addition, data transferred in from any source is free.
For **private** repositories, each {% data variables.product.github %} account receives a quota of storage and data transfer for use with {% data variables.product.prodname_registry %}, depending on the account's plan. Any usage beyond the included amounts is billed to your account. Data transfer resets every month, while storage usage does not.
For **private** repositories, each {% data variables.product.github %} account receives a quota of storage and data transfer for use with {% data variables.product.prodname_registry %}, depending on the account's plan. Any usage beyond the included amounts is billed to your account.
* **Data transfer** Your free quota resets at the start of each billing cycle.
* **Storage:** Charges accrue continuously throughout the month based on your hourly usage. At the start of each billing cycle, your accrued storage total resets to zero and begins accumulating again.
Working in a private repository with packages:
@@ -57,8 +60,10 @@ Plan | Storage | Data transfer (per month)
{% endrowheaders %}
The storage amounts shown are **shared** with {% data variables.product.prodname_actions %}. This means your total storage across Packages, Actions artifacts, and Actions caches cannot exceed the included amount for your plan.
> [!NOTE]
> **Billing for container image storage:** Container image storage and bandwidth for the {% data variables.product.prodname_container_registry %} is currently free. If you use {% data variables.product.prodname_container_registry %}, you'll be informed at least one month in advance of any change to this policy. For more information about the {% data variables.product.prodname_container_registry %}, see [AUTOTITLE](/packages/working-with-a-github-packages-registry/working-with-the-container-registry).
> * **Billing for container image storage:** Container image storage and bandwidth for the {% data variables.product.prodname_container_registry %} is currently free. If you use {% data variables.product.prodname_container_registry %}, you'll be informed at least one month in advance of any change to this policy. For more information about the {% data variables.product.prodname_container_registry %}, see [AUTOTITLE](/packages/working-with-a-github-packages-registry/working-with-the-container-registry).
### Package downloads by {% data variables.product.prodname_actions %}

View File

@@ -0,0 +1,72 @@
---
title: Billing manager onboarding
shortTitle: Billing manager onboard
intro: 'A quick overview of your role and how you can work with organization and enterprise owners to control and track costs in {% data variables.product.github %}.'
versions:
fpt: '*'
ghec: '*'
topics:
- Billing
- Enterprise
- Organizations
contentType: get-started
audience:
- driver
---
<!--
Task: Understand my role and options available in GitHub for controlling costs, so I have enough context to make decisions. -->
## Introduction to the billing manager role
Organization and enterprise owners can share the work of managing budgets and reporting on costs by inviting members to become billing managers. See [AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization).
When you accept an invitation or a notification to become a billing manager, you gain access to the billing and licensing pages for an organization or enterprise account. From these pages you can view usage, set budgets to control costs, and download reports on how budgets were spent.
This article will guide you through the essential concepts and tasks you should focus on as a new billing manager, presented in a logical order to help you get oriented and become effective in your role.
## 1. Understand how {% data variables.product.github %} charges for use
First, you need to understand how billing works on {% data variables.product.github %} and familiarize yourself with your organization's current costs and payment structure.
* Read about billing concepts to understand the terminology, what you pay for, and when. See [AUTOTITLE](/billing/get-started/how-billing-works).
* Get an overview of the billing functionality and discover how to access billing information. See [AUTOTITLE](/billing/get-started/introduction-to-billing).
* Explore your current usage and discover what your organization or enterprise is paying for and which features drive costs. See [AUTOTITLE](/billing/how-tos/products/view-productlicense-use).
## 2. Monitor usage and spending
Now that you understand the basics, you can start monitoring usage and tracking spending to identify trends and potential issues.
* Use billing reports to track monthly spending, identify trends, and spot anomalies that could signal unexpected usage or costs. See [AUTOTITLE](/billing/how-tos/manage-plan-and-licenses/view-enterprise-usage) and [AUTOTITLE](/billing/how-tos/manage-plan-and-licenses/manage-user-licenses).
* Share billing reports and budget status with organization owners, enterprise owners, or your finance team, to keep everyone aware of usage patterns and cost drivers.
## 3. Control costs by setting budgets and alerts
With insight into your spending patterns, you can take proactive steps to manage costs and prevent budget overruns.
* Learn how budgets and alerts allow you to track and control spending. See [AUTOTITLE](/billing/concepts/budgets-and-alerts).
* Set up budgets and alerts to proactively address potential overspending before it becomes a problem. See [AUTOTITLE](/billing/tutorials/set-up-budgets).
* Adjust budgets and thresholds as your organization grows or usage patterns change.
## 4. Attribute costs (enterprise only)
If you manage an enterprise account, you can use cost centers to organize and track spending across different teams and business units.
* Organize spend with cost centers to help you see which teams, projects, or business units are responsible for portions of your {% data variables.product.github %} bill. See [AUTOTITLE](/billing/tutorials/use-cost-centers).
* Attribute parts of the bill to specific teams to increase visibility and accountability.
* Compare groups and identify opportunities for optimization.
## 5. Collaborate and communicate
As a billing manager, you'll need to work closely with other stakeholders to share insights and support informed decision-making about costs.
* Report status and recommendations to finance, technical leads, and decision makers.
* Use the data and alerts from {% data variables.product.github %} to inform budget discussions, contract negotiations, and investment in new features.
* Ensure smooth onboarding for new billing managers by sharing helpful resources.
## Next steps
Now that you understand how billing works on {% data variables.product.github %}, you can look at tutorials to learn how to perform specific tasks.
* To estimate your spending and make informed decisions towards optimal budgeting, see [AUTOTITLE](/billing/tutorials/estimate-spending).
* To find which teams or members drive most of your usage and who's using what, see [AUTOTITLE](/billing/tutorials/gather-insights).

View File

@@ -17,6 +17,6 @@ topics:
children:
- /how-billing-works
- /introduction-to-billing
- /billing-manager-onboard
contentType: get-started
---

View File

@@ -40,9 +40,9 @@ After you purchase or upgrade a license for {% data variables.product.prodname_e
There are two possible ways to download a license file for {% data variables.product.prodname_ghe_server %}.
1. If you are using a trial of {% data variables.product.prodname_ghe_server %}, if you do not have an enterprise account on {% data variables.product.prodname_ghe_cloud %}, or if you are not sure, you may be able to download your license file from the [{% data variables.product.prodname_enterprise %} website](https://enterprise.github.com/download).
1. If you are using a trial of {% data variables.product.prodname_ghe_server %}, if you do not have an enterprise account on {% data variables.product.prodname_ghe_cloud %}, if you have {% data variables.enterprise.data_residency_site %} with volume license billing, or if you are not sure, you may be able to download your license file from the [{% data variables.product.prodname_enterprise %} website](https://enterprise.github.com/download).
1. If you are an existing {% data variables.product.prodname_enterprise %} customer with an enterprise account on {% data variables.product.prodname_ghe_cloud %}, you can download your license file from {% data variables.product.prodname_dotcom_the_website %} or {% data variables.enterprise.data_residency_site %} using the following instructions.
1. If you are an existing {% data variables.product.prodname_enterprise %} customer with an enterprise account on {% data variables.product.prodname_ghe_cloud %}, or if you have {% data variables.enterprise.data_residency_site %} with metered license billing, you can download your license file from {% data variables.product.prodname_dotcom_the_website %} or {% data variables.enterprise.data_residency_site %} using the following instructions.
If you have any questions about downloading your license, contact {% data variables.contact.contact_enterprise_sales %}. For more information about enterprise accounts, see [AUTOTITLE](/enterprise-cloud@latest/admin/overview/about-enterprise-accounts){% ifversion ghes %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% elsif ghec %}.{% endif %}

View File

@@ -27,11 +27,12 @@ You need to use different endpoints to gather data depending on your account typ
| Account | Report | Access | Endpoint | More information |
|---------|--------|--------|----------|------------------|
| Users | Usage data for all paid products | Account holder | `/users/{username}/settings/billing/usage` | [AUTOTITLE](/rest/billing/enhanced-billing?apiVersion=2022-11-28#get-billing-usage-report-for-a-user) |
| Organizations | Premium request consumption, with details of quota and billed usage | Organization owners and billing managers | `/organizations/{org}/settings/billing/premium_request/usage` | [AUTOTITLE](/rest/billing/enhanced-billing?apiVersion=2022-11-28#get-billing-premium-request-usage-report-for-an-organization) |
| Organizations | Usage data for all paid products | Organization owners and billing managers | `/organizations/{org}/settings/billing/usage` | [AUTOTITLE](/rest/billing/enhanced-billing?apiVersion=2022-11-28#get-billing-usage-report-for-an-organization) |
| Enterprises | Premium request consumption, with details of quota and billed usage | Enterprise owners and billing managers | `/enterprises/{enterprise}/settings/billing/premium_request/usage` | [AUTOTITLE](/rest/enterprise-admin/billing?apiVersion=2022-11-28#get-billing-premium-request-usage-report-for-an-enterprise) |
| Enterprises | Usage data for all paid products | Enterprise owners and billing managers | `/enterprises/{enterprise}/settings/billing/usage` | [AUTOTITLE](/rest/enterprise-admin/billing?apiVersion=2022-11-28#get-billing-usage-report-for-an-enterprise) |
| Users | Premium request consumption, with details of quota and billed usage | Account holder | `/users/{username}/settings/billing/premium_request/usage` | [AUTOTITLE](/rest/billing/usage?apiVersion=2022-11-28#get-billing-premium-request-usage-report-for-a-user) |
| Users | Usage data for all paid products | Account holder | `/users/{username}/settings/billing/usage/summary` | [AUTOTITLE](/rest/billing/usage?apiVersion=2022-11-28#get-billing-usage-summary-for-a-user) |
| Organizations | Premium request consumption, with details of quota and billed usage | Organization owners and billing managers | `/organizations/{org}/settings/billing/premium_request/usage` | [AUTOTITLE](/rest/billing/usage?apiVersion=2022-11-28#get-billing-premium-request-usage-report-for-an-organization) |
| Organizations | Usage data for all paid products | Organization owners and billing managers | `/organizations/{org}/settings/billing/usage/summary` | [AUTOTITLE](/rest/billing/usage?apiVersion=2022-11-28#get-billing-usage-summary-for-an-organization) |
| Enterprises | Premium request consumption, with details of quota and billed usage | Enterprise owners and billing managers | `/enterprises/{enterprise}/settings/billing/premium_request/usage` | [AUTOTITLE](/rest/billing/usage?apiVersion=2022-11-28#get-billing-premium-request-usage-report-for-an-enterprise) |
| Enterprises | Usage data for all paid products | Enterprise owners and billing managers | `/enterprises/{enterprise}/settings/billing/usage/summary` | [AUTOTITLE](/rest/billing/usage?apiVersion=2022-11-28#get-billing-usage-summary-for-an-enterprise) |
{% endrowheaders %}

View File

@@ -1,6 +1,7 @@
---
title: CodeQL detection of code quality problems
shortTitle: CodeQL detection
title: CodeQL-powered analysis for Code Quality
shortTitle: CodeQL analysis
allowTitleToDifferFromFilename: true
intro: 'Information on how CodeQL-powered analysis for {% data variables.product.prodname_code_quality_short %} works, the workflow used, and the status checks reported on pull requests.'
versions:
feature: code-quality
@@ -11,11 +12,30 @@ contentType: reference
{% data reusables.code-quality.code-quality-preview-note %}
## {% data variables.product.prodname_codeql %} detection
## {% data variables.product.prodname_codeql %}-powered analysis
{% data variables.product.prodname_code_quality_short %} performs rule-based analysis of pull requests and your default branch using {% data variables.product.prodname_codeql %}. Each rule is written as a query in {% data variables.product.prodname_codeql %} and then run using {% data variables.product.prodname_actions %}.
{% data variables.product.prodname_code_quality_short %} uses {% data variables.product.prodname_codeql %} to perform rule-based analysis of pull requests and your default branch.
The rules are continually refined by both {% data variables.product.github %} and open source developers. See [https://github.com/github/codeql](https://github.com/github/codeql).
* Findings for your **default branch** appear under the "{% data variables.code-quality.all_findings %}" dashboard under your repository's Security tab.
* Findings **on pull requests** appear as comments made by `{% data variables.code-quality.pr_commenter %}`.
{% data variables.copilot.copilot_autofix_short %} suggestions are provided for findings where possible.
### Query lists for supported languages
Each {% data variables.product.prodname_code_quality_short %} rule is written as a query in {% data variables.product.prodname_codeql %} and then run using {% data variables.product.prodname_actions %}.
The rules are continually refined by both {% data variables.product.github %} and open source developers.
* [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/csharp-queries)
* [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/go-queries)
* [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/java-queries)
* [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/javascript-queries)
* [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/python-queries)
* [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/ruby-queries)
For more information about the {% data variables.product.prodname_codeql %} project, see [https://codeql.github.com/](https://codeql.github.com/).
## Workflow used for code quality analysis

View File

@@ -0,0 +1,20 @@
---
title: C# CodeQL queries for Code Quality
shortTitle: C# queries
allowTitleToDifferFromFilename: true
intro: 'Explore the queries that {% data variables.product.prodname_codeql %} uses to analyze code quality for code written in C#.'
versions:
feature: code-quality
topics:
- Code Quality
contentType: reference
---
{% data variables.product.prodname_code_quality_short %} uses the following {% data variables.product.prodname_codeql %} queries to analyze C# code and detect code quality issues on:
* Your **default branch**, with results shown on the repository's "{% data variables.code-quality.all_findings %}" dashboard
* **Pull requests**, with findings shown as comments made by `{% data variables.code-quality.pr_commenter %}`
{% data variables.copilot.copilot_autofix_short %} suggestions are provided for findings where possible.
{% data reusables.code-quality.codeql-query-tables.csharp %}

View File

@@ -0,0 +1,19 @@
---
title: Go CodeQL queries for Code Quality
shortTitle: Go queries
intro: 'Explore the queries that {% data variables.product.prodname_codeql %} uses to analyze code quality for code written in Go.'
versions:
feature: code-quality
topics:
- Code Quality
contentType: reference
---
{% data variables.product.prodname_code_quality_short %} uses the following {% data variables.product.prodname_codeql %} queries to analyze Go code and detect code quality issues on:
* Your **default branch**, with results shown on the repository's "{% data variables.code-quality.all_findings %}" dashboard
* **Pull requests**, with findings shown as comments made by `{% data variables.code-quality.pr_commenter %}`
{% data variables.copilot.copilot_autofix_short %} suggestions are provided for findings where possible.
{% data reusables.code-quality.codeql-query-tables.go %}

View File

@@ -0,0 +1,17 @@
---
title: Queries for CodeQL detection
shortTitle: CodeQL queries
intro: 'Explore the {% data variables.product.prodname_codeql %} queries that {% data variables.product.prodname_code_quality_short %} uses to detect code quality issues in supported languages.'
versions:
feature: code-quality
topics:
- Code Quality
contentType: reference
children:
- csharp-queries
- go-queries
- java-queries
- javascript-queries
- python-queries
- ruby-queries
---

View File

@@ -0,0 +1,20 @@
---
title: Java CodeQL queries for Code Quality
shortTitle: Java queries
allowTitleToDifferFromFilename: true
intro: 'Explore the queries that {% data variables.product.prodname_codeql %} uses to analyze code quality for code written in Java.'
versions:
feature: code-quality
topics:
- Code Quality
contentType: reference
---
{% data variables.product.prodname_code_quality_short %} uses the following {% data variables.product.prodname_codeql %} queries to analyze Java code and detect code quality issues on:
* Your **default branch**, with results shown on the repository's "{% data variables.code-quality.all_findings %}" dashboard
* **Pull requests**, with findings shown as comments made by `{% data variables.code-quality.pr_commenter %}`
{% data variables.copilot.copilot_autofix_short %} suggestions are provided for findings where possible.
{% data reusables.code-quality.codeql-query-tables.java %}

View File

@@ -0,0 +1,20 @@
---
title: JavaScript CodeQL queries for Code Quality
shortTitle: JavaScript queries
allowTitleToDifferFromFilename: true
intro: 'Explore the queries that {% data variables.product.prodname_codeql %} uses to analyze code quality for code written in JavaScript.'
versions:
feature: code-quality
topics:
- Code Quality
contentType: reference
---
{% data variables.product.prodname_code_quality_short %} uses the following {% data variables.product.prodname_codeql %} queries to analyze JavaScript code and detect code quality issues on:
* Your **default branch**, with results shown on the repository's "{% data variables.code-quality.all_findings %}" dashboard
* **Pull requests**, with findings shown as comments made by `{% data variables.code-quality.pr_commenter %}`
{% data variables.copilot.copilot_autofix_short %} suggestions are provided for findings where possible.
{% data reusables.code-quality.codeql-query-tables.javascript %}

View File

@@ -0,0 +1,20 @@
---
title: Python CodeQL queries for Code Quality
shortTitle: Python queries
allowTitleToDifferFromFilename: true
intro: 'Explore the queries that {% data variables.product.prodname_codeql %} uses to analyze code quality for code written in Python.'
versions:
feature: code-quality
topics:
- Code Quality
contentType: reference
---
{% data variables.product.prodname_code_quality_short %} uses the following {% data variables.product.prodname_codeql %} queries to analyze Python code and detect code quality issues on:
* Your **default branch**, with results shown on the repository's "{% data variables.code-quality.all_findings %}" dashboard
* **Pull requests**, with findings shown as comments made by `{% data variables.code-quality.pr_commenter %}`
{% data variables.copilot.copilot_autofix_short %} suggestions are provided for findings where possible.
{% data reusables.code-quality.codeql-query-tables.python %}

View File

@@ -0,0 +1,20 @@
---
title: Ruby CodeQL queries for Code Quality
shortTitle: Ruby queries
allowTitleToDifferFromFilename: true
intro: 'Explore the queries that {% data variables.product.prodname_codeql %} uses to analyze code quality for code written in Ruby.'
versions:
feature: code-quality
topics:
- Code Quality
contentType: reference
---
{% data variables.product.prodname_code_quality_short %} uses the following {% data variables.product.prodname_codeql %} queries to analyze Ruby code and detect code quality issues on:
* Your **default branch**, with results shown on the repository's "{% data variables.code-quality.all_findings %}" dashboard
* **Pull requests**, with findings shown as comments made by `{% data variables.code-quality.pr_commenter %}`
{% data variables.copilot.copilot_autofix_short %} suggestions are provided for findings where possible.
{% data reusables.code-quality.codeql-query-tables.ruby %}

View File

@@ -10,4 +10,5 @@ contentType: reference
children:
- metrics-and-ratings
- codeql-detection
- codeql-queries
---

View File

@@ -65,6 +65,13 @@ corresponding output instead of comparing. If --both is given, that
output is taken from `file1`. Defaults to 'nodes,edges,subpaths' to
simplify handling of path-problem results.
#### `--result-sets=<name1>,<name2>`
Compare only the specified result sets. The format is
\<name1>,\<name2> where \<name1> is the result set name in `file1`
and \<name2> is the result set name in `file2`. The two result sets
must be compatible. The option can be repeated.
#### `--[no-]compare-internal-ids`
\[Advanced] Include internal entity IDs in the comparison. Entity IDs

View File

@@ -328,9 +328,7 @@ thread).
#### `--[no-]save-cache`
\[Advanced] Aggressively write intermediate results to the disk cache.
This takes more time and uses (much) more disk space, but may speed up
the subsequent execution of similar queries.
\[Deprecated] \[Advanced] This flag does nothing.
#### `--[no-]expect-discarded-cache`

View File

@@ -170,9 +170,7 @@ thread).
#### `--[no-]save-cache`
\[Advanced] Aggressively write intermediate results to the disk cache.
This takes more time and uses (much) more disk space, but may speed up
the subsequent execution of similar queries.
\[Deprecated] \[Advanced] This flag does nothing.
#### `--[no-]expect-discarded-cache`

View File

@@ -129,9 +129,7 @@ thread).
#### `--[no-]save-cache`
\[Advanced] Aggressively write intermediate results to the disk cache.
This takes more time and uses (much) more disk space, but may speed up
the subsequent execution of similar queries.
\[Deprecated] \[Advanced] This flag does nothing.
#### `--[no-]expect-discarded-cache`

View File

@@ -125,9 +125,7 @@ thread).
#### `--[no-]save-cache`
\[Advanced] Aggressively write intermediate results to the disk cache.
This takes more time and uses (much) more disk space, but may speed up
the subsequent execution of similar queries.
\[Deprecated] \[Advanced] This flag does nothing.
#### `--[no-]expect-discarded-cache`

View File

@@ -153,9 +153,7 @@ thread).
#### `--[no-]save-cache`
\[Advanced] Aggressively write intermediate results to the disk cache.
This takes more time and uses (much) more disk space, but may speed up
the subsequent execution of similar queries.
\[Deprecated] \[Advanced] This flag does nothing.
#### `--[no-]expect-discarded-cache`

View File

@@ -78,9 +78,7 @@ thread).
#### `--[no-]save-cache`
\[Advanced] Aggressively write intermediate results to the disk cache.
This takes more time and uses (much) more disk space, but may speed up
the subsequent execution of similar queries.
\[Deprecated] \[Advanced] This flag does nothing.
#### `--[no-]expect-discarded-cache`

View File

@@ -128,9 +128,7 @@ thread).
#### `--[no-]save-cache`
\[Advanced] Aggressively write intermediate results to the disk cache.
This takes more time and uses (much) more disk space, but may speed up
the subsequent execution of similar queries.
\[Deprecated] \[Advanced] This flag does nothing.
#### `--[no-]expect-discarded-cache`

View File

@@ -108,9 +108,7 @@ thread).
#### `--[no-]save-cache`
\[Advanced] Aggressively write intermediate results to the disk cache.
This takes more time and uses (much) more disk space, but may speed up
the subsequent execution of similar queries.
\[Deprecated] \[Advanced] This flag does nothing.
#### `--[no-]expect-discarded-cache`

View File

@@ -223,9 +223,15 @@ The table below shows the package managers for which SemVer is supported.
| Gradle | {% octicon "check" aria-label="Supported" %} |
| Helm | {% octicon "x" aria-label="Not supported" %} |
| Hex (Hex) | {% octicon "check" aria-label="Supported" %} |
| {% ifversion dependabot-julia-support %} |
| Julia | {% octicon "check" aria-label="Supported" %} |
| {% endif %} |
| Maven | {% octicon "check" aria-label="Supported" %} |
| NPM and Yarn | {% octicon "check" aria-label="Supported" %} |
| NuGet | {% octicon "check" aria-label="Supported" %} |
| {% ifversion dependabot-opentofu-support %} |
| OpenTofu | {% octicon "check" aria-label="Supported" %} |
| {% endif %} |
| Pip | {% octicon "check" aria-label="Supported" %} |
| Pub | {% octicon "check" aria-label="Supported" %} |
| Swift | {% octicon "check" aria-label="Supported" %} |
@@ -502,6 +508,9 @@ Package manager | YAML value | Supported versions |
| Helm Charts | `helm` | v3 |
| {% endif %} |
| Hex | `mix` | v1 |
| {% ifversion dependabot-julia-support %} |
| Julia | `julia` | >=v1.10 |
| {% endif %} |
| elm-package | `elm` | v0.19 |
| git submodule | `gitsubmodule` | Not applicable |
| {% data variables.product.prodname_actions %} | `github-actions` | Not applicable |
@@ -510,6 +519,9 @@ Package manager | YAML value | Supported versions |
| Maven | `maven` | Not applicable |
| npm | `npm` | v7, v8, v9, v10 |
| NuGet | `nuget` | {% ifversion fpt or ghec or ghes > 3.14 %}<=6.12.0{% endif %} |
| {% ifversion dependabot-opentofu-support %} |
| OpenTofu | `opentofu` | Not applicable |
| {% endif %} |
| pip| `pip` | v24.2 |
| pip-compile | `pip` | 7.4.1 |
| pipenv | `pip` | <= 2024.4.1 |

View File

@@ -45,7 +45,7 @@ While working on a coding task, {% data variables.copilot.copilot_coding_agent %
You can also create {% data variables.copilot.custom_agents_short %} to tailor {% data variables.product.prodname_copilot_short %}'s behavior for specific workflows, coding conventions, or specialized tasks. {% data variables.copilot.custom_agents_caps_short %} allow you to define multiple specialized versions of the coding agent—such as a frontend reviewer, test generator, or security auditor—each with their own prompts, tools, and capabilities. For more information, see [AUTOTITLE](/copilot/concepts/agents/coding-agent/about-custom-agents).
### Benefits over traditional AI workflows
## Benefits over traditional AI workflows
When used effectively, {% data variables.copilot.copilot_coding_agent %} offers productivity benefits over traditional AI assistants in IDEs:
@@ -53,11 +53,11 @@ When used effectively, {% data variables.copilot.copilot_coding_agent %} offers
* With **{% data variables.copilot.copilot_coding_agent %}**, all coding and iterating happens **on {% data variables.product.github %}** as part of the pull request workflow. You can create multiple {% data variables.copilot.custom_agents_short %} that specialize in different types of tasks. {% data variables.product.prodname_copilot_short %} **automates** branch creation, commit message writing and pushing, PR opening, and PR description writing. Developers let the agents **work in the background** and then steer {% data variables.product.prodname_copilot_short %} to a final solution using PR reviews. Working on {% data variables.product.github %} adds **transparency**, with every step happening in a commit and being viewable in logs, and opens up **collaboration** opportunities for the entire team.
### {% data variables.copilot.copilot_coding_agent %} versus agent mode
## {% data variables.copilot.copilot_coding_agent %} versus agent mode
{% data variables.copilot.copilot_coding_agent %} is distinct from the "agent mode" feature available in your IDE. {% data variables.copilot.copilot_coding_agent %} works autonomously in a {% data variables.product.prodname_actions %}-powered environment to complete development tasks assigned through {% data variables.product.github %} issues or {% data variables.copilot.copilot_chat %} prompts, and creates pull requests with the results. In contrast, agent mode in your IDE makes autonomous edits directly in your local development environment. For more information about agent mode, see [AUTOTITLE](/copilot/using-github-copilot/copilot-chat/asking-github-copilot-questions-in-your-ide).
### Streamlining software development with {% data variables.copilot.copilot_coding_agent %}
## Streamlining software development with {% data variables.copilot.copilot_coding_agent %}
Assigning tasks to {% data variables.copilot.copilot_coding_agent %} can enhance your software development workflow.
@@ -69,11 +69,11 @@ Having {% data variables.copilot.copilot_coding_agent %} as an additional coding
You can create specialized {% data variables.copilot.custom_agents_short %} for different tasks. For example, you might create a {% data variables.copilot.copilot_custom_agent_short %} specialized for frontend development that focuses on React components and styling, a documentation agent that excels at writing and updating technical documentation, or a testing agent that specializes in generating comprehensive unit tests. Each {% data variables.copilot.copilot_custom_agent_short %} can be tailored with specific prompts and tools suited to its particular task.
### Integrating {% data variables.copilot.copilot_coding_agent %} with third-party tools
## Integrating {% data variables.copilot.copilot_coding_agent %} with third-party tools
You can also invoke {% data variables.copilot.copilot_coding_agent %} from external tools, allowing you to assign tasks to {% data variables.product.prodname_copilot_short %}, provide context, and open pull requests without leaving your workflow. See [AUTOTITLE](/copilot/concepts/tools/about-copilot-integrations)
### Making {% data variables.copilot.copilot_coding_agent %} available
## Making {% data variables.copilot.copilot_coding_agent %} available
Before you can assign tasks to {% data variables.copilot.copilot_coding_agent %}, it must be enabled.
@@ -85,6 +85,14 @@ Repository owners can choose to opt out some or all repositories from {% data va
For more information, see [AUTOTITLE](/copilot/concepts/agents/coding-agent/managing-access).
## AI models for {% data variables.copilot.copilot_coding_agent %}
{% data variables.copilot.copilot_pro %} and {% data variables.copilot.copilot_pro_plus %} users can select the model used by {% data variables.copilot.copilot_coding_agent %}. You may find that different models perform better, or provide more useful responses, depending on the type of tasks you give {% data variables.product.prodname_copilot_short %}.
Support for selecting a model is coming soon for {% data variables.copilot.copilot_for_business %} and {% data variables.copilot.copilot_enterprise %} users. Until then, tor these users, {% data variables.copilot.copilot_coding_agent %} will use {% data variables.copilot.copilot_claude_sonnet_45 %}. {% data variables.product.company_short %} reserves the right to change the model used at any time.
For more information, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/changing-the-ai-model).
## {% data variables.copilot.copilot_coding_agent %} usage costs
{% data variables.copilot.copilot_coding_agent %} uses {% data variables.product.prodname_actions %} minutes and {% data variables.product.prodname_copilot_short %} premium requests.
@@ -156,9 +164,6 @@ Users can include hidden messages in issues assigned to {% data variables.copilo
* **{% data variables.copilot.copilot_coding_agent %} does not work in personal repositories owned by {% data variables.enterprise.prodname_managed_users %}**. This is because {% data variables.copilot.copilot_coding_agent %} requires {% data variables.product.company_short %}-hosted runners, which are not available to personal repositories owned by {% data variables.enterprise.prodname_managed_users %}. See [AUTOTITLE](/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners).
* **{% data variables.copilot.copilot_coding_agent %} doesn't account for content exclusions**. Content exclusions allow administrators to configure {% data variables.product.prodname_copilot_short %} to ignore certain files. When using {% data variables.copilot.copilot_coding_agent %}, {% data variables.product.prodname_copilot_short %} will not ignore these files, and will be able to see and update them. See [AUTOTITLE](/copilot/managing-copilot/configuring-and-auditing-content-exclusion/excluding-content-from-github-copilot).
* **{% data variables.copilot.copilot_coding_agent %} only works with repositories hosted on {% data variables.product.github %}**. If your repository is stored using a different code hosting platform, {% data variables.product.prodname_copilot_short %} won't be able to work on it.
* **You cannot select the AI model used by {% data variables.copilot.copilot_coding_agent %}**. A model picker is not available to switch between models, and {% data variables.product.company_short %} reserves the right to change models at any time.
Currently, {% data variables.copilot.copilot_coding_agent %} uses {% data variables.copilot.copilot_claude_sonnet_45 %}.
## Hands-on practice

View File

@@ -2,8 +2,8 @@
title: 'About {% data variables.product.prodname_copilot_short %} auto model selection'
allowTitleToDifferFromFilename: true
shortTitle: 'Auto model selection'
intro: 'Automatically select models for {% data variables.copilot.copilot_chat_short %}.'
product: '{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} is in {% data variables.release-phases.public_preview %} for supported IDEs with all {% data variables.product.prodname_copilot %} plans.'
intro: 'Automatically select models for {% data variables.copilot.copilot_chat_short %} and {% data variables.copilot.copilot_coding_agent %}.'
product: '{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} for {% data variables.copilot.copilot_chat_short %} is available with all {% data variables.product.prodname_copilot %} plans. <br>{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} for {% data variables.copilot.copilot_coding_agent %} is available for {% data variables.copilot.copilot_pro %} and {% data variables.copilot.copilot_pro_plus %} plans.'
topics:
- Copilot
versions:
@@ -17,36 +17,56 @@ category:
Experience less rate limiting and reduce the mental load of choosing a model by letting {% data variables.copilot.copilot_auto_model_selection %} automatically choose the best available model on your behalf.
{% data variables.copilot.copilot_auto_model_selection %} is currently optimized for model availability, choosing from a list of models that may change over time. It currently chooses from {% data variables.copilot.copilot_gpt_41 %}, {% data variables.copilot.copilot_gpt_5_mini %}, {% data variables.copilot.copilot_gpt_51_codex_max %}, {% data variables.copilot.copilot_claude_haiku_45 %}, {% data variables.copilot.copilot_claude_sonnet_45 %}, and {% data variables.copilot.copilot_gemini_3_pro %}, based on your subscription type.
{% data variables.copilot.copilot_auto_model_selection %} is currently optimized for model availability, choosing from a list of models that may change over time.
With {% data variables.copilot.copilot_auto_model_selection %}, you benefit from:
* Reduced chances of rate limiting
* Discounted multipliers for paid plans
* Discounted multipliers for paid plans ({% data variables.copilot.copilot_chat_short %} only)
{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} **won't** include these models:
* Models excluded by administrator policies. See [AUTOTITLE](/copilot/how-tos/use-ai-models/configure-access-to-ai-models).
* Models with premium request multipliers greater than one. See [AUTOTITLE](/copilot/reference/ai-models/supported-models#model-multipliers).
* Models not available in your plan. See [AUTOTITLE](/copilot/reference/ai-models/supported-models#supported-ai-models-per-copilot-plan).
> [!NOTE] Soon {% data variables.copilot.copilot_auto_model_selection %} will choose the best model for you by taking into account both model availability and your task.
> [!TIP] To see which model was used for each response, hover over the response in {% data variables.copilot.copilot_chat_short %}.
{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} is available in the following IDEs:
## {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} in {% data variables.copilot.copilot_chat_short %}
{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} is generally available in the following IDEs:
* {% data variables.product.prodname_vscode_shortname %}
{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} is in public preview for the following IDEs:
* {% data variables.product.prodname_vs %}
* Eclipse
* JetBrains IDEs
* Xcode
{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} **won't** include these models:
* Models excluded by individual or administrator policies. See [AUTOTITLE](/copilot/how-tos/use-ai-models/configure-access-to-ai-models).
* Models with premium request multipliers greater than one. See [AUTOTITLE](/copilot/reference/ai-models/supported-models#model-multipliers).
* Models not available in your plan. See [AUTOTITLE](/copilot/reference/ai-models/supported-models#supported-ai-models-per-copilot-plan).
When you select **Auto** in {% data variables.copilot.copilot_chat_short %}, {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} may choose from the following list of models, subject to your policies and subscription type. Models may change over time.
* {% data variables.copilot.copilot_gpt_41 %}
* {% data variables.copilot.copilot_gpt_5_mini %}
* {% data variables.copilot.copilot_gpt_51_codex_max %}
* {% data variables.copilot.copilot_claude_haiku_45 %}
* {% data variables.copilot.copilot_claude_sonnet_45 %}
## AI models for {% data variables.copilot.copilot_chat_short %}
> [!TIP] To see which model was used for each response, hover over the response in {% data variables.copilot.copilot_chat_short %}.
While {% data variables.copilot.copilot_auto_model_selection_short %} is an option for {% data variables.copilot.copilot_chat_short %}, you can manually choose a different model to override this selection. {% data reusables.copilot.change-the-ai-model %}
## Multiplier discounts
### Multiplier discounts
{% data reusables.copilot.auto-model-multiplier-discount %} See [AUTOTITLE](/copilot/concepts/billing/copilot-requests#model-multipliers).
## Enabling access during {% data variables.release-phases.public_preview %}
### Enabling access during {% data variables.release-phases.public_preview %}
During the {% data variables.release-phases.public_preview %}, if you're using a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plan, the organization or enterprise that provides your plan must have the **Editor preview features** policy enabled. See [AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#enabling-copilot-features-in-your-organization) or [AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise#copilot-in-githubcom).
## {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} in {% data variables.copilot.copilot_coding_agent %}
> [!NOTE] {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} for {% data variables.copilot.copilot_coding_agent %} is generally available and currently only available for {% data variables.copilot.copilot_pro %} and {% data variables.copilot.copilot_pro_plus %} plans.
When you select **Auto** in {% data variables.copilot.copilot_coding_agent %}, {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} currently chooses from the following list of models, subject to your policies and subscription type:
{% data reusables.copilot.copilot-coding-agent-auto-models %}
While {% data variables.copilot.copilot_auto_model_selection_short %} is an option for {% data variables.copilot.copilot_coding_agent %}, you can manually choose a different model to override this selection.
{% data reusables.copilot.change-the-ai-model-copilot-coding-agent %}

View File

@@ -42,7 +42,7 @@ The following {% data variables.product.prodname_copilot_short %} features can u
| [{% data variables.copilot.copilot_chat_short %}](/copilot/using-github-copilot/copilot-chat) | {% data variables.copilot.copilot_chat_short %} uses **one premium request** per user prompt, multiplied by the model's rate. This includes ask, edit, agent, and plan modes in {% data variables.copilot.copilot_chat_short %} in an IDE. | {% data variables.product.prodname_copilot_short %} premium requests |
| [{% data variables.copilot.copilot_cli_short %}](/copilot/concepts/agents/about-copilot-cli) | Each prompt to {% data variables.copilot.copilot_cli_short %} uses **one premium request** with the default model. For other models, this is multiplied by the model's rate. | {% data variables.product.prodname_copilot_short %} premium requests |
| [{% data variables.product.prodname_copilot_short %} code review](/copilot/using-github-copilot/code-review/using-copilot-code-review) | Each time {% data variables.product.prodname_copilot_short %} reviews a pull request (when assigned as a reviewer) or reviews code in your IDE, **one premium request** is consumed. | {% data variables.product.prodname_copilot_short %} premium requests |
| [{% data variables.copilot.copilot_coding_agent %}](/copilot/concepts/about-copilot-coding-agent) | {% data variables.copilot.copilot_coding_agent %} uses **one premium request** per session, plus **one premium request** for each real-time steering comment made during an active session. A session begins when you ask {% data variables.product.prodname_copilot_short %} to create a pull request or make one or more changes to an existing pull request. | {% data variables.copilot.copilot_coding_agent %} premium requests |
| [{% data variables.copilot.copilot_coding_agent %}](/copilot/concepts/about-copilot-coding-agent) | {% data variables.copilot.copilot_coding_agent %} uses **one premium request** per session, multiplied by the model's rate. A session begins when you ask {% data variables.product.prodname_copilot_short %} to create a pull request or make one or more changes to an existing pull request. In addition, each real-time steering comment made during an active session uses **one premium request** per session, multiplied by the model's rate. | {% data variables.copilot.copilot_coding_agent %} premium requests |
| [{% data variables.copilot.copilot_spaces %}](/copilot/using-github-copilot/copilot-spaces/about-organizing-and-sharing-context-with-copilot-spaces) | {% data variables.copilot.copilot_spaces %} uses **one premium request** per user prompt, multiplied by the model's rate. | {% data variables.product.prodname_copilot_short %} premium requests |
| [{% data variables.product.prodname_spark_short %}](/copilot/tutorials/building-ai-app-prototypes) | Each prompt to {% data variables.product.prodname_spark_short %} uses a fixed rate of **four premium requests**. | {% data variables.product.prodname_spark_short %} premium requests |
| [{% data variables.product.prodname_openai_codex %} integration](/copilot/concepts/agents/openai-codex) | While in preview, each prompt to {% data variables.product.prodname_openai_codex %} uses **one premium request** multiplied by the model multiplier rates. | {% data variables.product.prodname_copilot_short %} premium requests |

View File

@@ -376,7 +376,7 @@ You can create your own custom instructions file from scratch. See [Writing your
- For each of bootstrap, build, test, run, lint, and any other scripted step, document the sequence of steps to take to run it successfully as well as the versions of any runtime or build tools used.
- Each command should be validated by running it to ensure that it works correctly as well as any preconditions and postconditions.
- Try cleaning the repo and environment and running commands in different orders and document errors and and misbehavior observed as well as any steps used to mitigate the problem.
- Try cleaning the repo and environment and running commands in different orders and document errors and misbehavior observed as well as any steps used to mitigate the problem.
- Run the tests and document the order of steps required to run the tests.
- Make a change to the codebase. Document any unexpected build issues as well as the workarounds.
- Document environment setup steps that seem optional but that you have validated are actually required.

View File

@@ -38,7 +38,28 @@ Once you've accessed space context from your IDE:
### Prerequisites
To use {% data variables.copilot.copilot_spaces_short %} in your IDE, you need to install the {% data variables.product.github %} MCP server. For setup instructions, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp/use-the-github-mcp-server).
To use {% data variables.copilot.copilot_spaces_short %} in your IDE, you need to:
* Set up the remote {% data variables.product.github %} MCP server for your IDE. For more information, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp/set-up-the-github-mcp-server) and [Remote {% data variables.product.github %} MCP Server](https://github.com/github/github-mcp-server/blob/main/docs/remote-server.md) in the {% data variables.product.github %} MCP server documentation.
* Configure the set up of the remote {% data variables.product.github %} MCP server so that the {% data variables.copilot.copilot_spaces_short %} toolset is enabled.
The {% data variables.copilot.copilot_spaces_short %} toolset is not included in the default configuration, so you must explicitly enable it using the `X-MCP-Toolsets` header. The following example configuration enables both the default tools and {% data variables.copilot.copilot_spaces_short %}:
```json copy
{
"servers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"X-MCP-Toolsets": "default,copilot_spaces"
}
}
}
}
```
Alternatively, you can use the dedicated {% data variables.copilot.copilot_spaces_short %} toolset URL: `https://api.githubcopilot.com/mcp/x/copilot_spaces`. Note that this configuration provides _only_ {% data variables.copilot.copilot_spaces_short %} tools, without other default {% data variables.product.github %} MCP server functionality.
### Accessing space context from your IDE

View File

@@ -40,7 +40,6 @@ You can enable access in two ways:
>[!NOTE]
> * Some models may not be available depending on your plan. See [AUTOTITLE](/copilot/about-github-copilot/plans-for-github-copilot#models).
> * Models available in {% data variables.copilot.copilot_auto_model_selection %} will follow the policies set by users and align to individual plans. See [AUTOTITLE](/copilot/concepts/auto-model-selection).
## Setup for organization and enterprise use

View File

@@ -1,173 +0,0 @@
---
title: Creating a custom model for GitHub Copilot
shortTitle: Create a custom model
intro: 'You can fine-tune {% data variables.product.prodname_copilot_short %} inline suggestions by creating a custom model based on code in your organization''s repositories.'
permissions: 'Owners of organizations enrolled in the {% data variables.release-phases.public_preview %}.'
product: '{% data reusables.copilot.ce-product-callout %}'
versions:
feature: copilot
topics:
- Copilot
redirect_from:
- /copilot/managing-copilot/managing-github-copilot-in-your-organization/customizing-copilot-for-your-organization/creating-a-custom-model-for-github-copilot
- /copilot/managing-copilot/managing-github-copilot-in-your-organization/enhancing-copilot-for-your-organization/creating-a-custom-model-for-github-copilot
- /copilot/customizing-copilot/creating-a-custom-model-for-github-copilot
- /copilot/how-tos/ai-models/creating-a-custom-model-for-github-copilot
- /copilot/how-tos/ai-models/create-a-custom-model
contentType: how-tos
category:
- Configure Copilot
---
> [!NOTE] The current {% data variables.release-phases.public_preview %} of custom models for {% data variables.copilot.copilot_enterprise %} will be discontinued. For now, participants can continue using their custom models, but we are no longer processing new training requests. We encourage participants to use the {% data variables.copilot.copilot_gpt_41 %} {% data variables.product.prodname_copilot_short %} model for inline suggestions. See [AUTOTITLE](/copilot/how-tos/use-ai-models/change-the-completion-model?tool=vscode).
## Prerequisite
The code on which you want to train a custom model must be hosted in repositories owned by your organization on {% data variables.product.github %}.
## Limitations
* For the {% data variables.release-phases.public_preview %}, an enterprise can deploy one custom model in a single organization.
* Inline suggestions based on the custom model are only available to managed users who get a {% data variables.copilot.copilot_enterprise_short %} plan from the organization in which the custom model is deployed. For more information, see [AUTOTITLE](/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users).
* The custom model is not used for code suggested in responses by {% data variables.copilot.copilot_chat %}.
## About {% data variables.product.prodname_copilot_short %} custom models
By default {% data variables.product.prodname_copilot %} uses a large language model that has been trained on a large number of public code repositories, so that it can provide inline suggestions for a wide range of programming languages in many different contexts. You can use this model as the basis for creating a custom large language model that you train specifically on your own code. This process is often known as fine-tuning.
By creating a custom model you enable {% data variables.product.prodname_copilot %} to show you inline suggestions that are:
* Based on code in your own designated repositories.
* Created for proprietary or less publicly represented programming languages.
* Tailored according to your organization's coding style and guidelines.
This provides:
* **Personalization** - {% data variables.product.prodname_copilot_short %} has a detailed knowledge of your codebase, including available modules, functions, and internal libraries. A custom model may be particularly beneficial if your code is not typical of the wide range of code used to train the included model.
* **Efficiency and quality** - {% data variables.product.prodname_copilot_short %} is better equipped to help you write code faster and with fewer errors.
* **Privacy** - The custom models training process, hosting and inferencing are secure and private to your organization. Your data always remains yours, is never used to train another customers model, and your custom model is never shared.
### About model creation
Currently, in the {% data variables.release-phases.public_preview %}, only one organization in an enterprise is permitted to create a custom model.
As an owner of the organization that's permitted to create a custom model, you can choose which of your organization's repositories to use to train the model. You can train the model on one, several, or all of the repositories in the organization. The model is trained on the content of the default branches of the selected repositories. Optionally, you can specify that only code written in certain programming languages should be used for training. The custom model will be used for generating inline suggestions in all file types, irrespective of whether that type of file was used for training.
You can also choose whether telemetry data (such as the prompts entered by users and the suggestions generated by {% data variables.product.prodname_copilot_short %}) should be used when training the model. For more information, see [Telemetry data collection and usage for custom models](#telemetry-data-collection-and-usage-for-custom-models), later in this article.
Once initiated, custom model creation will take many hours to complete. You can check the progress of the training in your organization's settings. When model creation completes - or if it fails to complete - the person who initiated the model training will be notified by email.
If model creation fails, {% data variables.product.prodname_copilot_short %} will continue to use the current model for generating inline suggestions.
### About model usage
As soon as the custom model is successfully created, all managed users in your enterprise who get {% data variables.copilot.copilot_enterprise_short %} access from the organization in which the custom model is deployed will start to see {% data variables.product.prodname_copilot_short %} inline suggestions that are generated using the custom model. The custom model will always be used for any code these users edit, irrespective of where the code resides. Users cannot choose which model is used to generate the inline suggestions they see.
## When you can benefit from a custom model
The value of a custom model is most pronounced in environments with:
* **Proprietary or less publicly represented programming languages**
* **Internal libraries or custom frameworks**
* **Custom standards and company-specific coding practices**
However, even in standardized environments, fine-tuning offers an opportunity to align {% data variables.product.prodname_copilot_short %} inline suggestions more closely with your organization's established coding practices and standards.
## Assess the effectiveness of a custom model
While some coding environments are more likely to benefit from fine-tuning, there is no guaranteed correlation between specific behaviors in a codebase and the quality of the results you get from a custom model. It is advisable to assess the use and satisfaction levels of {% data variables.product.prodname_copilot %} inline suggestions before and after the implementation of a custom model.
* Use the {% data variables.product.prodname_dotcom %} API to assess the usage of {% data variables.product.prodname_copilot %}. See [AUTOTITLE](/rest/copilot/copilot-usage?apiVersion=2022-11-28#get-a-summary-of-copilot-usage-for-an-enterprise-team).
* Survey developers to assess their level of satisfaction with {% data variables.product.prodname_copilot %} inline suggestions.
Comparing results from the API and developer survey, from before and after the implementation of a custom model, will give you an indication of the effectiveness of the custom model.
## Creating a custom model
You can use your organization settings to create a custom large language model.
{% data reusables.profile.access_org %}
{% data reusables.profile.org_settings %}
1. In the left sidebar, click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}** then click **Custom model**.
1. On the "Custom models" page, click **Train a new custom model**.
1. Under "Select repositories," choose either **Selected repositories** or **All repositories**.
1. If you chose **Selected repositories**, select the repositories you want to use for training then click **Apply**.
1. Optionally, if you want to train your model only on code written in certain programming languages, under "Specify languages," start typing the name of a language you want to include. Select the required language from the list that's displayed. Repeat the process for each language you want to include.
1. To improve the performance of your model, select the checkbox labeled **Include data from prompts and suggestions**.
> [!NOTE]
> If the checkbox isn't available to select it indicates that the **Telemetry data collection** policy for custom models has been disabled in your organization's settings. For information on how to change policies for your organization, see [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#enabling-copilot-features-in-your-organization).
By selecting this option you allow {% data variables.product.prodname_copilot_short %} to collect data for prompts that user submitted and the inline suggestions that were generated. Once sufficient data has been collected, {% data variables.product.prodname_copilot_short %} will use this as part of the model training process, allowing it to produce a more effective model.
For more information, see [Telemetry data collection and usage for custom models](#telemetry-data-collection-and-usage-for-custom-models), later in this article.
1. Click **Create new custom model**.
## Checking the progress of model creation
You can check in your organization settings for an indication of how model creation is progressing.
1. Go to your organization's settings for {% data variables.product.prodname_copilot_short %} custom models. See [Creating a custom model](#creating-a-custom-model) above.
1. The first time you train a model, the page that's displayed shows the training results.
If this is not the first training, the current and previous training attempts are listed. To see details of the current training process, click the first ellipsis button (**...**), then click **Training details**.
## Reasons for training failure
Model training may fail for a variety of reasons, including:
* Not enough data or non-representative data. Lack of data provided for training, or too much replication in the data, may make the fine-tuning unstable.
* Non-differentiated data. If the data is not sufficiently different from the public data on which the included model was trained, training may fail or the quality of inline suggestions from the custom model may be only marginally improved.
* A data preprocessing step may encounter unexpected files types and formats which causes it to fail. A solution may be to specify only certain file types for training.
## Retraining or deleting the custom model
As an organization owner, you can update or delete the custom model from your organization's settings page.
Retraining the model updates it to include any new code that has been added to the repositories you selected for training. You can retrain the model once a week.
1. Go to your organization's settings for {% data variables.product.prodname_copilot_short %} custom models. See [Creating a custom model](#creating-a-custom-model) above.
1. On the model training page, click the first ellipsis button (**...**), then click either **Retrain model** or **Delete model**.
If you retrain the model, {% data variables.product.prodname_copilot_short %} will continue to use the current model to generate inline suggestions until the new model is ready. Once the new model is ready, it will be automatically be used for inline suggestions for all managed users who get a {% data variables.copilot.copilot_enterprise_short %} plan from the organization.
If you delete the custom model, {% data variables.product.prodname_copilot_short %} will use the included model for generating inline suggestions for all users who get a {% data variables.product.prodname_copilot_short %} plan from the organization.
## Telemetry data collection and usage for custom models
When you create a custom model, you can choose to allow {% data variables.product.company_short %} to collect telemetry data for the purposes of training the model. This data is used to improve the quality of the inline suggestions the model can generate.
### What telemetry data is collected?
* **Prompts:** This includes all the information sent to the {% data variables.product.prodname_copilot %} language model by the {% data variables.product.prodname_copilot_short %} extension, including context from your open files.
* **Suggestions:** The inline suggestions that {% data variables.product.prodname_copilot_short %} generates.
* **Code snippet:** A snapshot of the code 30 seconds after a suggestion is accepted, capturing how the suggestion was integrated into the codebase. This helps determine whether the suggestion was accepted as is or modified by the user before final integration.
### How is telemetry data used?
Telemetry data is primarily used to fine-tune the {% data variables.product.prodname_copilot_short %} custom model to better understand and predict your organizations coding patterns. Specifically, it helps:
* **Enhance model accuracy:** By analyzing the collected telemetry, {% data variables.product.prodname_copilot_short %} refines your custom model to increase the relevance and accuracy of future coding suggestions.
* **Monitor performance:** Telemetry data allows {% data variables.product.company_short %} to monitor how well custom models are performing compared to the included model, enabling ongoing improvements.
* **Feedback loops:** The data helps {% data variables.product.company_short %} create feedback loops where the model learns from real-world usage, adapting to your specific coding environment over time.
### Data storage and retention
* **Data storage:** All telemetry data collected is stored in the {% data variables.product.prodname_copilot_short %} Data Store, a secure and restricted environment. The data is encrypted and isolated to prevent unauthorized access.
* **Retention period:** Telemetry data is retained for a rolling 28-day period. After this period, the data is automatically deleted from {% data variables.product.company_short %}'s systems, ensuring that only recent and relevant data is used for model training and improvement.
### Privacy and data security
{% data variables.product.company_short %} is committed to ensuring that your organizations data remains private and secure.
* **Exclusive use:** The telemetry data collected from your organization is used exclusively for training your custom model and is never shared with other organizations or used to train other customers models.
* **Data leakage prevention:** {% data variables.product.company_short %} implements strict data isolation protocols to prevent cross-contamination between different organizations data. This means that your proprietary code and information are protected from exposure to other organizations or individuals.
### Important considerations
* **Opt-in for telemetry:** Participation in telemetry data collection is optional and controlled via your organizations admin policies. Telemetry data is only collected when explicitly enabled for training custom models.
* **Potential risks:** Although {% data variables.product.company_short %} takes extensive measures to prevent data leakage, there are scenarios where sensitive data, such as internal links or names, could be included in the telemetry and subsequently used in training. We recommend reviewing and filtering the data you submit for training to minimize these risks.
For more details about our data-handling practices, see the [{% data variables.product.prodname_copilot %} Trust Center](https://copilot.github.trust.page) or review {% data variables.product.company_short %}s [data protection agreement](https://github.com/customer-terms/github-data-protection-agreement).

View File

@@ -10,9 +10,9 @@ children:
- /configure-access-to-ai-models
- /change-the-chat-model
- /change-the-completion-model
- /create-a-custom-model
redirect_from:
- /copilot/using-github-copilot/ai-models
- /copilot/how-tos/ai-models
- /copilot/how-tos/use-ai-models/create-a-custom-model
contentType: how-tos
---

View File

@@ -0,0 +1,37 @@
---
title: Changing the AI model for GitHub Copilot coding agent
shortTitle: Changing the AI model
intro: '{% data variables.copilot.copilot_pro %} and {% data variables.copilot.copilot_pro_plus %} users can select the model used by {% data variables.copilot.copilot_coding_agent %}.'
product: '{% data reusables.gated-features.copilot-coding-agent %}<br><a href="https://github.com/features/copilot/plans?ref_product=copilot&ref_type=purchase&ref_style=button" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline"><span>Sign up for {% data variables.product.prodname_copilot_short %}</span> {% octicon "link-external" height:16 %}</a>'
versions:
feature: copilot
topics:
- Copilot
contentType: how-tos
category:
- Author and optimize with Copilot
---
> [!NOTE]
> For an overview of {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent).
## Introduction
{% data variables.copilot.copilot_pro %} and {% data variables.copilot.copilot_pro_plus %} users can select the model used by {% data variables.copilot.copilot_coding_agent %}.
> [!NOTE] Model selection for {% data variables.copilot.copilot_coding_agent %} is only supported when starting a task from the agents tab or panel, assigning an issue to {% data variables.product.prodname_copilot_short %} on {% data variables.product.prodname_dotcom_the_website %} and from the Raycast launcher. See [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-a-pr).
You may find that different models perform better, or provide more useful responses, depending on the type of tasks you give {% data variables.product.prodname_copilot_short %}.
Support for selecting a model is coming soon for {% data variables.copilot.copilot_for_business %} and {% data variables.copilot.copilot_enterprise %} users. Until then, for these users, {% data variables.copilot.copilot_coding_agent %} will use {% data variables.copilot.copilot_claude_sonnet_45 %}. {% data variables.product.company_short %} reserves the right to change the model used at any time.
## Supported models
The following options are currently available:
* Auto
{% data reusables.copilot.copilot-coding-agent-auto-models %}
{% data reusables.copilot.copilot-coding-agent-non-auto-models %}
{% data reusables.copilot.auto-model-option %}

View File

@@ -94,6 +94,7 @@ You can assign an issue to {% data variables.product.prodname_copilot_short %}:
> When you assign an issue to {% data variables.product.prodname_copilot_short %}, it gets sent the issue title, description, any comments that currently exist, and any additional instructions you provide. After assigning the issue, {% data variables.product.prodname_copilot_short %} will not be aware of, and therefore won't react to, any further comments that are added to the issue. If you have more information, or changes to the original requirement, add this as a comment in the pull request that {% data variables.product.prodname_copilot_short %} raises.
{% data reusables.copilot.optional-select-custom-agent %}
{% data reusables.copilot.optional-select-copilot-coding-agent-model %}
You can also assign issues to {% data variables.product.prodname_copilot_short %} from other places on {% data variables.product.prodname_dotcom_the_website %}:
@@ -412,6 +413,7 @@ To see all of the available options, run `gh agent-task create --help`.
For example, `Implement a user friendly message for common errors.`
1. Select the repository you want {% data variables.product.prodname_copilot_short %} to work in.
1. Optionally, select a base branch for {% data variables.product.prodname_copilot_short %}'s pull request. {% data variables.product.prodname_copilot_short %} will create a new branch based on this branch, then push the changes to a pull request targeting that branch.
{% data reusables.copilot.optional-select-copilot-coding-agent-model %}
1. Press <kbd>Command</kbd>+<kbd>Enter</kbd> to start the task.
{% data variables.product.prodname_copilot_short %} will start a new session. {% data variables.product.prodname_copilot_short %} will work on the task and push changes to its pull request, then add you as a reviewer when it has finished, triggering a notification.

View File

@@ -89,7 +89,7 @@ To configure your {% data variables.copilot.agent_profile %}:
1. If creating an organization or enterprise level agent on {% data variables.product.github %}, you can use the `mcp-servers` property to optionally configure MCP servers that will be available only to this agent to extend its capabilities.
1. If you are creating and using the {% data variables.copilot.agent_profile %} in {% data variables.product.prodname_vscode_shortname %}, JetBrains IDEs, Eclipse, or Xcode, you can also use the `model` property to control which AI model the agent should use.
1. Optionally, set the `target` property to either `vscode` or `github-copilot` if you want to only use the agent in a specific environment. The agent will be available in both environments if you omit the property.
1. Write the agent's prompt. Define the agent's behavior, expertise, and instructions in the Markdown content below the YAML frontmatter.
1. Write the agent's prompt. Define the agent's behavior, expertise, and instructions in the Markdown content below the YAML frontmatter. The prompt can be a maximum of 30,000 characters.
## Example {% data variables.copilot.agent_profiles %}

View File

@@ -17,6 +17,7 @@ children:
- /integrate-coding-agent-with-slack
- /integrate-coding-agent-with-teams
- /integrate-coding-agent-with-linear
- /changing-the-ai-model
- /customize-the-agent-environment
- /customize-the-agent-firewall
- /troubleshoot-coding-agent

View File

@@ -32,6 +32,7 @@ Use this table to find a suitable model quickly, see more detail in the sections
| Model | Task area | Excels at (primary use case) | Additional capabilities | Further reading |
|-------------------------------------------------------|--------------------------------------------------|-------------------------------------------------------------------------|-------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| {% data variables.copilot.copilot_gpt_41 %} | General-purpose coding and writing | Fast, accurate code completions and explanations | Agent mode, vision | [{% data variables.copilot.copilot_gpt_41 %} model card](https://openai.com/index/gpt-4-1/) |
| {% data variables.copilot.copilot_gpt_52 %} | Deep reasoning and debugging | Multi-step problem solving and architecture-level code analysis | Agent mode | Not available |
| {% data variables.copilot.copilot_gpt_51 %} | Deep reasoning and debugging | Multi-step problem solving and architecture-level code analysis | Agent mode | Not available |
| {% data variables.copilot.copilot_gpt_5_codex %} | General-purpose coding and writing | Fast, accurate code completions and explanations | Agent mode | [{% data variables.copilot.copilot_gpt_5_codex %} model card](https://cdn.openai.com/pdf/97cc5669-7a25-4e63-b15f-5fd5bdc4d149/gpt-5-codex-system-card.pdf) |
| {% data variables.copilot.copilot_gpt_5_mini %} | General-purpose coding and writing | Fast, accurate code completions and explanations | Agent mode, reasoning, vision | [{% data variables.copilot.copilot_gpt_5_mini %} model card](https://cdn.openai.com/gpt-5-system-card.pdf) |

View File

@@ -28,6 +28,7 @@ Used for:
* {% data variables.copilot.copilot_gpt_51_codex %}
* {% data variables.copilot.copilot_gpt_51_codex_mini %}
* {% data variables.copilot.copilot_gpt_51_codex_max %}
* {% data variables.copilot.copilot_gpt_52 %}
These models are hosted by OpenAI and {% data variables.product.github %}'s Azure infrastructure.
@@ -47,14 +48,6 @@ Used for:
## Anthropic models
<!-- expires 2025-12-05 -->
<!-- When this expires, check with the stakeholder for release #20458 on whether or not this note can be removed -->
{% data reusables.copilot.claude-promo-period %} See [Model multipliers](/copilot/reference/ai-models/supported-models#model-multipliers).
<!-- end expires 2025-12-05 -->
Used for:
* {% data variables.copilot.copilot_claude_haiku_45 %}

View File

@@ -98,14 +98,6 @@ Each model has a premium request multiplier, based on its complexity and resourc
For more information about premium requests, see [AUTOTITLE](/copilot/managing-copilot/monitoring-usage-and-entitlements/about-premium-requests).
<!-- expires 2025-12-05 -->
<!-- When this expires, check with the stakeholder for release #20458 on whether or not this note can be removed and table updated -->
{% data reusables.copilot.claude-promo-period %}
<!-- end expires 2025-12-05 -->
{% data reusables.copilot.model-multipliers %}
## Next steps

View File

@@ -15,21 +15,24 @@ This reference article provides detailed configuration information for {% data v
## YAML frontmatter properties
The following table outlines the properties that are supported in repository-level {% data variables.copilot.agent_profiles %}, organization or enterprise level {% data variables.copilot.agent_profiles %}, and in {% data variables.product.prodname_vscode_shortname %}.
The following table outlines the properties that are supported in repository-level {% data variables.copilot.agent_profiles %}, organization or enterprise level {% data variables.copilot.agent_profiles %}, and in {% data variables.product.prodname_vscode_shortname %}. The configuration file's name (minus `.md` or `.agent.md`) is used for deduplication between levels so that the lowest level configuration takes precedence.
{% rowheaders %}
| Property | Type | Purpose | Repository | Organization / enterprise | {% data variables.product.prodname_vscode_shortname %}, JetBrains IDEs, Eclipse, and Xcode |
| ------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ------------------------- | ------------------ |
| `name` | string | Unique name for the {% data variables.copilot.copilot_custom_agent_short %}. Optional, if unset defaults to the filename (without `.md` or `.agent.md` suffix). <br/> Lowest level configuration takes precedence when there is a naming conflict. | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} |
| `name` | string | Display name for the {% data variables.copilot.copilot_custom_agent_short %}. Optional. | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} |
| `description` | **Required** string | Description of the {% data variables.copilot.copilot_custom_agent_short %}'s purpose and capabilities | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} |
| `target` | string | Target environment or context for the {% data variables.copilot.copilot_custom_agent_short %} (`vscode` or `github-copilot`). If unset, defaults to both environments. | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} |
| `tools` | list of strings, string | List of tool names the {% data variables.copilot.copilot_custom_agent_short %} can use. Supports both a comma separated string and yaml string array. If unset, defaults to all tools. See [Tools](#tools). | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} |
| `infer` | boolean | Controls whether {% data variables.copilot.copilot_coding_agent %} can automatically use this {% data variables.copilot.copilot_custom_agent_short %} based on task context. When `false`, the agent must be manually selected. If unset, defaults to `true`. | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} |
| `mcp-servers` | object | Additional MCP servers and tools that should be used by the {% data variables.copilot.copilot_custom_agent_short %}. | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} |
| `metadata` | object consisting of a name and value pair, both strings | Allows annotation of the agent with useful data | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} |
{% endrowheaders %}
Define the agent's behavior, expertise, and instructions in the Markdown content below the YAML frontmatter. The prompt can be a maximum of 30,000 characters.
> [!NOTE]
> The `model`, `argument-hint`, and `handoffs` properties from {% data variables.product.prodname_vscode_shortname %} and other IDE {% data variables.copilot.custom_agents_short %} are currently not supported for {% data variables.copilot.copilot_coding_agent %} on {% data variables.product.prodname_dotcom_the_website %}. They are ignored to ensure compatibility. For more information on {% data variables.copilot.copilot_custom_agent_short %} file structure in {% data variables.product.prodname_vscode_shortname %}, see [{% data variables.copilot.custom_agents_caps_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/customization/custom-agents#_custom-agent-file-structure) in the {% data variables.product.prodname_vscode_shortname %} documentation.
@@ -56,11 +59,11 @@ The following tool aliases are available for {% data variables.copilot.custom_ag
| Primary alias | Compatible aliases | {% data variables.copilot.copilot_coding_agent_short_cap_c %} mapping | Purpose |
| ------------- | -------------------------------------------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `shell` | `Bash`, `powershell` | Shell tools: `bash` or `powershell` | Execute a command in the appropriate shell for the operating system. |
| `execute` | `shell`, `Bash`, `powershell` | Shell tools: `bash` or `powershell` | Execute a command in the appropriate shell for the operating system. |
| `read` | `Read`, `NotebookRead` | `view` | Read file contents. |
| `edit` | `Edit`, `MultiEdit`, `Write`, `NotebookEdit` | Edit tools: e.g. `str_replace`, `str_replace_editor` | Allow LLM to edit. Exact arguments can vary. |
| `search` | `Grep`, `Glob` | `search` | Search for files or text in files. |
| `custom-agent` | `Task` | "{% data variables.copilot.copilot_custom_agent_caps_short %}" tools | Allows a different {% data variables.copilot.copilot_custom_agent_short %} to be invoked to accomplish a task. |
| `agent` | `custom-agent`, `Task` | "{% data variables.copilot.copilot_custom_agent_caps_short %}" tools | Allows a different {% data variables.copilot.copilot_custom_agent_short %} to be invoked to accomplish a task. |
| `web` | `WebSearch`, `WebFetch` | Currently not applicable for {% data variables.copilot.copilot_coding_agent_short %}. | Allows fetching content from URLs and performing a web search |
| `todo` | `TodoWrite` | Currently not applicable for {% data variables.copilot.copilot_coding_agent_short %}. | Creates and manages structured task lists. Not supported in {% data variables.copilot.copilot_coding_agent_short %} today, but supported by {% data variables.product.prodname_vscode_shortname %}. |

View File

@@ -15,25 +15,25 @@ topics:
contentType: tutorials
---
{% data variables.copilot.copilot_chat %} can help you create mermaid diagrams to visualize data, making it easier to understand and communicate insights. You can ask {% data variables.copilot.copilot_chat_short %} to generate diagrams based on your data or code, and it will provide you with the necessary code to create those diagrams.
{% data variables.copilot.copilot_chat %} on {% data variables.product.prodname_dotcom_the_website %} can help you create Mermaid diagrams to visualize data, making it easier to understand and communicate insights. You can ask {% data variables.copilot.copilot_chat_short %} to generate diagrams based on your data or code, and it will provide you with the necessary code to create those diagrams.
## Example scenario
You want to create a Gantt chart to visualize the timeline of a project. You can ask {% data variables.copilot.copilot_chat_short %} to generate the mermaid code for the Gantt chart, with specific details about the project phases and their durations. You can then use this code in any Markdown file that supports mermaid syntax, such as issues, discussions, or pull requests on {% data variables.product.github %}.
You want to create a Gantt chart to visualize the timeline of a project. You can ask {% data variables.copilot.copilot_chat_short %} on {% data variables.product.prodname_dotcom_the_website %} to generate the Mermaid code for the Gantt chart, with specific details about the project phases and their durations. You can then use this code in any Markdown file that supports Mermaid syntax, such as issues, discussions, or pull requests on {% data variables.product.github %}.
## Example prompt
```copilot copy prompt
Create a mermaid gantt diagram that covers the period August 1st 2025 until January 31st, 2025. Include 5 phases, each taking 6 weeks, and overlapping equally.
Create a Mermaid Gantt diagram that covers the period August 1st 2025 until January 31st, 2025. Include 5 phases, each taking 6 weeks, and overlapping equally.
```
## Example response
{% data reusables.copilot.example-prompts.response-is-an-example %}
{% data variables.product.prodname_copilot_short %} will provide you with the mermaid code to create the flowchart. You can copy the code {% data variables.copilot.copilot_chat_short %} provides and paste it anywhere on {% data variables.product.github %} that supports Markdown, such as an issue or discussion.
{% data variables.product.prodname_copilot_short %} will provide you with the Mermaid code to create the flowchart. You can copy the code {% data variables.copilot.copilot_chat_short %} provides and paste it anywhere on {% data variables.product.github %} that supports Markdown, such as an issue or discussion.
Ensure you include the correct mermaid syntax of `` ```mermaid `` before and `` ``` `` after the code block to render the diagram correctly.
Ensure you include the correct Mermaid syntax of `` ```mermaid `` before and `` ``` `` after the code block to render the diagram correctly.
````text
```mermaid
@@ -61,7 +61,7 @@ gantt
This Mermaid code would generate the following diagram:
![Screenshot of a rendered Mermaid gantt chart.](/assets/images/help/copilot/mermaid-gantt-chart-example.png)
![Screenshot of a rendered Mermaid Gantt chart.](/assets/images/help/copilot/mermaid-gantt-chart-example.png)
## Further reading

View File

@@ -12,6 +12,7 @@ children:
- /generate-unit-tests
- /create-mock-objects
- /create-end-to-end-tests
- /update-unit-tests
contentType: tutorials
---

View File

@@ -0,0 +1,122 @@
---
title: Updating unit tests to match code changes
shortTitle: Update unit tests
intro: '{% data variables.copilot.copilot_chat_short %} can help with updating your tests.'
versions:
feature: copilot
category:
- Testing code
- Author and optimize with Copilot
complexity:
- Intermediate
octicon: beaker
topics:
- Copilot
contentType: tutorials
---
When you make changes to your code, it's important to update any tests to verify the new behavior and catch any bugs that the new code has introduced. {% data variables.copilot.copilot_chat_short %} can help you quickly update tests to match your code changes, ensuring your test suite stays in sync with your implementation.
## Example scenario
Imagine you have a Python function, `calculate_discount`, that determines the discount for a given purchase amount. In the original code, you get a 10% discount for amounts over $100. You're making changes to the logic of the function, so that only prices over $150 get a 10% discount, and there's now a 20% discount for amounts over $200.
### Original code
In the original code, purchase prices above $100 get a 10% discount.
```python
def calculate_discount(amount: float) -> float:
if amount > 100:
return amount * 0.1 # 10% discount
return 0.0
```
### Updated code
In the changed code, only amounts above $150 get 10% discount, and amounts above $200 now get a 20% discount.
```python id=calculate_discount
def calculate_discount(amount: float) -> float:
if amount > 200:
return amount * 0.2
elif amount > 150:
return amount * 0.1
return 0.0
```
### Existing tests
This example shows the existing tests that were written for the original code.
```python
import unittest
from discount import calculate_discount
class TestCalculateDiscount(unittest.TestCase):
def test_discount_above_100(self):
# $140 should get a $14 discount (10%)
self.assertAlmostEqual(calculate_discount(140), 14.0)
def test_discount_below_100(self):
# $80 should get no discount
self.assertEqual(calculate_discount(80), 0.0)
def test_discount_exactly_100(self):
# $100 is not above 100, so no discount
self.assertEqual(calculate_discount(100), 0.0)
if __name__ == '__main__':
unittest.main()
```
## Example prompt
You can ask {% data variables.copilot.copilot_chat_short %} to identify and update any tests affected by your logic change.
```copilot
Given the update to the `calculate_discount` function, update the unit tests that may fail or become outdated as a result.
```
## Example response
{% data reusables.copilot.example-prompts.response-is-an-example %}
{% data variables.copilot.copilot_chat_short %} analyzes your code and existing tests, and identifies which tests will fail or are now misleading following your code change.
For example, {% data variables.copilot.copilot_chat_short %} explains that:
* `test_discount_above_100` will now **fail**
* `test_discount_below_100` and `test_discount_exactly_100` will pass, but they are now **misleading**, since the threshold for the 10% discount is now $150, and not $100.
In addition, {% data variables.copilot.copilot_chat_short %} identifies any **missing test coverage**, such as the new 20% discount tier for amounts over $200.
{% data variables.copilot.copilot_chat_short %} proposes an updated set of tests.
### Updated tests
```python
import unittest
from discount import calculate_discount
class TestCalculateDiscount(unittest.TestCase):
def test_discount_above_200(self):
# $250 should get a $50 discount (20%)
self.assertAlmostEqual(calculate_discount(250), 50.0)
def test_discount_above_150(self):
# $175 should get a $17.50 discount (10%)
self.assertAlmostEqual(calculate_discount(175), 17.5)
def test_discount_at_or_below_150(self):
# $150 is not above 150, so no discount
self.assertEqual(calculate_discount(150), 0.0)
# $80 should get no discount
self.assertEqual(calculate_discount(80), 0.0)
if __name__ == '__main__':
unittest.main()
```
## Further reading
{% data reusables.copilot.example-prompts.further-reading-items %}

View File

@@ -23,7 +23,7 @@ This prompt file creates professional, comprehensive README files by analyzing y
```text copy
---
mode: 'agent'
agent: 'agent'
description: 'Create a comprehensive README.md file for the project'
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -28,6 +28,7 @@ children:
- /modernize-legacy-code
- /migrate-a-project
- /plan-a-project
- /vibe-coding
- /upgrade-projects
redirect_from:
- /copilot/using-github-copilot/guides-on-using-github-copilot

View File

@@ -16,9 +16,6 @@ category:
- Author and optimize with Copilot
---
> [!NOTE]
> "GitHub Copilot app modernization upgrade for Java" and "GitHub Copilot app modernization Upgrade for .NET" are currently in {% data variables.release-phases.public_preview %} and subject to change.
## Introduction
{% data variables.product.prodname_copilot %} can help streamline the process of modernizing and upgrading your Java and .NET applications. {% data variables.product.prodname_copilot_short %} will analyze the project, generate a plan, automatically fix issues it encounters when carrying out the plan, and produce a summary.
@@ -32,7 +29,7 @@ You can upgrade a Git-based Maven or Gradle Java project using {% data variables
* For Maven-based projects, access to the public Maven Central repository.
* Installed versions of both the source and target JDKs.
For the next steps, see [Quickstart: upgrade a Java project with GitHub Copilot App Modernization - upgrade for Java (preview)](https://learn.microsoft.com/en-gb/java/upgrade/quickstart-upgrade) on Microsoft Learn.
For the next steps, see [Quickstart: upgrade a Java project with GitHub Copilot App Modernization - upgrade for Java](https://learn.microsoft.com/en-gb/java/upgrade/quickstart-upgrade) on Microsoft Learn.
## Upgrading .NET projects

View File

@@ -0,0 +1,417 @@
---
title: Vibe coding with GitHub Copilot
shortTitle: Vibe coding
intro: 'Create an application without writing any code yourself.'
topics:
- Copilot
versions:
feature: copilot
contentType: tutorials
category:
- Author and optimize with Copilot
---
## Introduction
{% data variables.product.prodname_copilot_short %} allows you to create a whole new application from scratch, add features, or alter the user interface, without writing a line of code yourself. You can work with {% data variables.product.prodname_copilot_short %}, entering prompts in the chat view—using the AI as your coding partner—and leave all of the actual coding to {% data variables.product.prodname_copilot_short %}.
In this tutorial you'll work this way, in {% data variables.product.prodname_vscode_shortname %} or in a JetBrains IDE, to create a personal time-tracking web app.
This method works well for developing a proof of concept, creating a draft of an application that you'll develop further using a more conventional approach to software development, or creating applications for your own personal use.
> [!NOTE]
> The responses shown in this article are examples. {% data variables.copilot.copilot_chat_short %} responses are non-deterministic, so you may get different responses from the ones shown here.
## Who is this tutorial for?
- **Learner:** You're learning how to create software applications. You can learn a lot from working with {% data variables.product.prodname_copilot_short %} and seeing how it implements your requests.
- **Non-developer:** You're a product manager, or working in another role outside of an engineering team. You want to quickly create a proof of concept application to demonstrate some particular functionality. You're mainly concerned with the user experience, rather than the details of the code.
- **Individual:** You want to create an application to provide some useful functionality to help you in your daily work or home life. The application will run locally on your computer, and only you will use it, so you're not overly concerned about how the code was put together.
This tutorial is not intended for experienced developers with an established practice of writing code in an editor. Experienced developers will use {% data variables.product.prodname_copilot_short %} in a different way—as tool for problem solving and increased productivity. In this tutorial, we'll work within chat and leave {% data variables.product.prodname_copilot_short %} to do all the work in the editor.
## How long will this take?
There are many variables that may affect how long you might take to complete this tutorial. However, you should allow for at least two hours. At any time you can return to it later, picking up from where you left off in the same conversation in {% data variables.copilot.copilot_chat_short %}.
## Prerequisites
Before getting started you must have the following:
* A [{% data variables.product.prodname_copilot %} subscription plan](/copilot/about-github-copilot/subscription-plans-for-github-copilot).
* One of these IDEs:
* {% data variables.product.prodname_vscode %}
* Any JetBrains IDE that supports {% data variables.product.prodname_copilot_short %}, with the {% data variables.product.prodname_copilot %} extension for JetBrains installed. See [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension?tool=jetbrains).
* Some experience of using {% data variables.copilot.copilot_chat_short %} in either {% data variables.product.prodname_vscode %} or JetBrains. If you've never used {% data variables.copilot.copilot_chat_short %} before, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide).
## Preparation
We'll create a time-tracking app in a new {% data variables.product.github %} repository.
1. In the {% data variables.product.github %} website, create a new private repository for your application, including an initial README file. See [Creating a new repository](/repositories/creating-and-managing-repositories/creating-a-new-repository).
1. Clone a copy of the repository to your local machine. See [Cloning a repository](/repositories/creating-and-managing-repositories/cloning-a-repository).
1. In your local copy of the repository, create a new branch to work in.
For example, in a terminal, use the command:
```bash copy
git checkout -b BRANCH-NAME
```
## Researching with {% data variables.product.prodname_copilot_short %}
1. In {% data variables.product.prodname_vscode_shortname %}, or your JetBrains IDE, open the repository directory as a new project or workspace.
1. Close any editor tabs that are currently open.
Working in an empty project or workspace, with no editor tabs open, prevents {% data variables.product.prodname_copilot_short %} being influenced by any code or information in those tabs.
1. Open a terminal window in the IDE.
1. Open {% data variables.copilot.copilot_chat_short %} and check, at the bottom of the chat view, that **Ask** is the currently selected chat mode. If it is not, select **Ask** from the chat mode dropdown.
![Screenshot of "Ask" being selected in the mode picker at the bottom of chat view.](/assets/images/help/copilot/ask-mode-selection.png)
1. Choose a model from the models dropdown.
> [!NOTE]
> The responses referred to in this tutorial were received while using Claude Sonnet 4.5. Other models will respond differently, but you should get roughly similar results. Claude Sonnet 4.5 is a good choice, if it's available, as it provides useful commentary in the chat view, explaining what it is doing, and giving detailed summaries when it has finished coding.
>
> If Claude Sonnet 4.5 is not available, set the model to **Auto** or select a model of your choice.
1. Enter this prompt in the chat:
```copilot copy
I need to keep a daily log of what I've spent my time on. I want to build a time-tracking application to help me do this. Throughout the day I want to use the app to record what I'm working on as I move between tasks. At the end of the day it should show me the total time I've spent on each item.
What are the typical features of such an app?
What do I need to consider when building this app?
```
{% data variables.product.prodname_copilot_short %} responds with details to answer your questions.
1. Consider {% data variables.product.prodname_copilot_short %}'s response and ask for more information, as required, to clarify your thoughts about your application.
For example, you might ask:
```copilot copy
Data storage: the application will run locally on my laptop. What's the best way to persistently store data so that I'll have access to historic time-tracking data?
Data structure: How should I structure the data for this application? There will be tasks and projects. Each chunk of time will be associated with a task and some, but not all, tasks will be associated with projects. I will want to see totals for: each task, each project, each task per project.
```
1. Continue to ask questions in the same chat conversation, to build up a clearer idea of the application you want to build.
Keep your chat conversation open, as {% data variables.product.prodname_copilot_short %} will use this in the next series of steps.
## Planning the implementation
You can now start planning for an initial implementation of your application. It's a good idea to begin with a basic version of the application which you can iterate on. This makes it easier to get the fundamental functionality working, before adding features.
1. In the same {% data variables.copilot.copilot_chat_short %} conversation you used in the previous section, switch from ask mode to plan mode by selecting **Plan** from the chat mode dropdown at the bottom of the chat view.
1. Enter this prompt:
```copilot copy
I want to build a time-tracking application that allows me to keep track of how much time I spend on tasks during my working day. This should be a web app that runs locally on my computer. Plan the implementation of a basic, initial version of this application. This first version should allow me to:
- Add, edit and delete projects and tasks - each a name with a maximum of about 50 characters
- Quickly click to select a project and task and record the start time
- Click another task to stop the current timer, recording the stop time, and recording the start time for the new task
- Pause/resume/end the current task
- Display the totals of times I have spent on each: task, project, and task per project.
Time is always recorded for a specific task. A task can optionally be associated with a project.
Store data for each day, but for this version do not include any user interface or functionality for looking at historical data, or compiling statistics. The initial version of the application should be limited to today's time tracking.
Notes:
- Tasks never overlap
- Time should be accurate to the minute by recording the day, hour, minute tasks are started and stopped and calculating the duration from this
- Design the web UI for display on a desktop monitor
- Keep things very simple for the initial version. Do not add any other features not mentioned in this prompt
```
Copilot replies with something like:
<!-- markdownlint-disable MD029 -->
> ### Plan: Build Time-Tracking Web Application
>
> A single-page web application for tracking daily task time using vanilla HTML/CSS/JavaScript with localStorage. The app displays projects/tasks in a sidebar, shows an active timer, and calculates daily totals by task and project.
>
> Steps
>
> 1. **Create project structure** with `index.html`, `styles.css`, `app.js`, and `storage.js` for a self-contained vanilla JavaScript application
> 2. **Implement data storage layer** in `storage.js` using localStorage with collections for `projects`, `tasks`, and `timeEntries`, including CRUD operations and ID generation
> 3. **Build HTML structure** in `index.html` with three main sections: left sidebar for project/task management, center panel for active timer and controls (start/pause/resume/stop), and right panel for daily totals
> 4. **Implement core timer logic** in `app.js` handling task selection (auto-stop previous, auto-start new), pause/resume/stop actions, and minute-precision time calculations storing `{ taskId, startTime, endTime, duration }`
> 5. **Create UI rendering functions** in `app.js` for project/task lists with inline edit/delete, active timer display with real-time updates, and totals panel aggregating by task, project, and task-per-project
> 6. **Style the interface** in `styles.css` with desktop-optimized three-column layout, clear visual states for active/paused timers, and simple forms for adding/editing projects and tasks
>
>
> Further Considerations
>
> 1. **Date handling** - Store all times as ISO strings and filter entries by today's date (`YYYY-MM-DD`). Should the day boundary be midnight or a custom time (e.g., 4am for late-night workers)?
> 2. **Timer display format** - Show elapsed time as `HH:MM` or `H hours M minutes`? Update every second or every minute?
> 3. **Unassigned tasks** - How to display tasks without projects in the UI? Separate "No Project" section at top/bottom of sidebar, or mixed alphabetically?
<!-- markdownlint-enable MD029 -->
1. Answer the "Further Considerations" questions {% data variables.product.prodname_copilot_short %} raised. For example, you could respond with this prompt:
```copilot copy
- Date handling: only consider the local date. This app is only going to be used by one person in one timezone. Set the day boundary to 4 am.
- Time display: Show elapsed time as HH:MM. Don't track seconds.
- Unassigned tasks: I've changed my mind. All tasks should be associated with a project, but there should be a built-in project called "No Project" (which the user can't delete or rename). All tasks should be associated with this project until the user chooses another project.
If the user is changing tasks for the same project then they should be able to do this will one click (assuming the new task has already been defined). If they are doing the same task but for a different project, this should also be possible to change with one click (assuming the new project is already defined). If they want to track time for a different task in a different project then they should be able to do this with 2 clicks.
```
{% data variables.product.prodname_copilot_short %} may respond with further questions for your consideration.
1. You can answer some or all of the questions, or, if you feel that the plan has enough detail, you can skip to the next stage.
{% data variables.product.prodname_copilot_short %}'s responses are non-deterministic, so the questions it asks will vary, but let's assume its response included these questions:
> **New task default project** - When adding a new task without specifying project, assign to "No Project" or to currently active/selected project? Recommend: Currently selected/active project with "No Project" as fallback.
>
> **Timer precision edge case** - If user switches tasks within the same minute (e.g., 10:30:15 to 10:30:45), should this create a 0-minute entry or be ignored? Recommend: Ignore and treat as immediate switch without recording.
You might decide to respond to these questions by entering the prompt:
```copilot copy
New task default project - When adding a new task without actively specifying a project, use the currently selected/active project with "No Project" as the default when the user has not actively selected any other project.
Timer precision edge case - If user switches or ends tasks within the same minute as the start time then delete this entry. Only time entries of more than one minute should be recorded.
```
1. Continue iterating if you feel there are further questions that need answered.
1. Keep your chat conversation open, as {% data variables.product.prodname_copilot_short %} will use this in the next series of steps.
## Building your application with {% data variables.copilot.copilot_coding_agent %}
When you think the plan contains enough detail:
1. Click **Start Implementation** in the {% data variables.copilot.copilot_chat_short %} view.
Depending on your IDE this will either start the agent immediately, or it will add "Start Implementation" as a prompt, which you should then submit.
Notice that chat mode switches from "Plan" to "Agent".
1. {% data variables.product.prodname_copilot_short %} will request your permission to perform actions such as editing sensitive files, running commands, or adding files to Git.
* **In {% data variables.product.prodname_vscode_shortname %}:** click **Allow**.
![Screenshot of {% data variables.product.prodname_copilot_short %} in VS Code asking for permission to edit a sensitive file. The "Allow" button is highlighted.](/assets/images/help/copilot/allow-editing-files.png)
Alternatively, click the arrow on the **Allow** button and click **Allow in this Session** in the dropdown menu.
* **In JetBrains:**
* When asked if you want to add a file to Git, select the **Don't ask again** checkbox, then click **Add**.
* When asked about running a command, click **Continue**.
![Screenshot of {% data variables.product.prodname_copilot_short %} in JetBrains asking for permission to run a command. The "Continue" button is highlighted.](/assets/images/help/copilot/continue-button-jetbrains.png)
{% data variables.product.prodname_copilot_short %} will begin to implement an initial version of your application.
1. If {% data variables.product.prodname_copilot_short %} finishes its response without completing the installation, or if {% data variables.product.prodname_copilot_short %} appears to have stalled, take the following remedial actions, as required:
* **Missing component**
If {% data variables.product.prodname_copilot_short %} says it cannot proceed because a required component needs to be installed (for example, Node.js), you can enter a prompt asking {% data variables.product.prodname_copilot_short %} to download and install the missing component.
* **Process is taking a long time**
Some steps may take several minutes to complete. Be patient and allow the agent to complete each part of the process. An animated spinner icon indicates that the agent is currently working on a command.
For example, in JetBrains IDEs:
![Screenshot of the {% data variables.copilot.copilot_chat_short %} view. The spinner icon is highlighted with a red outline.](/assets/images/help/copilot/agent-working-spinner.png)
* **Input required**
Occasionally {% data variables.product.prodname_copilot_short %} will run a command that requires some manual input.
If {% data variables.product.prodname_copilot_short %} appears to have stalled, check the IDE's terminal window to see if a command requires action from you. {% data variables.product.prodname_copilot_short %} will wait for you to enter a response in the terminal before continuing.
* **Error messages**
If you get any error messages while developing the application, copy the error message into the chat prompt box and ask {% data variables.product.prodname_copilot_short %} to fix the problem.
> [!NOTE]
> You may have to iterate with {% data variables.product.prodname_copilot_short %} in this way, asking it to debug and fix problems, until it has a working application that you can view in your browser.
* **{% data variables.product.prodname_copilot_short %}'s response appears to be stuck**
If the spinner icon is displayed in a response but, after waiting for several minutes—and having checked that your input is not required in the terminal—nothing is happening, you can stop and restart the conversation.
Click the cancel button at the bottom of the chat view. For example, in {% data variables.product.prodname_vscode_shortname %}:
![Screenshot of the cancel button at the bottom right of the chat view in {% data variables.product.prodname_vscode_shortname %}.](/assets/images/help/copilot/chat-cancel-button.png)
Then enter the prompt:
```copilot copy
Your previous response stalled. Try again, picking up from where you left off.
```
1. Typically, towards the end of the coding process, {% data variables.product.prodname_copilot_short %} will request your permission to open an untrusted web page for the application:
![Screenshot of the 'Open untrusted web page' message.](/assets/images/help/copilot/open-untrusted-web-page.png)
Give your permission for this.
1. When the agent finishes work on the application it will display a summary of what it built in the chat panel. Typically it will provide a link to the running application.
The time tracker application may also be displayed in a browser tab in your IDE. This can be useful for confirming that the page is available. However, you should always check the application in your default browser to verify a realistic user experience.
Click the link in the chat panel to open the application in your default browser.
If a link isn't displayed in {% data variables.product.prodname_copilot_short %}'s chat response, wait a few minutes as the agent may be working on deploying the application. If a link is still not displayed you can prompt {% data variables.product.prodname_copilot_short %} to display one:
```copilot copy
Confirm the implementation is complete. If so, give me a link to the running application.
```
1. If the final message from {% data variables.product.prodname_copilot_short %} gives you instructions for starting the application (such as running `npm start`), rather than supplying a link to the running application, you can ask {% data variables.product.prodname_copilot_short %} to run the command for you and check that it completed successfully. For example:
```copilot copy
Run npm start for me and confirm everything is working
```
If {% data variables.product.prodname_copilot_short %} isn't able to run all of the commands itself, it will provide you with commands that you can copy and paste into the terminal.
## Testing your application
1. View your application's web page.
Below are some examples of a time tracking application created by {% data variables.product.prodname_copilot_short %}:
![Screenshot of an example of a time tracker app created by {% data variables.product.prodname_copilot_short %}.](/assets/images/help/copilot/time-tracker-example1.png)
<img src="/assets/images/help/copilot/time-tracker-example2.png" alt="Screenshot of another example of a time tracker created by {% data variables.product.prodname_copilot_short %}." style="width:100%;max-height:100%" />
> [!NOTE]
> The application that {% data variables.product.prodname_copilot_short %} generates for you might look quite different to the examples shown above.
1. Try using the application. Add a couple of projects and a selection of tasks, then start tracking time on a task.
1. As you try out this first draft of the application, make a note of the two or three most important things that need to be changed. In subsequent steps you'll work on fixing these. For now, don't spend time noting down everything you want to change. Just identify the most pressing things that need to be fixed first. You'll have time to get everything working and looking the way you want it to later in the process.
1. If the application doesn't load, or an error is displayed, describe the problem in the chat prompt box, copying and pasting any error messages, and ask {% data variables.product.prodname_copilot_short %} to debug and fix the problem.
1. After you have reviewed the initial draft of the application and established that it runs in at least a rudimentary fashion, return to your IDE.
1. _**Optional**: if you're familiar with the type of code {% data variables.product.prodname_copilot_short %} is writing for you._ Display the files that {% data variables.product.prodname_copilot_short %} has changed in the editor and review the changes. You can make your own changes if required.
1. Click **Keep** (in {% data variables.product.prodname_vscode_shortname %}) or **Accept All** (in JetBrains IDEs), in the {% data variables.copilot.copilot_chat_short %} view, to accept the changes and remove the diff lines from the editor.
You now have a base version of your application that you can iterate on to improve and extend the functionality and user interface.
1. Commit the changes to Git.
It's always a good idea to commit changes at each successful iteration so you can easily return to a previous version if you decide you don't like some changes that {% data variables.product.prodname_copilot_short %} has made for you.
1. Close any open editor tabs, but keep the {% data variables.copilot.copilot_chat_short %} view open as you'll continue working in the same chat conversation.
## Iterating on changes
1. After committing the initial version to git you can make a change to the application, fixing one of the things you noted when you reviewed the site.
For example, the implementation may have tied tasks to project, so that a task created for one project doesn't show up when you select another project. To change this—allowing you to create tasks that can be used for any project—enter another prompt into the same conversation, while still in agent mode for {% data variables.product.prodname_copilot_short %}. You could use a prompt such as:
```copilot copy
Tasks should not be tied to projects in the user interface, as they currently are. When the user selects a project, allow them to choose any currently defined task. There should be a many-to-many relationship between projects and tasks.
```
1. Again, {% data variables.product.prodname_copilot_short %} is likely to ask you to approve changes it needs to make to the code. Click **Approve** or **Continue**.
1. Once {% data variables.product.prodname_copilot_short %} completes the change, return to your browser and refresh the page.
1. Review the revised application and tell {% data variables.product.prodname_copilot_short %} if the change was not implemented correctly.
You may spot more than one thing that needs fixed, but to allow {% data variables.product.prodname_copilot_short %} to focus on one thing at a time, you should restrict each prompt to a single task and iterate on this in a series of prompts and responses, as necessary, until the problem is fixed. Then, move on to the next thing you want to change.
1. If there's a problem with the layout of the web page—for example, overlapping or badly aligned elements—you can take a screenshot, paste it into the chat and enter a prompt such as:
```copilot copy
This part of the web page looks bad. Fix it.
```
1. After a change is implemented satisfactorily, click **Keep** or **Accept All** and commit the changes.
1. _**Optional**:_ Depending on your working practices—for example, if you are working in a development team—you may decide at this point, and after each significant change, to raise a pull request. This will allow you to have changes reviewed and merged into the default branch of the repository so that other people can work on the code.
1. Continue iterating on your application.
For example, you might want to give the app a different style of user interface. In this case, still in agent mode, you could prompt {% data variables.product.prodname_copilot_short %}:
```copilot copy
I don't like the look of the user interface. Suggest some alternative web UI libraries I could choose to give the app a more formal, business-like appearance.
```
{% data variables.product.prodname_copilot_short %} will list some UI libraries.
1. Choose one of the libraries and ask {% data variables.product.prodname_copilot_short %} to use it. For example:
```copilot copy
Alter the user interface to use Bootstrap 5. I want the app to look like a professionally designed business application.
```
{% data variables.product.prodname_copilot_short %} will rework the application to use your chosen user interface library.
1. Check the results and commit the changes if you are happy with the revised look of the application.
1. A common requirement for a time tracker application is the ability to output your timesheet. For example, if you are a contractor, you might be required to submit a timesheet along with your invoice. So let's add the ability to generate a PDF.
Use this prompt:
```copilot copy
Add a button to the user interface which generates a PDF timesheet for the work the user has tracked today. The timesheet should show the total time spent on task for each of the defined project for which data has been recorded today. Under this show the total time spent on each project. Then show the total time spent on each task irrespective of projects. Finally show a chronological lists of tasks performed during the day with the time spent on each.
```
### Example application
After working with {% data variables.product.prodname_copilot_short %} to build, extend and improve your time tracker, the application might look something like this:
<img src="/assets/images/help/copilot/time-tracker-example3.png" alt="Screenshot an example of a time tracker app with data added by a user." style="width:100%;max-height:100%" />
## Improving your software project
1. {% data variables.product.prodname_copilot_short %} can help you make your project more robust by adding and running tests. Tests help to prevent bugs from getting into the codebase. You could prompt {% data variables.product.prodname_copilot_short %} in agent mode:
```copilot copy
Add a comprehensive suite of tests for this application. These should include unit tests, integration tests, component tests, database tests, and end-to-end tests. Locate the tests in a `tests` directory. Run the tests and fix any problems that are identified.
```
1. It's always a good idea to have a README file in your project. The README should provide an overview of the project and give instructions for using the application. You can ask {% data variables.product.prodname_copilot_short %} to create or update the README file:
```copilot copy
Add or update a README.md file. This should provide an introduction to the application, describing its primary use and highlighting its features. It should give easy to follow user instructions for using the application in the browser. It should provide admin instructions, explaining how to deploy the application. Finally it should give an overview of the technologies used to build the application and some basic information for developers on how to maintain the code and extend the application.
```
1. Now that you've added the initial code for the application to the repository, you should add a custom instructions file for {% data variables.product.prodname_copilot_short %}. The custom instructions file improves {% data variables.product.prodname_copilot_short %}'s responses in a repository by providing repository-specific guidance and implementation preferences. To add a custom instructions file:
* **In VS Code:** click the "Configure Chat" cog icon, at the top of the chat view, and click **Generate Chat Instructions**.
* **In JetBrains IDEs:** in agent mode of {% data variables.copilot.copilot_chat_short %}, submit a prompt such as:
```copilot copy
Analyze this codebase and create or update `.github/copilot-instructions.md` to guide AI coding agents.
Discover essential knowledge for immediate productivity:
- Architecture: major components, service boundaries, data flows, and structural decisions
- Developer workflows: builds, tests, debugging commands
- Project conventions that differ from common practices
- Integration points and cross-component communication
Guidelines:
- Merge intelligently if file exists
- Write ~20-50 concise lines with markdown structure
- Include specific codebase examples
- Focus on THIS project's approaches, not generic advice
- Document discoverable patterns, not aspirational patterns
- Reference key files/directories that exemplify important patterns
```
1. Review the instructions file. If you think the instructions need some more details, you can add these to the file manually and save it. For example, you could add an instruction about running tests, if the file does not already contain an instruction about this:
```text copy
## Running tests
Always run the complete test suite after completing a batch of code changes, to ensure the changes do not break or adversely affect any part of the application. Fix any test failures and then run the tests again to verify the fix.
```
## Next steps
* Continue iterating on this project, making improvements to your time tracker.
* Using the same methodology, create another application.
* Find out about another way you can create applications without writing the code yourself. See [AUTOTITLE](/copilot/concepts/spark).

View File

@@ -33,6 +33,7 @@ journeyTracks:
- '/enterprise-onboarding/setting-up-organizations-and-teams/about-teams-in-an-enterprise'
- '/enterprise-onboarding/setting-up-organizations-and-teams/creating-teams'
- '/enterprise-onboarding/setting-up-organizations-and-teams/assigning-roles-to-teams-and-users'
- '/enterprise-onboarding/setting-up-organizations-and-teams/use-innersource'
- id: 'support_for_your_enterprise'
title: 'Creating a support model for your enterprise'
description: 'Find out how to get help and choose who will be able to contact Support.'

View File

@@ -14,4 +14,4 @@ topics:
## Next steps
Now that you've set up organizations and teams to manage people's access to work in your enterprise, learn about support so you can get help when you need it. See [AUTOTITLE](/enterprise-onboarding/support-for-your-enterprise/understanding-support).
Learn how to set up a culture of innersource in your enterprise to allow teams to collaborate and work efficiently. See [AUTOTITLE](/enterprise-onboarding/setting-up-organizations-and-teams/use-innersource).

View File

@@ -17,5 +17,6 @@ children:
- /about-teams-in-an-enterprise
- /creating-teams
- /assigning-roles-to-teams-and-users
- /use-innersource
---

View File

@@ -0,0 +1,19 @@
---
title: Using innersource in your enterprise
shortTitle: Use innersource
intro: Help dispersed teams to collaborate by setting up open sourcestyle workflows in your enterprise, without compromising on security.
versions:
ghec: '*'
contentType: concepts
topics:
- Accounts
- Enterprise
- Fundamentals
allowTitleToDifferFromFilename: true
---
{% data reusables.enterprise-onboarding.use-innersource %}
## Next steps
Now that you've set up organizations and teams, learn about support so you can get help when you need it. See [AUTOTITLE](/enterprise-onboarding/support-for-your-enterprise/understanding-support).

View File

@@ -1,6 +1,6 @@
---
title: Start your journey
intro: 'Learn the basics of {% data variables.product.github %}.'
intro: "Brand new to {% data variables.product.github %}? Learn the basics here."
versions:
fpt: '*'
ghes: '*'
@@ -22,4 +22,18 @@ children:
redirect_from:
- /github/getting-started-with-github/quickstart
- /get-started/quickstart
layout: journey-landing
journeyTracks:
- id: 'learn_the_basics'
title: 'Get started'
description: 'Master the fundamentals of {% data variables.product.github %} and Git.'
guides:
- '/get-started/start-your-journey/about-github-and-git'
- '/get-started/start-your-journey/creating-an-account-on-github'
- '/get-started/start-your-journey/hello-world'
- '/get-started/start-your-journey/setting-up-your-profile'
- '/get-started/start-your-journey/finding-inspiration-on-github'
- '/get-started/start-your-journey/downloading-files-from-github'
- '/get-started/start-your-journey/uploading-a-project-to-github'
- '/get-started/start-your-journey/git-and-github-learning-resources'
---

View File

@@ -61,7 +61,7 @@ To create a pull request, enter `gh pr create` and follow the on-screen instruct
To create a new codespace, enter `gh codespace create` and follow the on-screen instructions.
To display your existing codespaces, enter `gh codespace list`. To open a codespace in the web version of {% data variables.product.prodname_vscode_shortname %} enter `gh codespace code -w` and choose a codespace .
To display your existing codespaces, enter `gh codespace list`. To open a codespace in the web version of {% data variables.product.prodname_vscode_shortname %} enter `gh codespace code -w` and choose a codespace.
In all of these commands you can substitute `cs` for `codespace`.

View File

@@ -46,6 +46,8 @@ If you manage multiple organizations with an enterprise account, you can help me
## Adding a public organization profile README
>[!NOTE] Public organizations are not available with {% data variables.product.prodname_emus %}.
The content of public `README.md` will appear on your organization's public profile.
1. If your organization does not already have a public `.github` repository, create a public `.github` repository.

View File

@@ -13,7 +13,7 @@ shortTitle: Repository custom properties
## About custom properties
{% data reusables.enterprise.custom-properties-intro %}. See [AUTOTITLE](/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/custom-properties).
{% data reusables.enterprise.custom-properties-intro %} See [AUTOTITLE](/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/custom-properties).
This article relates to **repository custom properties.**
@@ -35,7 +35,7 @@ You can add custom properties to your organization and set values for those prop
1. To add a new custom property, click **New property** in the upper right corner.
1. In the "Name" field, type the name you'd like to use for your custom property. The name can't contain spaces, and cannot exceed 75 characters in length.
1. Optionally, in the "Description" field, fill in a description of your custom property.
1. Under "Type", select the type of property you'd like to add. This can either be a text string{% ifversion ghes < 3.15 %} or a single select field{% else %}, a single select field, a multi select field, or a true/false boolean{% endif %}.
1. Under "Type", select the type of property you'd like to add. This can either be a text string{% ifversion ghes < 3.15 %} or a single select field{% else %}, a single select field, a multi select field, {% ifversion ghes > 3.20 %}a URL, {% endif %}or a true/false boolean{% endif %}.
1. Optionally, you can select **Allow repository actors to set this property**. When enabled, repository users and apps with the repository-level "custom properties" fine-grained permission will be able to set and update the property value for their repository.
1. Optionally, you can select **Require this property for all repositories** and add a default value. This means that you require that all repositories in your organization have a value for this property. Repositories that dont have an explicit value for this property will inherit the default value.
1. Click **Save property**.

View File

@@ -166,7 +166,6 @@ Some of the features listed below are limited to organizations using {% data var
| [Move a discussion to a different category](/discussions/managing-discussions-for-your-community/managing-discussions) | <span role="img" class="octicon-bg-x" aria-label="No">✗</span> | {% ifversion discussions-moderators-control-who-can-report %}<span role="img" class="octicon-bg-check" aria-label="Yes">✓</span>{% endif %} | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> |
| [Transfer a discussion](/discussions/managing-discussions-for-your-community/managing-discussions) to a new repository| <span role="img" class="octicon-bg-x" aria-label="No">✗</span> | <span role="img" class="octicon-bg-x" aria-label="No">✗</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> |
| [Manage pinned discussions](/discussions/managing-discussions-for-your-community/managing-discussions) | <span role="img" class="octicon-bg-x" aria-label="No">✗</span> | <span role="img" class="octicon-bg-x" aria-label="No">✗</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> |
| [Convert issues to discussions in bulk](/discussions/managing-discussions-for-your-community/managing-discussions) | <span role="img" class="octicon-bg-x" aria-label="No">✗</span> | <span role="img" class="octicon-bg-x" aria-label="No">✗</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> |
| [Lock and unlock discussions](/discussions/managing-discussions-for-your-community/moderating-discussions) | <span role="img" class="octicon-bg-x" aria-label="No">✗</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> |
| [Individually convert issues to discussions](/discussions/managing-discussions-for-your-community/moderating-discussions) | <span role="img" class="octicon-bg-x" aria-label="No">✗</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> |
| [Create new discussions and comment on existing discussions](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion) | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> | <span role="img" class="octicon-bg-check" aria-label="Yes">✓</span> |

View File

@@ -30,7 +30,7 @@ After initializing a pull request, you'll see a review page that shows a high-le
Once you've created a pull request, you can push commits from your topic branch to add them to your existing pull request. These commits will appear in chronological order within your pull request and the changes will be visible in the "Files changed" tab.
Other contributors can review your proposed changes, add review comments, contribute to the pull request discussion, and even add commits to the pull request. {% ifversion pull-request-approval-limit %}{% data reusables.pull_requests.code-review-limits %}{% endif %}
Other contributors can review your proposed changes, add review comments, contribute to the pull request discussion, and even add commits to the pull request. {% ifversion pull-request-approval-limit %}By default, in public repositories, any user can submit reviews that approve or request changes to a pull request. Organization owners and repository admins can limit who is able to give approving pull request reviews or request changes. For more information, see [AUTOTITLE](/organizations/managing-organization-settings/managing-pull-request-reviews-in-your-organization) and [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-pull-request-reviews-in-your-repository).{% endif %}
{% ifversion fpt or ghec %}
You can see information about the branch's current deployment status and past deployment activity on the "Conversation" tab. See [AUTOTITLE](/repositories/viewing-activity-and-data-for-your-repository/viewing-deployment-activity-for-your-repository).

View File

@@ -1,6 +1,6 @@
---
title: About pull request reviews
intro: 'Reviews allow collaborators to comment on the changes proposed in pull requests, approve the changes, or request further changes before the pull request is merged. Repository administrators can require that all pull requests are approved before being merged.'
intro: 'Collaborate on pull requests to improve code quality.'
redirect_from:
- /github/collaborating-with-issues-and-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews
- /articles/about-pull-request-reviews
@@ -14,51 +14,31 @@ topics:
- Pull requests
shortTitle: About PR reviews
---
## About pull request reviews
After a pull request is opened, anyone with _read_ access can review and comment on the changes it proposes. You can also suggest specific changes to lines of code, which the author can apply directly from the pull request. For more information, see [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request).
Pull request reviews are one of the primary ways people collaborate on {% data variables.product.github %}. Reviewers can comment on changes, suggest improvements, and approve or request changes before code is merged. This collaborative process enables teams to ensure code quality and share knowledge.
{% ifversion pull-request-approval-limit %}{% data reusables.pull_requests.code-review-limits %}{% endif %}
{% raw %}<a href="https://github.com/pulls/review-requested?ref_product=github&ref_type=engagement&ref_style=button" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline"><span>View pull requests awaiting your review</span></a>{% endraw %}
Repository owners and collaborators can request a pull request review from a specific person. Organization members can also request a pull request review from a team with read access to the repository. For more information, see [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review). You can specify a subset of team members to be automatically assigned in the place of the whole team. For more information, see [AUTOTITLE](/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team).
## Reviewing pull requests
Reviews allow for discussion of proposed changes and help ensure that the changes meet the repository's contributing guidelines and other quality standards. You can define which individuals or teams own certain types or areas of code in a CODEOWNERS file. When a pull request modifies code that has a defined owner, that individual or team will automatically be requested as a reviewer. For more information, see [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners).
Anyone with read access can review and comment on proposed changes. When submitting a review, choose one of three statuses:
For an introduction to requesting and providing pull request reviews, see the [Review pull requests](https://github.com/skills/review-pull-requests) {% data variables.product.prodname_learning %} course.
* **Comment**: Share feedback without approving or requesting changes.
* **Approve**: Approve the changes for merging.
* **Request changes**: Identify issues that must be fixed before merging.
{% ifversion fpt or ghec %}You can schedule reminders for pull requests that need to be reviewed. For more information, see [AUTOTITLE](/organizations/organizing-members-into-teams/managing-scheduled-reminders-for-your-team).{% endif %}
You can comment on specific lines, suggest changes for authors to apply directly, and discuss implementation approaches. Reviews appear in the conversation timeline and merge box. Mark conversation threads as resolved to track addressed feedback.
A review has three possible statuses:
* **Comment:** Submit general feedback without explicitly approving the changes or requesting additional changes.
* **Approve:** Submit feedback and approve merging the changes proposed in the pull request.
* **Request changes:** Submit feedback that must be addressed before the pull request can be merged.
## Requesting reviews
{% data reusables.repositories.request-changes-tips %}
You can view all of the reviews a pull request has received in the Conversation timeline, and you can see reviews by repository owners and collaborators in the pull request's merge box.
![Screenshot of the merge box for a pull request. A review by Octocat with requested changes is listed.](/assets/images/help/pull_requests/merge_box/pr-reviews-in-merge-box.png)
{% data reusables.search.requested_reviews_search_tip %}
{% data reusables.pull_requests.resolving-conversations %}
## Re-requesting a review
{% data reusables.pull_requests.re-request-review %}
Repository owners and collaborators can request reviews from specific people or teams. When you define code owners in a CODEOWNERS file, they're automatically requested as reviewers when a pull request modifies their code. You can re-request reviews after making significant changes.
## Required reviews
{% data reusables.pull_requests.required-reviews-for-prs-summary %} For more information, see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-pull-request-reviews-before-merging).
> [!TIP]
> If necessary, people with _admin_ or _write_ access to a repository can dismiss a pull request review. For more information, see [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review).
Repository administrators can require approvals before pull requests are merged, ensuring code quality and preventing accidental merges. For more information, see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-pull-request-reviews-before-merging).
## Further reading
* [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request)
* [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/viewing-a-pull-request-review)
* [AUTOTITLE](/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors){% ifversion copilot %}
* [AUTOTITLE](/copilot/using-github-copilot/code-review/using-copilot-code-review)
* [AUTOTITLE](/copilot/using-github-copilot/coding-agent/using-copilot-to-work-on-an-issue){% endif %}{% ifversion code-quality %}
* [AUTOTITLE](/code-security/code-quality/tutorials/fix-findings-in-prs){% endif %}
* [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review)
* Learn more in the [Review pull requests](https://github.com/skills/review-pull-requests?ref_product=github&ref_type=engagement&ref_style=text) {% data variables.product.prodname_learning %} course

View File

@@ -54,7 +54,23 @@ To reply to an existing line or file comment, you'll need to navigate to the com
Anyone watching the pull request or repository will receive a notification of your comments. Batching your comments avoids multiple notifications being sent. {% ifversion copilot %}If you are commenting on a pull request created by {% data variables.product.prodname_copilot_short %}, batching your comments prevents {% data variables.product.prodname_copilot_short %} from starting to work on individual comments before you have completed your review. See [AUTOTITLE](/copilot/using-github-copilot/coding-agent/using-copilot-to-work-on-an-issue).{% endif %}
{% data reusables.pull_requests.resolving-conversations %}
### Resolving conversations
You can resolve a conversation in a pull request if you opened the pull request or if you have write access to the repository where the pull request was opened.
To indicate that a conversation on the **Files changed** tab is complete, click **Resolve conversation**.
The entire conversation will be collapsed and marked as resolved, making it easier to find conversations that still need to be addressed.
If the suggestion in a comment is out of your pull request's scope, you can open a new issue that tracks the feedback and links back to the original comment. For more information, see [AUTOTITLE](/issues/tracking-your-work-with-issues/creating-an-issue#creating-an-issue-from-a-comment).
#### Discovering and navigating conversations
You can discover and navigate to all the conversations in your pull request using the **Conversations** menu that's shown at the top of the **Files Changed** tab.
From this view, you can see which conversations are unresolved, resolved, and outdated. This makes it easy to discover and resolve conversations.
![Screenshot of the "Conversations" menu on the "Files Changed" tab of a pull request.](/assets/images/help/pull_requests/conversations-menu.png)
## Further reading

View File

@@ -38,7 +38,8 @@ Each person who suggested a change included in the commit will be a co-author of
## Re-requesting a review
{% data reusables.pull_requests.re-request-review %}
You can re-request a review, for example, after you've made substantial changes to your pull request.
To request a fresh review from a reviewer, in the sidebar of the **Conversation** tab, click the {% octicon "sync" aria-label="The sync icon" %} icon.
## Opening an issue for an out-of-scope suggestion

View File

@@ -100,7 +100,7 @@ People with admin permissions for a repository can change an existing repository
## About internal repositories
{% data reusables.repositories.about-internal-repos %} For more information on innersource, see {% data variables.product.prodname_dotcom %}'s whitepaper [An introduction to innersource](https://resources.github.com/whitepapers/introduction-to-innersource/).
{% data reusables.repositories.about-internal-repos %} For more information on innersource, see [AUTOTITLE](/admin/concepts/enterprise-best-practices/use-innersource).
{% ifversion ghec %}

View File

@@ -27,6 +27,7 @@ children:
- /transferring-a-repository
- /deleting-a-repository
- /restoring-a-deleted-repository
- /viewing-all-your-repositories
shortTitle: Create & manage repositories
---

View File

@@ -0,0 +1,47 @@
---
title: Viewing all repositories
intro: 'The repository dashboard lists the repositories you''ve created as well as where you''ve made contributions. You can use search and filters to find the right repositories and create saved views.'
allowTitleToDifferFromFilename: true
versions:
fpt: '*'
ghec: '*'
ghes: '>=3.22'
topics:
- Repositories
shortTitle: View all repositories
type: how_to
---
## Viewing repositories
Your repository dashboard is available at the top of any page. On the dashboard, you can see repositories by `My contributions`, `My repositories`, and `My forks`.
1. At the top of any page, click **{% octicon "repo" aria-hidden="true" aria-label="repo" %}** to see your repositories.
1. Optionally, choose a filter or use the search bar to filter for more specific results. Refine your search using filters like `visibility`, `language`, `organization`, and more. Sort by relevance to intelligently surface the repositories you're most active in.
{% ifversion issues-saved-views %}
## Tracking repositories with saved views
To help you better monitor and find repositories across multiple organizations, you can create saved views on the repository dashboard.
You can create up to 25 saved views.
### Create a saved view
1. At the top of any page, click **{% octicon "repo" aria-hidden="true" aria-label="repo" %}** to see your repositories.
1. On the left sidebar, under "Views", click **{% octicon "plus" aria-label="Create view" %}**.
1. Add a title, description, and custom icon for your view.
1. Under "Query", build your search query using the advanced filters. For help using filters, see [AUTOTITLE](/search-github/searching-on-github/searching-for-repositories).
> [!TIP] Use the `organization:<slug>` filter followed by `props.key:value` to find repositories by organization custom properties.
1. Click **Save view**.
### Edit, duplicate, or delete a saved view
1. At the top of any page, click **{% octicon "repo" aria-hidden="true" aria-label="repo" %}** to see your repositories.
1. On the left sidebar, under "Views", click the saved view you want to edit, duplicate or delete.
1. To the right of the name of the saved view, click **{% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}**.
1. Click **{% octicon "pencil" aria-hidden="true" aria-label="pencil" %} Edit** to modify the view, **{% octicon "duplicate" aria-hidden="true" aria-label="duplicate" %} Duplicate** to create a copy of the view, or **{% octicon "trash" aria-hidden="true" aria-label="trash" %} Delete** to remove the view.
{% endif %}

View File

@@ -0,0 +1,14 @@
---
title: REST API endpoints for {% data variables.product.prodname_dependabot %} alert dismissal requests
shortTitle: Alert dismissal requests
intro: 'Use the REST API to manage {% data variables.product.prodname_dependabot %} alert dismissal requests for a repository.'
versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖
ghec: '*'
ghes: '>=3.19'
topics:
- API
autogenerated: rest
allowTitleToDifferFromFilename: true
---
<!-- Content after this section is automatically generated -->

View File

@@ -1,8 +1,10 @@
---
title: 'REST API endpoints for {% data variables.product.prodname_dependabot %}'
title: REST API endpoints for {% data variables.product.prodname_dependabot %}
shortTitle: Dependabot
intro: >-
Use the REST API to interact with {% data variables.product.prodname_dependabot_alerts %} and secrets for an organization or repository.
Use the REST API to interact with {% data
variables.product.prodname_dependabot_alerts %} and secrets for an
organization or repository.
allowTitleToDifferFromFilename: true
versions:
fpt: '*'
@@ -11,6 +13,7 @@ versions:
topics:
- API
children:
- /alert-dismissal-requests
- /alerts
- /repository-access
- /secrets

Some files were not shown because too many files have changed in this diff Show More