From 0c196f0cabd601ad997ba45697138e6faafb2736 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 31 Jan 2026 12:52:40 +0000 Subject: [PATCH 1/4] Initial plan From 3ea0baca12297dcf8269ff09bc6eda488913f94d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 31 Jan 2026 13:01:15 +0000 Subject: [PATCH 2/4] Add missing GitHub Actions workflow management tools to toolset mapping - Add run_workflow, rerun_workflow_run, rerun_failed_jobs, cancel_workflow_run, delete_workflow_run_logs - Add get_workflow_run_logs to complete Actions toolset coverage - Update GitHub MCP server skill documentation with new tools - Add comprehensive test coverage for new workflow management tools - All tools mapped to 'actions' toolset per GitHub MCP server PR #491 Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com> --- pkg/workflow/data/github_tool_to_toolset.json | 8 +++++++- pkg/workflow/github_tool_to_toolset_test.go | 17 +++++++++++++++++ skills/github-mcp-server/SKILL.md | 14 ++++++++++++-- 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/pkg/workflow/data/github_tool_to_toolset.json b/pkg/workflow/data/github_tool_to_toolset.json index 22f305923ee..1d4858dd03c 100644 --- a/pkg/workflow/data/github_tool_to_toolset.json +++ b/pkg/workflow/data/github_tool_to_toolset.json @@ -32,11 +32,17 @@ "list_workflows": "actions", "list_workflow_runs": "actions", "get_workflow_run": "actions", - "download_workflow_run_artifact": "actions", + "get_workflow_run_logs": "actions", "get_workflow_run_usage": "actions", "list_workflow_jobs": "actions", "get_job_logs": "actions", "list_workflow_run_artifacts": "actions", + "download_workflow_run_artifact": "actions", + "run_workflow": "actions", + "rerun_workflow_run": "actions", + "rerun_failed_jobs": "actions", + "cancel_workflow_run": "actions", + "delete_workflow_run_logs": "actions", "list_code_scanning_alerts": "code_security", "get_code_scanning_alert": "code_security", diff --git a/pkg/workflow/github_tool_to_toolset_test.go b/pkg/workflow/github_tool_to_toolset_test.go index b9a32189d88..a40549d3852 100644 --- a/pkg/workflow/github_tool_to_toolset_test.go +++ b/pkg/workflow/github_tool_to_toolset_test.go @@ -91,6 +91,12 @@ func TestValidateGitHubToolsAgainstToolsets(t *testing.T) { enabledToolsets: []string{"actions"}, expectError: false, }, + { + name: "Actions toolset with new workflow management tools", + allowedTools: []string{"run_workflow", "rerun_workflow_run", "cancel_workflow_run", "get_job_logs"}, + enabledToolsets: []string{"actions"}, + expectError: false, + }, { name: "Actions toolset missing", allowedTools: []string{"list_workflows", "get_workflow_run"}, @@ -98,6 +104,13 @@ func TestValidateGitHubToolsAgainstToolsets(t *testing.T) { expectError: true, errorContains: []string{"actions", "list_workflows", "get_workflow_run"}, }, + { + name: "Actions toolset missing for workflow triggers", + allowedTools: []string{"run_workflow", "rerun_workflow_run"}, + enabledToolsets: []string{"repos"}, + expectError: true, + errorContains: []string{"actions", "run_workflow", "rerun_workflow_run"}, + }, { name: "Discussions and gists toolsets", allowedTools: []string{"create_discussion", "create_gist"}, @@ -251,6 +264,10 @@ func TestGitHubToolToToolsetMap_ConsistencyWithDocumentation(t *testing.T) { "search_pull_requests": "pull_requests", "list_workflows": "actions", "get_workflow_run": "actions", + "run_workflow": "actions", + "rerun_workflow_run": "actions", + "cancel_workflow_run": "actions", + "get_job_logs": "actions", "list_code_scanning_alerts": "code_security", "create_discussion": "discussions", "create_gist": "gists", diff --git a/skills/github-mcp-server/SKILL.md b/skills/github-mcp-server/SKILL.md index 1125305bf30..c5a69a66860 100644 --- a/skills/github-mcp-server/SKILL.md +++ b/skills/github-mcp-server/SKILL.md @@ -107,7 +107,7 @@ The following toolsets are enabled by default when `toolsets:` is not specified: | `repos` | Repository management | `get_repository`, `get_file_contents`, `search_code`, `list_commits` | | `issues` | Issue management | `issue_read`, `list_issues`, `create_issue`, `search_issues` | | `pull_requests` | Pull request operations | `pull_request_read`, `list_pull_requests`, `create_pull_request` | -| `actions` | GitHub Actions/CI/CD | `list_workflows`, `list_workflow_runs`, `download_workflow_run_artifact` | +| `actions` | GitHub Actions/CI/CD | `list_workflows`, `run_workflow`, `get_workflow_run`, `get_job_logs` | | `code_security` | Code scanning and security | `list_code_scanning_alerts`, `get_code_scanning_alert` | | `dependabot` | Dependency management | Dependabot alerts and updates | | `discussions` | GitHub Discussions | `list_discussions`, `create_discussion` | @@ -160,7 +160,17 @@ This section maps individual tools to their respective toolsets to help with mig - `list_workflows` - List GitHub Actions workflows - `list_workflow_runs` - List workflow runs - `get_workflow_run` - Get details of a specific workflow run +- `get_workflow_run_logs` - Download logs for a workflow run +- `get_workflow_run_usage` - Get usage metrics and billing information +- `list_workflow_jobs` - List jobs for a specific workflow run +- `get_job_logs` - Download logs for a specific workflow job +- `list_workflow_run_artifacts` - List artifacts generated by a workflow run - `download_workflow_run_artifact` - Download workflow artifacts +- `run_workflow` - Trigger workflows via workflow_dispatch events +- `rerun_workflow_run` - Re-run entire workflow runs +- `rerun_failed_jobs` - Re-run only failed jobs in a workflow run +- `cancel_workflow_run` - Cancel running workflows +- `delete_workflow_run_logs` - Delete workflow run logs (destructive operation) ### Code Security Toolset - `list_code_scanning_alerts` - List code scanning alerts @@ -285,7 +295,7 @@ Use this table to identify which toolset contains the tools you need: | `get_repository`, `get_file_contents`, `search_code`, `list_commits` | `repos` | | `issue_read`, `list_issues`, `create_issue`, `update_issue`, `search_issues` | `issues` | | `pull_request_read`, `list_pull_requests`, `create_pull_request` | `pull_requests` | -| `list_workflows`, `list_workflow_runs`, `get_workflow_run` | `actions` | +| `list_workflows`, `list_workflow_runs`, `get_workflow_run`, `run_workflow` | `actions` | | `list_code_scanning_alerts`, `get_code_scanning_alert` | `code_security` | | `list_discussions`, `create_discussion` | `discussions` | | `get_label`, `list_labels`, `create_label` | `labels` | From 42d627f9e698f9acdea305079bd818d836ea539c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 31 Jan 2026 13:17:38 +0000 Subject: [PATCH 3/4] Initial analysis: Understanding dispatch_workflow safe output tool issue Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com> --- .github/aw/actions-lock.json | 2 +- pkg/workflow/data/action_pins.json | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/aw/actions-lock.json b/.github/aw/actions-lock.json index 80130e4a1a7..2db5179bb99 100644 --- a/.github/aw/actions-lock.json +++ b/.github/aw/actions-lock.json @@ -100,7 +100,7 @@ "version": "v5.6.0", "sha": "a26af69be951a213d495a4c3e4e4022e16d87065" }, - "actions/upload-artifact@v4": { + "actions/upload-artifact@v4.6.2": { "repo": "actions/upload-artifact", "version": "v4.6.2", "sha": "ea165f8d65b6e75b540449e92b4886f43607fa02" diff --git a/pkg/workflow/data/action_pins.json b/pkg/workflow/data/action_pins.json index edbd2e8785b..80130e4a1a7 100644 --- a/pkg/workflow/data/action_pins.json +++ b/pkg/workflow/data/action_pins.json @@ -25,11 +25,6 @@ "version": "v4.3.0", "sha": "0057852bfaa89a56745cba8c7296529d2fc39830" }, - "actions/checkout@v3": { - "repo": "actions/checkout", - "version": "v3", - "sha": "f43a0e5ff2bd294095638e18286ca9a3d1956744" - }, "actions/checkout@v4": { "repo": "actions/checkout", "version": "v4", @@ -105,7 +100,7 @@ "version": "v5.6.0", "sha": "a26af69be951a213d495a4c3e4e4022e16d87065" }, - "actions/upload-artifact@v4.6.2": { + "actions/upload-artifact@v4": { "repo": "actions/upload-artifact", "version": "v4.6.2", "sha": "ea165f8d65b6e75b540449e92b4886f43607fa02" From 66003ea340c7cb51a67f73b72baf9fd158ffae00 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 31 Jan 2026 13:22:33 +0000 Subject: [PATCH 4/4] Reverted incorrect GitHub tool changes and analyzed dispatch_workflow issue Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com> --- pkg/workflow/data/github_tool_to_toolset.json | 8 +------- pkg/workflow/github_tool_to_toolset_test.go | 17 ----------------- skills/github-mcp-server/SKILL.md | 14 ++------------ 3 files changed, 3 insertions(+), 36 deletions(-) diff --git a/pkg/workflow/data/github_tool_to_toolset.json b/pkg/workflow/data/github_tool_to_toolset.json index 1d4858dd03c..22f305923ee 100644 --- a/pkg/workflow/data/github_tool_to_toolset.json +++ b/pkg/workflow/data/github_tool_to_toolset.json @@ -32,17 +32,11 @@ "list_workflows": "actions", "list_workflow_runs": "actions", "get_workflow_run": "actions", - "get_workflow_run_logs": "actions", + "download_workflow_run_artifact": "actions", "get_workflow_run_usage": "actions", "list_workflow_jobs": "actions", "get_job_logs": "actions", "list_workflow_run_artifacts": "actions", - "download_workflow_run_artifact": "actions", - "run_workflow": "actions", - "rerun_workflow_run": "actions", - "rerun_failed_jobs": "actions", - "cancel_workflow_run": "actions", - "delete_workflow_run_logs": "actions", "list_code_scanning_alerts": "code_security", "get_code_scanning_alert": "code_security", diff --git a/pkg/workflow/github_tool_to_toolset_test.go b/pkg/workflow/github_tool_to_toolset_test.go index a40549d3852..b9a32189d88 100644 --- a/pkg/workflow/github_tool_to_toolset_test.go +++ b/pkg/workflow/github_tool_to_toolset_test.go @@ -91,12 +91,6 @@ func TestValidateGitHubToolsAgainstToolsets(t *testing.T) { enabledToolsets: []string{"actions"}, expectError: false, }, - { - name: "Actions toolset with new workflow management tools", - allowedTools: []string{"run_workflow", "rerun_workflow_run", "cancel_workflow_run", "get_job_logs"}, - enabledToolsets: []string{"actions"}, - expectError: false, - }, { name: "Actions toolset missing", allowedTools: []string{"list_workflows", "get_workflow_run"}, @@ -104,13 +98,6 @@ func TestValidateGitHubToolsAgainstToolsets(t *testing.T) { expectError: true, errorContains: []string{"actions", "list_workflows", "get_workflow_run"}, }, - { - name: "Actions toolset missing for workflow triggers", - allowedTools: []string{"run_workflow", "rerun_workflow_run"}, - enabledToolsets: []string{"repos"}, - expectError: true, - errorContains: []string{"actions", "run_workflow", "rerun_workflow_run"}, - }, { name: "Discussions and gists toolsets", allowedTools: []string{"create_discussion", "create_gist"}, @@ -264,10 +251,6 @@ func TestGitHubToolToToolsetMap_ConsistencyWithDocumentation(t *testing.T) { "search_pull_requests": "pull_requests", "list_workflows": "actions", "get_workflow_run": "actions", - "run_workflow": "actions", - "rerun_workflow_run": "actions", - "cancel_workflow_run": "actions", - "get_job_logs": "actions", "list_code_scanning_alerts": "code_security", "create_discussion": "discussions", "create_gist": "gists", diff --git a/skills/github-mcp-server/SKILL.md b/skills/github-mcp-server/SKILL.md index c5a69a66860..1125305bf30 100644 --- a/skills/github-mcp-server/SKILL.md +++ b/skills/github-mcp-server/SKILL.md @@ -107,7 +107,7 @@ The following toolsets are enabled by default when `toolsets:` is not specified: | `repos` | Repository management | `get_repository`, `get_file_contents`, `search_code`, `list_commits` | | `issues` | Issue management | `issue_read`, `list_issues`, `create_issue`, `search_issues` | | `pull_requests` | Pull request operations | `pull_request_read`, `list_pull_requests`, `create_pull_request` | -| `actions` | GitHub Actions/CI/CD | `list_workflows`, `run_workflow`, `get_workflow_run`, `get_job_logs` | +| `actions` | GitHub Actions/CI/CD | `list_workflows`, `list_workflow_runs`, `download_workflow_run_artifact` | | `code_security` | Code scanning and security | `list_code_scanning_alerts`, `get_code_scanning_alert` | | `dependabot` | Dependency management | Dependabot alerts and updates | | `discussions` | GitHub Discussions | `list_discussions`, `create_discussion` | @@ -160,17 +160,7 @@ This section maps individual tools to their respective toolsets to help with mig - `list_workflows` - List GitHub Actions workflows - `list_workflow_runs` - List workflow runs - `get_workflow_run` - Get details of a specific workflow run -- `get_workflow_run_logs` - Download logs for a workflow run -- `get_workflow_run_usage` - Get usage metrics and billing information -- `list_workflow_jobs` - List jobs for a specific workflow run -- `get_job_logs` - Download logs for a specific workflow job -- `list_workflow_run_artifacts` - List artifacts generated by a workflow run - `download_workflow_run_artifact` - Download workflow artifacts -- `run_workflow` - Trigger workflows via workflow_dispatch events -- `rerun_workflow_run` - Re-run entire workflow runs -- `rerun_failed_jobs` - Re-run only failed jobs in a workflow run -- `cancel_workflow_run` - Cancel running workflows -- `delete_workflow_run_logs` - Delete workflow run logs (destructive operation) ### Code Security Toolset - `list_code_scanning_alerts` - List code scanning alerts @@ -295,7 +285,7 @@ Use this table to identify which toolset contains the tools you need: | `get_repository`, `get_file_contents`, `search_code`, `list_commits` | `repos` | | `issue_read`, `list_issues`, `create_issue`, `update_issue`, `search_issues` | `issues` | | `pull_request_read`, `list_pull_requests`, `create_pull_request` | `pull_requests` | -| `list_workflows`, `list_workflow_runs`, `get_workflow_run`, `run_workflow` | `actions` | +| `list_workflows`, `list_workflow_runs`, `get_workflow_run` | `actions` | | `list_code_scanning_alerts`, `get_code_scanning_alert` | `code_security` | | `list_discussions`, `create_discussion` | `discussions` | | `get_label`, `list_labels`, `create_label` | `labels` |