GitLab PHP API Client

A downloadable PHP package that lets you connect your PHP application to the GitLab API in a private and secure way.

Imagine...

A robust GitLab API client

Written in PHP

With everything you need

GitLab Logo
  • A convenient fluent interface for interacting with the GitLab API.
  • Supports 348 API operations.
  • Full IDE autocomplete support.
  • Comprehensive documentation.
  • Great customer support.
  • Comprehensive tests, including unit and functional integration tests. All test cases provided.

About Tectalic

Building robust API clients for developers like you

Our experienced team of developers is on a mission to standardize and simplify how developers interact with the GitLab API in their applications.

Instead of writing low-level code yourself to interact with the GitLab API, we think there's a better way.

Purchasing a reliable and robust GitLab API client can save you time and money by letting you focus on delivering value within your application.

Sounds good?

Interested in a GitLab API client?

We're actively building PHP API clients at the moment.

An API client for GitLab isn't available just yet. We are prioritising versions based on development requests, please get in touch to register your interest.

If your requirement is for a GitLab PHP API client, we will respond with an availability date.

Programming Language(s)

A comprehensive GitLab API client

Supporting 348 operations

Get the current application settings

Modify application settings

Validation of .gitlab-ci.yml content

Get the list of the available template

Get the text for a specific template present in local filesystem

Get the list of the available template

Get the text for a specific template present in local filesystem

Get the list of the available template

Get the text for a specific template present in local filesystem

Get a groups list

Create a group. Available only for users who can create groups.

Get list of owned groups for authenticated user

Get a single group, with containing projects.

Update a group. Available only for users who can administrate groups.

Remove a group.

Gets a list of access requests for a group.

Requests access for the authenticated user to a group.

Denies an access request for the given user.

Approves an access request for the given user.

Get a list of group issues

Gets a list of group or project members viewable by the authenticated user.

Adds a member to a group or project.

Gets a member of a group or project.

Updates a member of a group or project.

Removes a user from a group or project.

Get group level notification level settings, defaults to Global

Update group level notification level settings, defaults to Global

Get a list of projects in this group.

Transfer a project to the group namespace. Available only for admin.

Get the list of system hooks

Create a new system hook

Test a hook

Delete a hook

Get currently authenticated user's issues

Get single ssh key by id. Only available to admin users

Get the list of the available license template

Get the text for a specific license

Get a namespaces list

Get global notification level settings and email, defaults to Participate

Update global notification level settings and email, defaults to Participate

Get a projects list for authenticated user

Create new project

Get all projects for admin user

Fork new project for the current user or provided namespace.

Get an owned projects list for authenticated user

Search for projects the current user has access to

Gets starred project for the authenticated user

Create new project for a specified user. Only available to admin users.

Get a list of visible projects for authenticated user

Get a single project

Update an existing project

Remove a project

Trigger a GitLab project build

Gets a list of access requests for a project.

Requests access for the authenticated user to a project.

Denies an access request for the given user.

Approves an access request for the given user.

Archive a project

Get all project boards

Get the lists of a project board

Create a new board list

Get a list of a project board

Moves a board list to a new position

Delete a board list

Get a project builds

Download the artifacts file from build

Get a specific build of a project

Download the artifacts file from build

Keep the artifacts to prevent them from being deleted

Cancel a specific build of a project

Erase build (remove artifacts and build trace)

Trigger a manual build

Retry a specific build of a project

Get a trace of a specific build of a project

Get a specific project's deploy keys

Add new deploy key to currently authenticated user

Get single deploy key

Delete deploy key for a project

Disable a deploy key for a project

Enable a deploy key for a project

Get all deployments of the project

Gets a specific deployment

Get all environments of the project

Creates a new environment

Updates an existing environment

Deletes an existing environment

Get events for a single project

Remove a forked_from relationship

Mark this project as forked from another

Get project hooks

Add hook to project

Get a project hook

Update an existing project hook

Deletes project hook

Get a list of project issues

Create a new project issue

Get a single project issue

Update an existing issue

Delete a project issue

Add spent time for a project issue

Get a list of project +awardable+ award emoji

Award a new Emoji

Get a specific award emoji

Delete a +awardables+ award emoji

Move an existing issue

Get a list of project +awardable+ award emoji

Award a new Emoji

Get a specific award emoji

Delete a +awardables+ award emoji

Reset spent time for a project issue

Reset the time estimate for a project issue

Set a time estimate for a project issue

Show time stats for a project issue

Create a todo on an issuable

Get a list of project +noteable+ notes

Create a new +noteable+ note

Get a single +noteable+ note

Update an existing +noteable+ note

Delete a +noteable+ note

Subscribe to a resource

Unsubscribe from a resource

Get a specific project's deploy keys

Add new deploy key to currently authenticated user

Get single deploy key

Delete deploy key for a project

Disable a deploy key for a project

Enable a deploy key for a project

Get all labels of the project

Update an existing label. At least one optional parameter is required.

Create a new label

Delete an existing label

Subscribe to a resource

Unsubscribe from a resource

Gets a list of group or project members viewable by the authenticated user.

Adds a member to a group or project.

Gets a member of a group or project.

Updates a member of a group or project.

Removes a user from a group or project.

Get a single merge request

Update a merge request

Cancel merge if "Merge When Pipeline Succeeds" is enabled

Show the merge request changes

List issues that will be closed on merge

Get the comments of a merge request

Post a comment to a merge request

Get the commits of a merge request

Merge a merge request

Subscribe to a resource

Unsubscribe from a resource

List merge requests

Create a merge request

Get a single merge request

Update a merge request

Delete a merge request

Add spent time for a project merge_request

Get a list of project +awardable+ award emoji

Award a new Emoji

Get a specific award emoji

Delete a +awardables+ award emoji

Cancel merge if "Merge When Pipeline Succeeds" is enabled

Show the merge request changes

List issues that will be closed on merge

Get the comments of a merge request

Post a comment to a merge request

Get the commits of a merge request

Merge a merge request

Get a list of project +awardable+ award emoji

Award a new Emoji

Get a specific award emoji

Delete a +awardables+ award emoji

Reset spent time for a project merge_request

Reset the time estimate for a project merge_request

Set a time estimate for a project merge_request

Show time stats for a project merge_request

Create a todo on an issuable

Get a list of merge request diff versions

Get a single merge request diff version

Get a list of project +noteable+ notes

Create a new +noteable+ note

Get a single +noteable+ note

Update an existing +noteable+ note

Delete a +noteable+ note

Subscribe to a resource

Unsubscribe from a resource

Get a list of project milestones

Create a new project milestone

Get a single project milestone

Update an existing project milestone

Get all issues for a single project milestone

Get project level notification level settings, defaults to Global

Update project level notification level settings, defaults to Global

Create a new pipeline

Get all Pipelines of the project

Gets a specific pipeline for the project

Cancel all builds in the pipeline

Retry failed builds in the pipeline

Get an archive of the repository

Get a raw file contents

Get a project repository branches

Create branch

Get a single branch

Delete a branch

Protect a single branch

Unprotect a single branch

Get a project repository commits

Commit multiple file changes as one commit

Get a specific commit of a project

Get a raw file contents

Get builds for a specific commit of a project

Cherry pick commit into a branch

Get a commit's comments

Post comment to commit

Get the diff for a specific commit of a project

Get a commit's statuses

Compare two branches, tags, or commits

Get repository contributors

Get a file from repository

Update existing file in repository

Create new file in repository

Delete an existing file in repository

Get a raw blob contents by blob sha

Get a project repository tags

Create a new repository tag

Get a single repository tag

Delete a repository tag

Update a tag's release note

Add a release note to a tag

Get a project repository tree

Get runners available for project

Enable a runner for a project

Disable project's runner

Set asana service for project

Set assembla service for project

Set bamboo service for project

Set bugzilla service for project

Set buildkite service for project

Set builds-email service for project

Set campfire service for project

Set custom-issue-tracker service for project

Set drone-ci service for project

Set emails-on-push service for project

Set external-wiki service for project

Set flowdock service for project

Set gemnasium service for project

Set hipchat service for project

Set irker service for project

Set jira service for project

Set kubernetes service for project

Set mattermost service for project

Set mattermost-slash-commands service for project

Trigger a slash command for mattermost-slash-commands

Set pipelines-email service for project

Set pivotaltracker service for project

Set pushover service for project

Set redmine service for project

Set slack service for project

Set slack-slash-commands service for project

Trigger a slash command for slack-slash-commands

Set teamcity service for project

Get the service settings for project

Delete a service for project

Share the project with a group

Get all project snippets

Create a new project snippet

Get a list of project +noteable+ notes

Create a new +noteable+ note

Get a single +noteable+ note

Update an existing +noteable+ note

Delete a +noteable+ note

Get a single project snippet

Update an existing project snippet

Delete a project snippet

Get a list of project +awardable+ award emoji

Award a new Emoji

Get a specific award emoji

Delete a +awardables+ award emoji

Get a list of project +awardable+ award emoji

Award a new Emoji

Get a specific award emoji

Delete a +awardables+ award emoji

Get a raw project snippet

Star a project

Unstar a project

Post status to a commit

Get triggers list

Create a trigger

Get specific trigger of a project

Delete a trigger

Unarchive a project

Upload a file

Get the users list of a project

Get project variables

Create a new variable in a project

Get a specific variable from a project

Update an existing variable from a project

Delete an existing variable from a project

Get runners available for user

Get all runners - shared and specific

Get runner's details

Update runner's details

Remove a runner

Login to get token

Get the Sidekiq Compound metrics. Includes queue, process, and job statistics

Get the Sidekiq job statistics

Get the Sidekiq process metrics

Get the Sidekiq queue metrics

Get a snippets list for authenticated user

Create new snippet

List all public snippets current_user has access to

Get a single snippet

Update an existing snippet

Remove snippet

Get a raw snippet

Get the list of the available template

Get the text for a specific template present in local filesystem

Get the list of the available template

Get the text for a specific template present in local filesystem

Get the list of the available template

Get the text for a specific template present in local filesystem

Get the list of the available license template

Get the text for a specific license

Get a todo list

Mark all todos as done

Mark a todo as done

Get the currently authenticated user

Get the currently authenticated user's email addresses

Add new email address to the currently authenticated user

Get a single email address owned by the currently authenticated user

Delete an email address from the currently authenticated user

Get the currently authenticated user's SSH keys

Add a new SSH key to the currently authenticated user

Get a single key owned by currently authenticated user

Delete an SSH key from the currently authenticated user

Get the list of users

Create a user. Available only for admins.

Get a single user

Update a user. Available only for admins.

Delete a user. Available only for admins.

Block a user. Available only for admins.

Get the emails addresses of a specified user. Available only for admins.

Add an email address to a specified user. Available only for admins.

Delete an email address of a specified user. Available only for admins.

Get the contribution events of a specified user

Get the SSH keys of a specified user. Available only for admins.

Add an SSH key to a specified user. Available only for admins.

Delete an existing SSH key from a specified user. Available only for admins.

Unblock a user. Available only for admins.

Get the version information of the GitLab instance.

Interested in a GitLab API client?

We're actively building PHP API clients at the moment.

An API client for GitLab isn't available just yet. We are prioritising versions based on development requests, please get in touch to register your interest.

If your requirement is for a GitLab PHP API client, we will respond with an availability date.

Programming Language(s)