Commit Graph

39 Commits

Author SHA1 Message Date
Matt Holloway 8e7fa5536e Update pkg/github/actions.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-20 16:48:29 +00:00
Matt Holloway b141589cda Update pkg/github/actions.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-20 16:48:13 +00:00
Matt Holloway c3283c9ad4 fix test err string 2025-11-20 15:32:40 +00:00
Matt Holloway fc48cfea52 update actions run trigger tool to include delete 2025-11-20 15:30:22 +00:00
Matt Holloway 348b2bd0b4 update get_job_log to get_workflow_job_logs 2025-11-20 14:50:17 +00:00
Matt Holloway 72fb1d5d37 lint and bug fixes for actions get logs tools 2025-11-20 14:41:14 +00:00
Matt Holloway d8e94928b8 consolidate get logs tools 2025-11-20 14:33:03 +00:00
Matt Holloway c0f99d1242 refactor: update tool description and comment formatting in actions.go 2025-11-20 11:36:04 +00:00
Matt Holloway 817292ed1e Merge branch 'main' into actions-consolidated 2025-11-19 14:01:55 +00:00
Jonathan c73f06fa29 bumps google/go-github to v79 2025-11-15 22:07:38 +01:00
Jonathan cf0e05e300 Update to google/go-github@v77 (#1357)
* update to google/go-github@v77

* licences update from required CI build

* fixes licences

* fixes possible nil reference

* refresh licences due to recent conflicts

---------

Co-authored-by: Roberto Nacu <kerobbi@github.com>
2025-11-07 08:06:27 -08:00
Adam Holt 7028be0281 Improve descriptions to be clearer
Build and Test Go Project / build (ubuntu-latest) (push) Has been cancelled
Build and Test Go Project / build (windows-latest) (push) Has been cancelled
License Check / license-check (push) Has been cancelled
Build and Test Go Project / build (macos-latest) (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
The filters don't return something new, they filter existing results.
2025-10-31 17:12:19 +01:00
Adam Holt 617e44c3aa Update description 2025-10-31 16:38:14 +01:00
Adam Holt c398bc257a Split out into List and Get tools, add trigger 2025-10-31 16:01:37 +01:00
Adam Holt 6722490e61 Make it clear you can pass a file name 2025-10-30 17:05:58 +01:00
Adam Holt ff4af578de More detailed descriptions 2025-10-30 16:46:17 +01:00
Adam Holt 02526f5d2a Merge branch 'main' into actions-consolidated 2025-10-30 15:31:35 +01:00
Adam Holt eb4dd2784e fix linter issues 2025-10-30 14:56:54 +01:00
Adam Holt a5a2267d1a Fix tests 2025-10-30 14:50:17 +01:00
Adam Holt 73131911f2 Add the list_workflows option to the actions_read tool 2025-10-30 12:52:05 +01:00
Adam Holt cdcbe4bff2 Add filename for the description 2025-10-30 12:46:01 +01:00
Adam Holt 972edb15fa Update description 2025-10-30 11:29:57 +01:00
Adam Holt 88869ceae0 Update description 2025-10-29 16:45:39 +01:00
Adam Holt 6baf170bb0 Take a string and parse 2025-10-28 14:48:46 +01:00
Adam Holt ee9abaa001 Change to actions_read 2025-10-27 17:23:42 +01:00
Jonathan 6f5040734a Updates github-mcp-server to go-github/v76 (#1289)
* updates github-mcp-server to go-github/v76

* updates license files

* refactors ListProjects to make use of
google/go-github ProjectsService

* refactors GetProject to make use of google/go-github ProjectsService

* declaring commit without a pointer

* cleanup additional commit pointer

---------

Co-authored-by: Tommaso Moro <37270480+tommaso-moro@users.noreply.github.com>
2025-10-27 13:53:53 +01:00
Adam Holt 3cf224cb58 Renamed resource to action, added usage 2025-10-17 17:27:54 +02:00
Adam Holt f0b883568a Add implementations for consolidated Actions resource read tool 2025-10-17 15:34:26 +02:00
Adam Holt dc6f457a4a Workflow read 2025-10-15 14:35:32 +02:00
Matt Holloway 2621dbefd9 Add actions job log buffer and profiler (#866)
* add sliding window for actions logs

* refactor: fix sliding

* remove trim content

* only use up to 1mb of memory for logs

* update to tail lines in second pass

* add better memory usage calculation

* increase window size to 5MB

* update test

* update vers

* undo vers change

* add incremental memory tracking

* use ring buffer

* remove unused ctx param

* remove manual GC clear

* fix cca feedback

* extract ring buffer logic to new package

* handle log content processing errors and use correct param for maxjobloglines

* fix tailing

* account for if tailLines exceeds window size

* add profiling thats reusable

* remove profiler testing

* refactor profiler: introduce safeMemoryDelta for accurate memory delta calculations

* linter fixes

* Update pkg/buffer/buffer.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* use flag for maxJobLogLines

* add param passing for context window size

* refactor: rename contextWindowSize to contentWindowSize for consistency

* fix: use tailLines if bigger but only if <= 5000

* fix: limit tailLines to a maximum of 500 for log content download

* Update cmd/github-mcp-server/main.go

Co-authored-by: Adam Holt <omgitsads@github.com>

* Update cmd/github-mcp-server/main.go

Co-authored-by: Adam Holt <omgitsads@github.com>

* move profiler to internal/

* update actions test with new profiler location

* fix: adjust buffer size limits

* make line buffer 1028kb

* fix mod path

* change test to use same buffer size as normal use

* improve test for non-sliding window implementation to not count empty lines

* make test memory measurement more accurate

* remove impossible conditional

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Adam Holt <omgitsads@github.com>
2025-08-19 14:02:16 +01:00
Adam Holt 842003a572 Handle Actions Cancel Workflow Run returning a 202 (#855)
Actions Cancel Workflow Run returns a 202 on success. Check for a `*github.AcceptedError` in response to the API call to handle this correctly.
2025-08-12 10:30:24 +02:00
Tommaso Moro 521d5e9258 Bump go-github to v74 (#826)
* update all imports to use v74

* go mod tidy

* update third party licenses

* rename

* autogen licenses
2025-08-06 22:11:50 +01:00
Matt Holloway 7ccc6b6493 Add pagination support to GraphQL-based tools (#683)
* initial pagination for `ListDiscussions`

* redo category id var cast

* add GraphQL pagination support for discussion comments and categories

* remove pageinfo returns

* fix out ref for linter

* update docs

* move to unified pagination for consensus on params

* update docs

* refactor pagination handling

* update docs

* linter fix

* conv rest to gql params for safe lint

* add nolint

* add error handling for perPage value in ToGraphQLParams

* refactor pagination error handling

* unified params for rest andn graphql and rennamed to be uniform for golang

* add 'after' for pagination

* update docs

* Update pkg/github/discussions.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update pkg/github/discussions.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update pkg/github/discussions_test.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* update default page size const

* reduce default pagination size from 100 to 30 in discussion tests

* update pagination for reverse and total

* update pagination to remove from discussions

* updated README

* improve the `ToGraphQLParams` function

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-21 16:31:29 +01:00
Martin Høst Normark be91795fd3 Bump go-github to v73.0.0 (#597)
* Bump go-github to v73.0.0

* Clean up go.mod and update licenses

* Updated remaining imports to use github package v73 instead of v72

---------

Co-authored-by: Tommaso Moro <37270480+tommaso-moro@users.noreply.github.com>
Co-authored-by: tommaso-moro <tommaso-moro@github.com>
2025-07-15 15:21:24 +01:00
Lulu 08a49b0f81 use WithPagination tool option (#632) 2025-07-03 15:33:21 +01:00
JoannaaKL 721fd3e3c8 Add comment to trim lines (#621)
Docker / build (push) Has been cancelled
Build and Test Go Project / build (macos-latest) (push) Has been cancelled
Build and Test Go Project / build (ubuntu-latest) (push) Has been cancelled
Build and Test Go Project / build (windows-latest) (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
License Check / license-check (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
2025-07-01 10:02:31 +02:00
JoannaaKL 7c62774271 Add tail logs option (#615) 2025-06-30 20:25:08 +02:00
Sam Morrow f90ff16f2e move to new approach and update testing 2025-06-25 08:12:38 +02:00
Gabor Nyerges da6476def8 feat: add GitHub Actions tools for workflow management (#491)
* feat: add GitHub Actions tools for workflow management

- Introduced new tools for managing GitHub Actions workflows, including listing workflows, running workflows, canceling workflow runs, and retrieving workflow run logs.
- Updated README.md to include new `actions` toolset and detailed descriptions of the new tools.
- Added comprehensive tests for the new functionality to ensure reliability and correctness.

* feat: enhance GitHub Actions toolset with additional workflow management capabilities

- Added new tools for managing GitHub Actions, including listing workflows, retrieving workflow run logs, and managing workflow runs.
- Integrated the new `actions` toolset into the default toolset group for improved accessibility.

* feat: enhance GetJobLogs functionality for improved job log retrieval

- Added new tests for GetJobLogs, including scenarios for retrieving logs for both single jobs and failed jobs.
- Updated GetJobLogs tool description to clarify its capabilities for fetching logs efficiently.
- Implemented error handling for missing required parameters and optimized responses for failed job logs.
- Introduced functionality to return actual log content instead of just URLs when requested.

* feat: enhance GetJobLogs functionality for improved job log retrieval

- Added new tests for GetJobLogs, including scenarios for retrieving logs for both single jobs and failed jobs.
- Updated GetJobLogs tool description to clarify its capabilities for fetching logs efficiently.
- Implemented error handling for missing required parameters and optimized responses for failed job logs.
- Introduced functionality to return actual log content instead of just URLs when requested.

* refactor: standardize parameter handling and read-only hints in GitHub Actions tools

- Replaced instances of `requiredParam` with `RequiredParam` for consistency across all tools.
- Updated `toBoolPtr` to `ToBoolPtr` in tool annotations to maintain uniformity in boolean pointer handling.
- Ensured all tools in the GitHub Actions suite adhere to the new naming conventions for improved readability and maintainability.

* docs: add missing actions toolset to Available Toolsets table

* feat: enhance GitHub Actions tool descriptions with enumerated options

- Updated descriptions for workflow run status and job filters to include enumerated options for clarity.
- Improved documentation for better usability and understanding of available parameters.

* feat: expand event type options in GitHub Actions tool descriptions

- Enhanced the event parameter description in the ListWorkflowRuns function to include a comprehensive list of supported event types.
- Improved clarity and usability for users by providing enumerated options for event types in the documentation.

* feat: add support for running workflows by ID and filename in GitHub Actions tools

- Introduced a new tool, RunWorkflowByFileName, to allow users to run workflows using the workflow filename.
- Updated the existing RunWorkflow tool to accept a numeric workflow ID instead of a filename.
- Enhanced tests to cover scenarios for both running workflows by ID and filename, including error handling for missing parameters.
- Improved tool descriptions for clarity and usability.

* feat: standardize repository parameter descriptions in GitHub Actions tools

- Introduced constants for repository owner and name descriptions to enhance consistency across multiple tools.
- Updated all relevant tools to use the new constants for improved clarity and maintainability in parameter descriptions.

* feat: enhance GitHub Actions tools with user-friendly titles

- Added user-friendly titles to tool annotations for various GitHub Actions tools, improving clarity and usability for end-users.
- Updated descriptions for tools including ListWorkflows, ListWorkflowRuns, RunWorkflow, and others to include new titles for better identification and understanding of their functionalities.

* feat: unify workflow execution in GitHub Actions tools

- Refactored the RunWorkflow tool to accept both numeric workflow IDs and filenames, enhancing flexibility for users.
- Updated the corresponding tests to reflect changes in parameter handling and added assertions for workflow type in responses.
- Removed the separate RunWorkflowByFileName tool to streamline functionality and improve code maintainability.

* fix: linting issues
2025-06-18 14:56:58 +02:00