Fully dynamic GitHub data fetching - AI has FULL read-only control! 4 modes: 1. graphql_query: Raw GraphQL query - AI writes the query directly 2. rest_endpoint: REST API path relative to repo (e.g., 'actions/runs') 3. rest_url: Full GitHub API URL (e.g., 'https://api.github.co
(
request: str = None,
graphql_query: str = None,
rest_endpoint: str = None,
rest_url: str = None,
include_body: bool = False,
limit: int = 50,
_context: dict = None,
**kwargs,
)
| 1494 | |
| 1495 | |
| 1496 | async def tool_github_custom( |
| 1497 | request: str = None, |
| 1498 | graphql_query: str = None, |
| 1499 | rest_endpoint: str = None, |
| 1500 | rest_url: str = None, |
| 1501 | include_body: bool = False, |
| 1502 | limit: int = 50, |
| 1503 | _context: dict = None, |
| 1504 | **kwargs, |
| 1505 | ) -> dict: |
| 1506 | """ |
| 1507 | Fully dynamic GitHub data fetching - AI has FULL read-only control! |
| 1508 | |
| 1509 | 4 modes: |
| 1510 | 1. graphql_query: Raw GraphQL query - AI writes the query directly |
| 1511 | 2. rest_endpoint: REST API path relative to repo (e.g., 'actions/runs') |
| 1512 | 3. rest_url: Full GitHub API URL (e.g., 'https://api.github.com/users/octocat') |
| 1513 | 4. request: Natural language fallback (keyword matching) |
| 1514 | """ |
| 1515 | return await github_graphql.execute_custom_request( |
| 1516 | request=request or "", |
| 1517 | include_body=include_body, |
| 1518 | limit=limit, |
| 1519 | graphql_query=graphql_query, |
| 1520 | rest_endpoint=rest_endpoint, |
| 1521 | rest_url=rest_url, |
| 1522 | ) |
| 1523 | |
| 1524 | |
| 1525 | async def tool_github_overview( |
nothing calls this directly
no test coverage detected