Skip to content

Commit 322a223

Browse files
committed
feat: Add GitHub Actions bot integration
- Created GitHubActionsService for managing GitHub Actions workflows - Added GitHub Actions button to UI toolbar - Created GitHubActionsView component for workflow management - Added command registration for GitHub Actions bot - Added configuration settings for GitHub Actions - Added localization strings for GitHub Actions feature - Integrated GitHub Actions view into the main app navigation This feature allows users to: - Install GitHub Actions workflows for automated issue and PR handling - Enable/disable the GitHub Actions bot - Configure workflow templates - Set up GitHub repository secrets for API integration
1 parent ceb9d2b commit 322a223

File tree

9 files changed

+718
-4
lines changed

9 files changed

+718
-4
lines changed

packages/types/src/vscode.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ export const commandIds = [
3434
"mcpButtonClicked",
3535
"historyButtonClicked",
3636
"marketplaceButtonClicked",
37+
"githubActionsButtonClicked",
3738
"popoutButtonClicked",
3839
"cloudButtonClicked",
3940
"settingsButtonClicked",

src/activate/registerCommands.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,14 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt
158158
if (!visibleProvider) return
159159
visibleProvider.postMessageToWebview({ type: "action", action: "marketplaceButtonClicked" })
160160
},
161+
githubActionsButtonClicked: () => {
162+
const visibleProvider = getVisibleProviderOrLog(outputChannel)
163+
if (!visibleProvider) return
164+
165+
TelemetryService.instance.captureTitleButtonClicked("githubActions")
166+
167+
visibleProvider.postMessageToWebview({ type: "action", action: "githubActionsButtonClicked" })
168+
},
161169
showHumanRelayDialog: (params: { requestId: string; promptText: string }) => {
162170
const panel = getPanel()
163171

src/package.json

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,11 @@
9595
"title": "%command.marketplace.title%",
9696
"icon": "$(extensions)"
9797
},
98+
{
99+
"command": "roo-cline.githubActionsButtonClicked",
100+
"title": "%command.githubActions.title%",
101+
"icon": "$(github-action)"
102+
},
98103
{
99104
"command": "roo-cline.popoutButtonClicked",
100105
"title": "%command.openInEditor.title%",
@@ -254,9 +259,14 @@
254259
"when": "view == roo-cline.SidebarProvider"
255260
},
256261
{
257-
"command": "roo-cline.popoutButtonClicked",
262+
"command": "roo-cline.githubActionsButtonClicked",
258263
"group": "overflow@4",
259264
"when": "view == roo-cline.SidebarProvider"
265+
},
266+
{
267+
"command": "roo-cline.popoutButtonClicked",
268+
"group": "overflow@5",
269+
"when": "view == roo-cline.SidebarProvider"
260270
}
261271
],
262272
"editor/title": [
@@ -296,9 +306,14 @@
296306
"when": "activeWebviewPanelId == roo-cline.TabPanelProvider"
297307
},
298308
{
299-
"command": "roo-cline.popoutButtonClicked",
309+
"command": "roo-cline.githubActionsButtonClicked",
300310
"group": "overflow@4",
301311
"when": "activeWebviewPanelId == roo-cline.TabPanelProvider"
312+
},
313+
{
314+
"command": "roo-cline.popoutButtonClicked",
315+
"group": "overflow@5",
316+
"when": "activeWebviewPanelId == roo-cline.TabPanelProvider"
302317
}
303318
]
304319
},
@@ -417,6 +432,31 @@
417432
"minimum": 1,
418433
"maximum": 200,
419434
"description": "%settings.codeIndex.embeddingBatchSize.description%"
435+
},
436+
"rooCode.githubActions.enabled": {
437+
"type": "boolean",
438+
"default": false,
439+
"description": "%settings.githubActions.enabled.description%"
440+
},
441+
"rooCode.githubActions.workflowsPath": {
442+
"type": "string",
443+
"default": ".github/workflows",
444+
"description": "%settings.githubActions.workflowsPath.description%"
445+
},
446+
"rooCode.githubActions.autoInstall": {
447+
"type": "boolean",
448+
"default": false,
449+
"description": "%settings.githubActions.autoInstall.description%"
450+
},
451+
"rooCode.githubActions.defaultBranch": {
452+
"type": "string",
453+
"default": "main",
454+
"description": "%settings.githubActions.defaultBranch.description%"
455+
},
456+
"rooCode.githubActions.botToken": {
457+
"type": "string",
458+
"default": "",
459+
"description": "%settings.githubActions.botToken.description%"
420460
}
421461
}
422462
}

src/package.nls.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"command.prompts.title": "Modes",
1111
"command.history.title": "History",
1212
"command.marketplace.title": "Marketplace",
13+
"command.githubActions.title": "GitHub Actions",
1314
"command.openInEditor.title": "Open in Editor",
1415
"command.cloud.title": "Cloud",
1516
"command.settings.title": "Settings",
@@ -41,5 +42,10 @@
4142
"settings.useAgentRules.description": "Enable loading of AGENTS.md files for agent-specific rules (see https://agent-rules.org/)",
4243
"settings.apiRequestTimeout.description": "Maximum time in seconds to wait for API responses (0 = no timeout, 1-3600s, default: 600s). Higher values are recommended for local providers like LM Studio and Ollama that may need more processing time.",
4344
"settings.newTaskRequireTodos.description": "Require todos parameter when creating new tasks with the new_task tool",
44-
"settings.codeIndex.embeddingBatchSize.description": "The batch size for embedding operations during code indexing. Adjust this based on your API provider's limits. Default is 60."
45+
"settings.codeIndex.embeddingBatchSize.description": "The batch size for embedding operations during code indexing. Adjust this based on your API provider's limits. Default is 60.",
46+
"settings.githubActions.enabled.description": "Enable GitHub Actions bot integration",
47+
"settings.githubActions.workflowsPath.description": "Path to GitHub Actions workflows directory (relative to workspace root)",
48+
"settings.githubActions.autoInstall.description": "Automatically install GitHub Actions workflows when opening a repository",
49+
"settings.githubActions.defaultBranch.description": "Default branch name for GitHub Actions workflows",
50+
"settings.githubActions.botToken.description": "GitHub token for the Actions bot (optional, for advanced features)"
4551
}

0 commit comments

Comments
 (0)