Download the PHP package utopia-php/vcs without Composer
On this page you can find all versions of the php package utopia-php/vcs. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download utopia-php/vcs
More information about utopia-php/vcs
Files in utopia-php/vcs
Package vcs
Short Description A simple library to integrate version control systems like GitHub, GitLab etc. to receive webhook events
License MIT
Informations about the package vcs
Utopia VCS
[!IMPORTANT] This repository is a read-only mirror of
packages/vcsin appwrite/appwrite. Development happens there — please open issues and pull requests against appwrite/appwrite.
Utopia VCS is a simple and lite library for interacting with version control systems (VCS) in Utopia-PHP using adapters for different providers like GitHub, GitLab etc. This library is aiming to be as simple and easy to learn and use. This library is maintained by the Appwrite team.
Getting started
Install using Composer:
Init in your application:
Environment variables
To configure your GitHub App, set the following environment variables in your environment or configuration file. The adapter authenticates with the GitHub API on behalf of your app with them.
-
PRIVATE_KEY: generate this from your GitHub App settings. The adapter accepts the PEM as is, base64-encoded, or on one line with newlines escaped as
\n. -
GITHUB_APP_ID: find this in the GitHub App dashboard.
- INSTALLATION_ID: find this in the GitHub App installation settings after installation.
Replace the placeholders with the actual values from your GitHub App configuration. Reading them from the environment keeps the credentials out of your codebase.
Supported adapters
| Adapter | Status |
|---|---|
| GitHub | ✅ |
| GitLab | ✅ |
| Bitbucket | ✅ |
| Gitea | ✅ |
| Forgejo | ✅ |
| Gogs | ✅ |
| Origin (Cursor) | ✅ |
| Azure DevOps |
✅ - supported, 🛠 - work in progress
System requirements
Utopia VCS requires PHP 8.4 or later.
Adding an adapter
See docs/add-new-vcs-adapter.md.
Tests
The unit tier parses webhook deliveries and verifies their signatures, and needs nothing running:
The e2e tier drives the adapters against real providers. Gitea, Forgejo, Gogs,
and GitLab come from docker-compose.yml, each published on an offset host port
and bootstrapped with an access token the tests read from tests/.tokens:
bin/monorepo test vcs runs both tiers, stack included. The GitHub and
Bitbucket suites talk to the hosted products, so they skip unless their
credentials are in the environment: TESTS_GITHUB_PRIVATE_KEY,
TESTS_GITHUB_APP_IDENTIFIER, and TESTS_GITHUB_INSTALLATION_ID for GitHub,
TESTS_BITBUCKET_ACCESS_TOKEN and TESTS_BITBUCKET_WORKSPACE for Bitbucket.
License
MIT
All versions of vcs with dependencies
adhocore/jwt Version ^1.1
utopia-php/cache Version ^4.0 || ^5.0
utopia-php/fetch Version ^1.1