Add GitLab Integration with DevOps Automation Capabilities #3116
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR implements comprehensive GitLab API integration for the hive/aden tools package, enabling agents to automate DevOps workflows across projects, issues, merge requests, and CI/CD pipelines.
Branch:
feat/gitlab-integrationCloses #2963
Related to #2805
Motivation
GitLab is a cornerstone of the DevOps lifecycle for many enterprises, especially those requiring self-hosted solutions. This integration enables Hive agents to automate workflows across the entire DevSecOps pipeline, complementing the existing GitHub support.
Key Use Cases:
Changes
New Files
tools/src/aden_tools/credentials/gitlab.pyGITLAB_ACCESS_TOKEN(required) andGITLAB_URL(optional)tools/src/aden_tools/tools/gitlab_tool/__init__.pytools/src/aden_tools/tools/gitlab_tool/gitlab.pyGitLabClientclass and 5 MCP toolstools/tests/tools/test_gitlab_tool.pydocs/tools/gitlab-tool.mdModified Files
tools/src/aden_tools/credentials/__init__.pyGITLAB_CREDENTIALSimport and exporttools/src/aden_tools/tools/__init__.pyregister_gitlaband 5 tool namesFeatures
5 MCP Tools (MVP Scope)
gitlab_list_projectsgitlab_list_issuesopened/closed) and label filteringgitlab_get_merge_requestgitlab_create_issuegitlab_trigger_pipelineKey Implementation Details
GitLabClientclass: Handles all API interactions usinghttpxGITLAB_URLmygroup/myproject)X | None)Authentication
GITLAB_ACCESS_TOKENapi)GITLAB_URLhttps://gitlab.com)Testing
Test Results
Test Coverage
GitLabClientmethods (list_projects, list_issues, get_merge_request, create_issue, trigger_pipeline)Documentation
Comprehensive documentation added at
docs/tools/gitlab-tool.md:Usage Examples
Configuration
Add to
.env:Checklist
Related Issues