Connects Autohive to the GitLab API v4 for read-only access to projects, issues, merge requests, CI/CD pipelines, repositories, and container registry.
This integration provides read-only access to GitLab's DevOps platform capabilities. It allows users to view projects, track issues, review merge requests, monitor CI/CD pipelines, browse repository contents, and access container registry information programmatically.
The integration uses GitLab REST API v4 with OAuth 2.0 authentication and implements 25 read-only actions covering all major GitLab read operations.
This integration uses OAuth 2.0 authentication for secure access to your GitLab account.
The integration uses OAuth 2.0 with the following scopes:
read_api- Read-only access to the APIread_user- Read access to authenticated user profile dataread_repository- Read-only access to repository filesread_registry- Read access to container registry imagesprofile- Read-only access to user's personal information via OpenID Connectemail- Read-only access to user's primary email via OpenID Connect
- Add GitLab integration in Autohive
- Click "Connect to GitLab" to authorize the integration
- Sign in to your GitLab account when prompted
- Review and authorize the requested permissions
- You'll be redirected back to Autohive once authorization is complete
The OAuth integration automatically handles token management and refresh (tokens expire after 2 hours and are automatically refreshed).
On success, actions return only their action-specific data fields (documented per action below), with no wrapping result/error envelope.
On failure, the action raises an ActionError with a message describing what went wrong, rather than returning a response field.
Get information about the authenticated user including profile and email.
Inputs: None
Outputs:
user: User information including id, username, email, name, state, avatar_url
List projects accessible by the authenticated user.
Inputs:
owned(optional): Limit to projects owned by usermembership(optional): Limit to projects user is member ofstarred(optional): Limit to starred projectssearch(optional): Search by namevisibility(optional): public, internal, or privateorder_by(optional): id, name, path, created_at, updated_at, last_activity_atsort(optional): asc or descper_page(optional): Results per page (max 100)page(optional): Page number
Outputs:
projects: Array of project objects
Get details of a specific project including statistics.
Inputs:
project_id(required): ID or URL-encoded path (e.g., '123' or 'namespace/project')statistics(optional): Include project statistics (commit count, storage size, etc.)
Outputs:
project: Project details
List issues for a project or globally with filtering options.
Inputs:
project_id(optional): ID or path (omit for global issues)state(optional): opened, closed, or alllabels(optional): Comma-separated labelsmilestone(optional): Milestone titlescope(optional): created_by_me, assigned_to_me, or allassignee_id(optional): Filter by assignee user IDauthor_id(optional): Filter by author user IDsearch(optional): Search title/descriptioncreated_after,created_before(optional): ISO 8601 date filtersupdated_after,updated_before(optional): ISO 8601 date filtersorder_by(optional): created_at, updated_at, priority, due_datesort(optional): asc or descper_page,page(optional): Pagination
Outputs:
issues: Array of issues
Get details of a specific issue including labels, assignees, and milestone.
Inputs:
project_id(required): ID or URL-encoded pathissue_iid(required): Internal issue ID (shown in URL as #123)
Outputs:
issue: Issue details including title, description, state, labels, assignees
List merge requests for a project or globally with filtering options.
Inputs:
project_id(optional): ID or pathstate(optional): opened, closed, merged, or alllabels,milestone,scope,author_id,assignee_id,reviewer_id(optional)source_branch,target_branch(optional): Filter by branchsearch(optional): Search title/descriptioncreated_after,created_before(optional): ISO 8601 date filtersupdated_after,updated_before(optional): ISO 8601 date filtersorder_by,sort,per_page,page(optional)
Outputs:
merge_requests: Array of merge requests
Get details of a specific merge request including changes and approvals.
Inputs:
project_id(required): ID or URL-encoded pathmerge_request_iid(required): Internal MR ID (shown in URL as !123)include_diverged_commits_count(optional): Include count of commits behind targetinclude_rebase_in_progress(optional): Include rebase status
Outputs:
merge_request: MR details including source/target branches, state, approvals
Get the changes (diff) of a merge request.
Inputs:
project_id(required): ID or URL-encoded pathmerge_request_iid(required): Internal MR ID
Outputs:
changes: List of file changes with diffs
Get commits associated with a merge request.
Inputs:
project_id(required): ID or URL-encoded pathmerge_request_iid(required): Internal MR IDper_page,page(optional): Pagination
Outputs:
commits: List of commits in the merge request
List repository branches sorted alphabetically by name.
Inputs:
project_id(required): ID or URL-encoded pathsearch(optional): Search by nameregex(optional): Filter by regexper_page,page(optional): Pagination
Outputs:
branches: Array of branches with name, commit info, and protection status
Get details of a specific branch including latest commit and protection status.
Inputs:
project_id(required): ID or URL-encoded pathbranch(required): Branch name
Outputs:
branch: Branch details including commit, protected status, and merge status
List repository commits with optional filtering by branch, date, and path.
Inputs:
project_id(required): ID or URL-encoded pathref_name(optional): Branch, tag, or SHAsince,until(optional): ISO 8601 date filterspath(optional): Filter by file pathauthor(optional): Filter by authorall(optional): Retrieve every commitwith_stats(optional): Include commit statsfirst_parent(optional): Follow only first parent on merge commitsper_page,page(optional): Pagination
Outputs:
commits: Array of commits with id, message, author, date
Get details of a specific commit including stats and parent commits.
Inputs:
project_id(required): ID or URL-encoded pathsha(required): Commit SHA (full or short)stats(optional): Include commit stats (additions, deletions, total)
Outputs:
commit: Commit details including message, author, stats, parent_ids
Get the diff of a commit showing all file changes.
Inputs:
project_id(required): ID or URL-encoded pathsha(required): Commit SHAper_page,page(optional): Pagination
Outputs:
diffs: List of file diffs with old_path, new_path, diff content
List CI/CD pipelines for a project with filtering options.
Inputs:
project_id(required): ID or URL-encoded pathstatus(optional): created, pending, running, success, failed, canceled, skipped, manual, scheduledref(optional): Branch or tagsha(optional): Commit SHAsource(optional): push, web, trigger, schedule, api, external, etc.username(optional): Filter by username who triggered the pipelineupdated_after,updated_before(optional): ISO 8601 date filtersorder_by(optional): id, status, ref, updated_at, user_idsort,per_page,page(optional)
Outputs:
pipelines: Array of pipelines with id, status, ref, sha, created_at
Get details of a specific pipeline including duration and coverage.
Inputs:
project_id(required): ID or URL-encoded pathpipeline_id(required): Pipeline ID
Outputs:
pipeline: Pipeline details including status, duration, coverage, user
List jobs for a specific pipeline.
Inputs:
project_id(required): ID or URL-encoded pathpipeline_id(required): Pipeline IDscope(optional): created, pending, running, failed, success, canceled, skipped, manualinclude_retried(optional): Include retried jobsper_page,page(optional): Pagination
Outputs:
jobs: List of jobs with name, stage, status, duration
List files and directories in a repository at a specific path and ref.
Inputs:
project_id(required): ID or URL-encoded pathpath(optional): Path inside repository (root if not specified)ref(optional): Branch, tag, or SHA (default branch if not specified)recursive(optional): List recursivelyper_page,page(optional): Pagination
Outputs:
tree: Array of files/directories with id, name, type, path, mode
Get a file's metadata and content (base64 encoded) from the repository.
Inputs:
project_id(required): ID or URL-encoded pathfile_path(required): Path to file (e.g., 'src/main.py')ref(required): Branch, tag, or SHA
Outputs:
file: File metadata (file_name, file_path, size, encoding) and base64-encoded content
Get a file's raw content as plain text from the repository.
Inputs:
project_id(required): ID or URL-encoded pathfile_path(required): Path to fileref(required): Branch, tag, or SHA
Outputs:
content: Raw file content as text
Compare two branches, tags, or commits showing commits and diffs between them.
Inputs:
project_id(required): ID or URL-encoded pathfrom(required): Source branch name, tag, or commit SHAto(required): Target branch name, tag, or commit SHAstraight(optional): Compare directly (true) or via merge-base (false, default)
Outputs:
comparison: Comparison result with commits array and diffs array
List container registry repositories for a project.
Inputs:
project_id(required): ID or URL-encoded pathtags(optional): Include tags in responsetags_count(optional): Include tags countper_page,page(optional): Pagination
Outputs:
repositories: List of container registry repositories
Get details of a specific container registry repository.
Inputs:
project_id(required): ID or URL-encoded pathrepository_id(required): Registry repository IDtags(optional): Include tags in responsetags_count(optional): Include tags count
Outputs:
repository: Container registry repository details
List tags for a container registry repository.
Inputs:
project_id(required): ID or URL-encoded pathrepository_id(required): Registry repository IDper_page,page(optional): Pagination
Outputs:
tags: List of container image tags
Get details of a specific container registry tag including manifest digest.
Inputs:
project_id(required): ID or URL-encoded pathrepository_id(required): Registry repository IDtag_name(required): Name of the tag (e.g., 'latest', 'v1.0.0')
Outputs:
tag: Tag details including name, path, location, digest, created_at
autohive-integrations-sdk- The Autohive integrations SDK
- API Version: v4
- Base URL:
https://gitlab.com/api/v4 - Authentication: OAuth 2.0
- Documentation: https://docs.gitlab.com/api/
- Rate Limits: Varies by GitLab tier
GitLab accepts project identifiers in two formats:
- Numeric ID:
12345 - URL-encoded path:
namespace%2Fproject-name(the integration handles encoding automatically)
- OAuth tokens expire after 2 hours and are automatically refreshed
- This integration provides read-only access - no create, update, or delete operations
- GitLab uses
iid(internal ID) for issues and merge requests within projects - Pagination defaults to 20 results per page, max 100
- This integration only supports gitlab.com - self-hosted GitLab instances are not supported
Project Monitoring:
- List and search projects
- View project details and statistics
- Monitor project activity
Issue Tracking:
- List and filter issues by state, labels, milestone
- View issue details and discussions
- Track issue status across projects
Code Review:
- List and review merge requests
- View merge request changes and diffs
- Check commit history in merge requests
CI/CD Monitoring:
- List and monitor pipeline status
- View pipeline details and duration
- Check individual job status in pipelines
Repository Access:
- Browse repository file tree
- Read file contents (base64 or raw)
- Compare branches and commits
Container Registry:
- List container registry repositories
- View available image tags
- Check tag details and manifests
- 2.0.0 - Migrated to autohive-integrations-sdk 2.0.0
context.fetch()now returns aFetchResponseobject; response bodies are read via.data- Failures are now surfaced as
ActionError(with amessage) instead of an in-bandresult/errorresponse field - Successful actions return only their action-specific data fields, with no
result/errorenvelope
- 1.0.0 - Initial release with 25 read-only actions
- User: get_current_user (1 action)
- Projects: list_projects, get_project (2 actions)
- Issues: list_issues, get_issue (2 actions)
- Merge Requests: list, get, get_changes, list_commits (4 actions)
- Branches: list_branches, get_branch (2 actions)
- Commits: list_commits, get_commit, get_commit_diff (3 actions)
- Pipelines: list, get, list_jobs (3 actions)
- Repository: list_tree, get_file, get_file_raw, compare_branches (4 actions)
- Container Registry: list_repositories, get_repository, list_tags, get_tag (4 actions)