一个简单的库,用于集成GitHub、GitLab等版本控制系统(VCS),接收webhook事件


README

Build Status Total Downloads Discord

Utopia VCS是一个简单轻量级的库,用于通过适配器与Utopia-PHP中的不同版本控制系统(VCS)交互,如GitHub、GitLab等。这个库旨在尽可能简单、易于学习和使用。此库由Appwrite团队维护。

入门指南

使用Composer安装

composer require utopia-php/vcs

在您的应用程序中初始化

<?php

require_once __DIR__ . '/../../vendor/autoload.php';

use Utopia\VCS\Adapter\Git\GitHub;

// Initialise your adapter
$github = new GitHub();

// Your GitHub app private key. You can generate this from your GitHub App settings.
$privateKey = 'your-github-app-private-key';

// Your GitHub App ID. You can find this in the GitHub App dashboard.
$githubAppId = 'your-github-app-id';

// Your GitHub App installation ID. You can find this in the GitHub App installation settings.
$installationId = 'your-github-app-installation-id';

// Initialise variables
$github->initializeVariables($installationId, $privateKey, $githubAppId);

// Perform the actions that you want, ex: create repository
$owner = '<repository-owner>';
$name = '<repository-name>';
$isPrivate = true; // Set to false if you want to create a public repository
$repository = $github->createRepository($owner, $name, $private);

环境变量

为了正确配置您的GitHub应用,您需要在您的环境或配置文件中设置以下环境变量。这些值对于代表您的GitHub应用进行GitHub API的认证和交互至关重要。

  1. PRIVATE_KEY:您可以从GitHub应用设置中生成此密钥。
PRIVATE_KEY = your-github-app-private-key
  1. GITHUB_APP_ID:您可以在GitHub应用仪表板中找到此ID。
GITHUB_APP_ID = your-github-app-id
  1. INSTALLATION_ID:您可以在安装后GitHub应用安装设置中找到此ID。
INSTALLATION_ID = your-github-app-installation-id

请记住用您GitHub应用配置的实际值替换占位符(your-github-app-private-keyyour-github-app-idyour-github-app-installation-id)。通过使用这些环境变量,您可以确保敏感信息与代码库分开,并可以轻松地在不同环境中管理,而不会暴露敏感数据。

支持的适配器

VCS适配器

检测适配器

✅ - 支持,🛠 - 进行中

系统要求

Utopia VCS需要PHP 8.0或更高版本。我们建议尽可能使用最新的PHP版本。

贡献

所有代码贡献(包括具有提交访问权限的人的贡献)都必须通过pull request进行,并由核心开发者批准后才能合并。这是为了确保对所有代码进行适当的审查。

分支项目,创建一个功能分支,并发送给我们pull request。

有关更多信息,请参阅贡献指南

测试

要运行测试,您首先需要使用以下命令启动示例Docker堆栈

docker compose up -d --build

要运行所有单元测试,请使用以下Docker命令

docker compose exec tests ./vendor/bin/phpunit

版权和许可证

MIT许可证(MIT) http://www.opensource.org/licenses/mit-license.php