feat(gitlab): new GitLab project-security integration
GitLab API v4, 6 commands: list vulnerabilities, list/create issues, get project, list audit events. Private-token auth, stdlib-only. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
id: gitlab
|
||||
name: GitLab
|
||||
version: 1.0.0
|
||||
description: "GitLab (API v4) — project security and issue tracking: list project vulnerabilities, list and create issues, read a project, and list audit events. Private-token authentication; stdlib-only, no extra Python dependencies."
|
||||
changelog: "1.0.0 — Initial release: list vulnerabilities, list/create issues, get project, list audit events."
|
||||
category: devsecops
|
||||
|
||||
# Per-instance configuration. Auth header 'PRIVATE-TOKEN: <token>'.
|
||||
config_schema:
|
||||
properties:
|
||||
base_url:
|
||||
type: string
|
||||
description: "GitLab URL"
|
||||
default: "https://gitlab.com"
|
||||
token:
|
||||
type: string
|
||||
description: "Personal/project access token"
|
||||
x-soar-sensitive: true
|
||||
required:
|
||||
- token
|
||||
|
||||
commands:
|
||||
- id: list_vulnerabilities
|
||||
name: gitlab-list-vulnerabilities
|
||||
description: "List a project's vulnerabilities."
|
||||
risk: read
|
||||
inputs_schema:
|
||||
properties:
|
||||
project_id: { type: string, description: "Project ID or URL-encoded path (namespace/project)" }
|
||||
required: [project_id]
|
||||
outputs_schema: { properties: {} }
|
||||
- id: list_issues
|
||||
name: gitlab-list-issues
|
||||
description: "List a project's issues."
|
||||
risk: read
|
||||
inputs_schema:
|
||||
properties:
|
||||
project_id: { type: string, description: "Project ID or path" }
|
||||
state: { type: string, description: "opened or closed (optional)" }
|
||||
required: [project_id]
|
||||
outputs_schema: { properties: {} }
|
||||
- id: create_issue
|
||||
name: gitlab-create-issue
|
||||
description: "Create an issue in a project."
|
||||
inputs_schema:
|
||||
properties:
|
||||
project_id: { type: string, description: "Project ID or path" }
|
||||
title: { type: string, description: "Issue title" }
|
||||
description: { type: string, description: "Issue description" }
|
||||
labels: { type: string, description: "Comma-separated labels (optional)" }
|
||||
required: [project_id, title]
|
||||
outputs_schema: { properties: {} }
|
||||
- id: get_project
|
||||
name: gitlab-get-project
|
||||
description: "Get a project's metadata."
|
||||
risk: read
|
||||
inputs_schema:
|
||||
properties:
|
||||
project_id: { type: string, description: "Project ID or path" }
|
||||
required: [project_id]
|
||||
outputs_schema: { properties: {} }
|
||||
- id: list_audit_events
|
||||
name: gitlab-list-audit-events
|
||||
description: "List instance audit events."
|
||||
risk: read
|
||||
inputs_schema:
|
||||
properties:
|
||||
limit: { type: number, description: "Max events (default 50)" }
|
||||
required: []
|
||||
outputs_schema: { properties: {} }
|
||||
|
||||
- id: test_connection
|
||||
name: gitlab-test-connection
|
||||
description: "Verify the token (used by the Test button)."
|
||||
risk: read
|
||||
inputs_schema:
|
||||
properties: {}
|
||||
required: []
|
||||
outputs_schema: { properties: {} }
|
||||
Reference in New Issue
Block a user