Skip to content

Commit 10bb0ee

Browse files
Merge branch 'main' into dependabot/docker/golang-1.27.1-alpine
2 parents 896be28 + 1855a38 commit 10bb0ee

77 files changed

Lines changed: 6514 additions & 429 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/close-inactive-issues.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
issues: write
1515
pull-requests: write
1616
steps:
17-
- uses: actions/stale@v10
17+
- uses: actions/stale@v11
1818
with:
1919
days-before-issue-stale: ${{ env.PR_DAYS_BEFORE_STALE }}
2020
days-before-issue-close: ${{ env.PR_DAYS_BEFORE_CLOSE }}

.github/workflows/code-scanning.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
uses: actions/checkout@v7
4545

4646
- name: Initialize CodeQL
47-
uses: github/codeql-action/init@v4.37.4
47+
uses: github/codeql-action/init@v4.37.9
4848
with:
4949
languages: ${{ matrix.language }}
5050
build-mode: ${{ matrix.build-mode }}
@@ -61,13 +61,13 @@ jobs:
6161
threat-models: [ ]
6262
- name: Setup proxy for registries
6363
id: proxy
64-
uses: github/codeql-action/start-proxy@v4.37.4
64+
uses: github/codeql-action/start-proxy@v4.37.9
6565
with:
6666
registries_credentials: ${{ secrets.GITHUB_REGISTRIES_PROXY }}
6767
language: ${{ matrix.language }}
6868

6969
- name: Configure
70-
uses: github/codeql-action/resolve-environment@v4.37.4
70+
uses: github/codeql-action/resolve-environment@v4.37.9
7171
id: resolve-environment
7272
with:
7373
language: ${{ matrix.language }}
@@ -91,10 +91,10 @@ jobs:
9191
uses: ./.github/actions/build-ui
9292

9393
- name: Autobuild
94-
uses: github/codeql-action/autobuild@v4.37.4
94+
uses: github/codeql-action/autobuild@v4.37.9
9595

9696
- name: Perform CodeQL Analysis
97-
uses: github/codeql-action/analyze@v4.37.4
97+
uses: github/codeql-action/analyze@v4.37.9
9898
env:
9999
CODEQL_PROXY_HOST: ${{ steps.proxy.outputs.proxy_host }}
100100
CODEQL_PROXY_PORT: ${{ steps.proxy.outputs.proxy_port }}

.github/workflows/codeql.yml

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# For most projects, this workflow file will not need changing; you simply need
2+
# to commit it to your repository.
3+
#
4+
# You may wish to alter this file to override the set of languages analyzed,
5+
# or to provide custom queries or build logic.
6+
#
7+
# ******** NOTE ********
8+
# We have attempted to detect the languages in your repository. Please check
9+
# the `language` matrix defined below to confirm you have the correct set of
10+
# supported CodeQL languages.
11+
#
12+
name: "CodeQL Advanced"
13+
14+
on:
15+
push:
16+
branches: [ "main" ]
17+
pull_request:
18+
branches: [ "main" ]
19+
schedule:
20+
- cron: '41 16 * * 1'
21+
22+
jobs:
23+
analyze:
24+
name: Analyze (${{ matrix.language }})
25+
# Runner size impacts CodeQL analysis time. To learn more, please see:
26+
# - https://gh.io/recommended-hardware-resources-for-running-codeql
27+
# - https://gh.io/supported-runners-and-hardware-resources
28+
# - https://gh.io/using-larger-runners (GitHub.com only)
29+
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
30+
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
31+
permissions:
32+
# required for all workflows
33+
security-events: write
34+
35+
# required to fetch internal or private CodeQL packs
36+
packages: read
37+
38+
# only required for workflows in private repositories
39+
actions: read
40+
contents: read
41+
42+
strategy:
43+
fail-fast: false
44+
matrix:
45+
include:
46+
- language: actions
47+
build-mode: none
48+
- language: go
49+
build-mode: autobuild
50+
- language: javascript-typescript
51+
build-mode: none
52+
# CodeQL supports the following values keywords for 'language': 'actions', 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'rust', 'swift'
53+
# Use `c-cpp` to analyze code written in C, C++ or both
54+
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
55+
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
56+
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
57+
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
58+
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
59+
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
60+
steps:
61+
- name: Checkout repository
62+
uses: actions/checkout@v7
63+
64+
# Add any setup steps before running the `github/codeql-action/init` action.
65+
# This includes steps like installing compilers or runtimes (`actions/setup-node`
66+
# or others). This is typically only required for manual builds.
67+
# - name: Setup runtime (example)
68+
# uses: actions/setup-example@v1
69+
70+
# Initializes the CodeQL tools for scanning.
71+
- name: Initialize CodeQL
72+
uses: github/codeql-action/init@v4
73+
with:
74+
languages: ${{ matrix.language }}
75+
build-mode: ${{ matrix.build-mode }}
76+
# If you wish to specify custom queries, you can do so here or in a config file.
77+
# By default, queries listed here will override any specified in a config file.
78+
# Prefix the list here with "+" to use these queries and those in the config file.
79+
80+
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
81+
# queries: security-extended,security-and-quality
82+
83+
# If the analyze step fails for one of the languages you are analyzing with
84+
# "We were unable to automatically build your code", modify the matrix above
85+
# to set the build mode to "manual" for that language. Then modify this step
86+
# to build your code.
87+
# ℹ️ Command-line programs to run using the OS shell.
88+
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
89+
- name: Run manual build steps
90+
if: matrix.build-mode == 'manual'
91+
shell: bash
92+
run: |
93+
echo 'If you are using a "manual" build mode for one or more of the' \
94+
'languages you are analyzing, replace this with the commands to build' \
95+
'your code, for example:'
96+
echo ' make bootstrap'
97+
echo ' make release'
98+
exit 1
99+
100+
- name: Perform CodeQL Analysis
101+
uses: github/codeql-action/analyze@v4
102+
with:
103+
category: "/language:${{matrix.language}}"

README.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -586,6 +586,7 @@ The following sets of tools are available:
586586
| <picture><source media="(prefers-color-scheme: dark)" srcset="pkg/octicons/icons/comment-discussion-dark.png"><source media="(prefers-color-scheme: light)" srcset="pkg/octicons/icons/comment-discussion-light.png"><img src="pkg/octicons/icons/comment-discussion-light.png" width="20" height="20" alt="comment-discussion"></picture> | `discussions` | GitHub Discussions related tools |
587587
| <picture><source media="(prefers-color-scheme: dark)" srcset="pkg/octicons/icons/logo-gist-dark.png"><source media="(prefers-color-scheme: light)" srcset="pkg/octicons/icons/logo-gist-light.png"><img src="pkg/octicons/icons/logo-gist-light.png" width="20" height="20" alt="logo-gist"></picture> | `gists` | GitHub Gist related tools |
588588
| <picture><source media="(prefers-color-scheme: dark)" srcset="pkg/octicons/icons/git-branch-dark.png"><source media="(prefers-color-scheme: light)" srcset="pkg/octicons/icons/git-branch-light.png"><img src="pkg/octicons/icons/git-branch-light.png" width="20" height="20" alt="git-branch"></picture> | `git` | GitHub Git API related tools for low-level Git operations |
589+
| <picture><source media="(prefers-color-scheme: dark)" srcset="pkg/octicons/icons/law-dark.png"><source media="(prefers-color-scheme: light)" srcset="pkg/octicons/icons/law-light.png"><img src="pkg/octicons/icons/law-light.png" width="20" height="20" alt="law"></picture> | `governance` | Repository governance tools for managing rulesets and custom properties at the repository, organization, and enterprise levels |
589590
| <picture><source media="(prefers-color-scheme: dark)" srcset="pkg/octicons/icons/issue-opened-dark.png"><source media="(prefers-color-scheme: light)" srcset="pkg/octicons/icons/issue-opened-light.png"><img src="pkg/octicons/icons/issue-opened-light.png" width="20" height="20" alt="issue-opened"></picture> | `issues` | GitHub Issues related tools |
590591
| <picture><source media="(prefers-color-scheme: dark)" srcset="pkg/octicons/icons/tag-dark.png"><source media="(prefers-color-scheme: light)" srcset="pkg/octicons/icons/tag-light.png"><img src="pkg/octicons/icons/tag-light.png" width="20" height="20" alt="tag"></picture> | `labels` | GitHub Labels related tools |
591592
| <picture><source media="(prefers-color-scheme: dark)" srcset="pkg/octicons/icons/bell-dark.png"><source media="(prefers-color-scheme: light)" srcset="pkg/octicons/icons/bell-light.png"><img src="pkg/octicons/icons/bell-light.png" width="20" height="20" alt="bell"></picture> | `notifications` | GitHub Notifications related tools |
@@ -872,6 +873,81 @@ The following sets of tools are available:
872873

873874
<details>
874875

876+
<summary><picture><source media="(prefers-color-scheme: dark)" srcset="pkg/octicons/icons/law-dark.png"><source media="(prefers-color-scheme: light)" srcset="pkg/octicons/icons/law-light.png"><img src="pkg/octicons/icons/law-light.png" width="20" height="20" alt="law"></picture> Governance</summary>
877+
878+
- **create_repository_ruleset** - Create repository ruleset
879+
- **OAuth Challenge Scopes**: `repo`, `admin:org`, `admin:enterprise`
880+
- `bypass_actors`: The actors that can bypass the rules in this ruleset (object[], optional)
881+
- `conditions`: Conditions for when this ruleset applies, e.g. {"ref_name": {"include": ["refs/heads/main"], "exclude": []}} (object, optional)
882+
- `enforcement`: The enforcement level of the ruleset. 'evaluate' allows admins to test rules before enforcing them (string, required)
883+
- `enterprise`: Enterprise slug. Required when level is 'enterprise'. (string, optional)
884+
- `level`: The level at which the ruleset is configured:
885+
- 'repository': A ruleset on a single repository (requires 'owner' and 'repo').
886+
- 'organization': A ruleset covering repositories in an organization (requires 'org').
887+
- 'enterprise': A ruleset covering repositories across an enterprise (requires 'enterprise'). (string, required)
888+
- `name`: The name of the ruleset (string, required)
889+
- `org`: Organization name. Required when level is 'organization'. (string, optional)
890+
- `owner`: Repository owner. Required when level is 'repository'. (string, optional)
891+
- `repo`: Repository name. Required when level is 'repository'. (string, optional)
892+
- `rules`: An array of rules within the ruleset. Each rule is an object with a 'type' (e.g. 'creation', 'deletion', 'non_fast_forward', 'required_signatures', 'pull_request', 'required_status_checks') and, for rules that need configuration, a 'parameters' object (object[], required)
893+
- `target`: The target of the ruleset. Defaults to 'branch'. 'repository' is only valid for 'organization' and 'enterprise' level rulesets. (string, optional)
894+
895+
- **custom_properties_read** - Read custom properties
896+
- **OAuth Challenge Scopes**: `repo`, `read:org`, `read:enterprise`
897+
- `enterprise`: Enterprise slug. Required when level is 'enterprise'. (string, optional)
898+
- `level`: The level at which custom properties are managed:
899+
- 'repository': The custom property VALUES assigned to a repository (requires 'owner' and 'repo').
900+
- 'organization': The custom property DEFINITIONS (schema) for an organization (requires 'org').
901+
- 'enterprise': The custom property DEFINITIONS (schema) for an enterprise (requires 'enterprise'). (string, required)
902+
- `org`: Organization name. Required when level is 'organization'. (string, optional)
903+
- `owner`: Repository owner. Required when level is 'repository'. (string, optional)
904+
- `repo`: Repository name. Required when level is 'repository'. (string, optional)
905+
906+
- **custom_properties_write** - Set custom properties
907+
- **OAuth Challenge Scopes**: `repo`, `admin:org`, `admin:enterprise`
908+
- `enterprise`: Enterprise slug. Required when level is 'enterprise'. (string, optional)
909+
- `level`: The level at which custom properties are managed:
910+
- 'repository': The custom property VALUES assigned to a repository (requires 'owner' and 'repo').
911+
- 'organization': The custom property DEFINITIONS (schema) for an organization (requires 'org').
912+
- 'enterprise': The custom property DEFINITIONS (schema) for an enterprise (requires 'enterprise'). (string, required)
913+
- `org`: Organization name. Required when level is 'organization'. (string, optional)
914+
- `owner`: Repository owner. Required when level is 'repository'. (string, optional)
915+
- `properties`: The custom properties to create or update. At the repository level each item assigns a value ('property_name' and 'value'); at the organization and enterprise levels each item defines the schema ('property_name' and 'value_type', plus optional definition fields). (object[], required)
916+
- `repo`: Repository name. Required when level is 'repository'. (string, optional)
917+
918+
- **repository_ruleset_read** - Read repository rulesets
919+
- **OAuth Challenge Scopes**: `repo`, `read:org`, `read:enterprise`
920+
- `actor_name`: The handle for the GitHub user account to filter rule suites on. Used by the 'list_rule_suites' method. (string, optional)
921+
- `branch`: Branch name. Required for the 'get_rules_for_branch' method. (string, optional)
922+
- `enterprise`: Enterprise slug. Required when level is 'enterprise'. (string, optional)
923+
- `evaluate_status`: Filter rule suites by ruleset evaluation mode. Used by the 'list_rule_suites' method. (string, optional)
924+
- `includes_parents`: Include rulesets configured at higher levels that also apply. Defaults to true. Used by the 'get' and 'list' methods at the repository level. (boolean, optional)
925+
- `level`: The level at which the ruleset is configured:
926+
- 'repository': A ruleset on a single repository (requires 'owner' and 'repo').
927+
- 'organization': A ruleset covering repositories in an organization (requires 'org').
928+
- 'enterprise': A ruleset covering repositories across an enterprise (requires 'enterprise'). (string, required)
929+
- `method`: Operation to perform:
930+
- 'get': Get a specific ruleset by ID (requires 'ruleset_id'). Supported at every level.
931+
- 'list': List all rulesets. Supported at every level.
932+
- 'get_rules_for_branch': Get all rules that apply to a branch (requires 'branch'). Repository level only.
933+
- 'list_rule_suites': List rule suites, the evaluations of rules against pushes. Repository and organization levels only.
934+
- 'get_rule_suite': Get a specific rule suite by ID (requires 'rule_suite_id'). Repository and organization levels only. (string, required)
935+
- `org`: Organization name. Required when level is 'organization'. (string, optional)
936+
- `owner`: Repository owner. Required when level is 'repository'. (string, optional)
937+
- `page`: Page number for pagination (min 1) (number, optional)
938+
- `perPage`: Results per page for pagination (min 1, max 100) (number, optional)
939+
- `ref`: The name of the ref (branch, tag, etc.) to filter rule suites by. Used by the 'list_rule_suites' method. (string, optional)
940+
- `repo`: Repository name. Required when level is 'repository'. (string, optional)
941+
- `repository_name`: Repository name to filter rule suites by. Used by the 'list_rule_suites' method at the organization level. (string, optional)
942+
- `rule_suite_id`: Rule suite ID. Required for the 'get_rule_suite' method. (number, optional)
943+
- `rule_suite_result`: The rule suite result to filter by. Used by the 'list_rule_suites' method. (string, optional)
944+
- `ruleset_id`: Ruleset ID. Required for the 'get' method. (number, optional)
945+
- `time_period`: The time period to filter rule suites by. Used by the 'list_rule_suites' method. (string, optional)
946+
947+
</details>
948+
949+
<details>
950+
875951
<summary><picture><source media="(prefers-color-scheme: dark)" srcset="pkg/octicons/icons/issue-opened-dark.png"><source media="(prefers-color-scheme: light)" srcset="pkg/octicons/icons/issue-opened-light.png"><img src="pkg/octicons/icons/issue-opened-light.png" width="20" height="20" alt="issue-opened"></picture> Issues</summary>
876952

877953
- **add_issue_comment** - Add comment to issue or pull request

agent-plugin/mcp.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",
3+
"mcpServers": {
4+
"github": {
5+
"type": "streamable-http",
6+
"url": "https://api.githubcopilot.com/mcp/"
7+
}
8+
}
9+
}

agent-plugin/plugin.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3+
"name": "github",
4+
"description": "Work with GitHub repositories, issues, pull requests, reviews, and code search through MCP.",
5+
"author": {
6+
"name": "GitHub",
7+
"url": "https://github.com/"
8+
},
9+
"homepage": "https://github.com/github/github-mcp-server",
10+
"repository": "https://github.com/github/github-mcp-server",
11+
"license": "MIT",
12+
"keywords": ["code-search", "github", "issues", "mcp", "pull-requests"]
13+
}

cmd/github-mcp-server/generate_docs.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,8 @@ func generateReadmeDocs(readmePath string) error {
6161

6262
// The README documents the default user experience: tools that are
6363
// enabled with no special flags set. Installing a checker that reports
64-
// every flag as disabled excludes tools gated by FeatureFlagEnable and
65-
// keeps the legacy variants of tools gated by FeatureFlagDisable, so
66-
// flag-gated duplicates don't appear twice.
64+
// every flag as disabled keeps the default variants selected by functional
65+
// feature rules, so flag-gated duplicates don't appear twice.
6766
// Build() can only fail if WithTools specifies invalid tools - not used here
6867
r, _ := github.NewInventory(t).
6968
WithToolsets([]string{"all"}).

0 commit comments

Comments
 (0)