小编Mik*_*e A的帖子

如何使用 PHP 和 Github API 在 Github 存储库中创建和更新文件?

我正在尝试构建 PHP 函数来创建和更新 Github 存储库中的文件,通过 Github API 使用 PHP。

PHP 文件是从标准共享主机帐户运行的。因此,使用依赖于安装 Composer 或其他库的框架对我来说不是一个选择。例如,这个https://github.com/KnpLabs/php-github-api不是一个选项。

迄今为止

我已经设法使用 PHP 访问和列出文件,使用此处提供的信息:

Github API 列出所有存储库和存储库的内容

我使用了第 2 个和第 6 个答案的组合(第 2 个以Here is a nice way just with the curl.开头,第 6 个答案为When you say "display a repo and its contents" by Ivan Zuzak)。

两者都清楚地列出了列出文件和获取内容所需的代码和步骤(谢谢@flesheater 和@Ivan Zuzak)

我为此寻求帮助或解决方案。到目前为止,我还没有找到任何使用 PHP 的示例,无论是工作还是其他方式。

Git API 文档

Git 数据 API 信息 ( https://developer.github.com/v3/git/ ) 是这样说的:

例如,如果您想提交对存储库中文件的更改,您可以:

get the current commit object
retrieve the tree it …
Run Code Online (Sandbox Code Playgroud)

php github github-api

5
推荐指数
1
解决办法
8315
查看次数

如何使用 Gitlab API(使用 PHP curl)获取 Gitlab 存储库中子目录的内容

我正在尝试使用 Gitlab API 从存储库子目录获取存储库内容列表。

由于顶级访问工作正常,我假设问题不是授权或一般方法,而是为子目录传递的 URL 和参数。或者,这可能是 Gitlab API 已记录但未实现的功能。

例如,使用 PHP 和curl GET,以下 URL 适用于文件和文件夹的顶级列表:

API 文档说:

GET /projects/:id/repository/tree
Run Code Online (Sandbox Code Playgroud)

这个 URL 与curl GET 函数一起工作正常:

https://gitlab.com/api/v3/projects/USERNAME%2FPROJECTNAME/repository/tree
Run Code Online (Sandbox Code Playgroud)

(我在另一个 gitlab 线程中找到了带有 %2F 的 USERNAME%2FPROJECTNAME 。这似乎是文档中 ID 的含义)

为了澄清起见,顶级内容列表的工作代码片段是:

$url = "https://gitlab.com/api/v3/projects/USERNAME%2FPROJECTNAME/repository/tree";
$ch = curl_init($url);
Run Code Online (Sandbox Code Playgroud)

因此,对于子目录访问,API 文档列出了参数:

id (必需)- 项目
路径的 ID (可选)- 存储库内的路径。用于获取子目录的内容
ref_name(可选) - 存储库分支或标签的名称,或者如果没有给出默认分支

因此,基于此,我尝试了以下各项作为上面的curl_init命令的URL:

$url = "https://gitlab.com/api/v3/projects/USERNAME%2FPROJECTNAME/repository/tree?path=SUBDIRECTORY";
Run Code Online (Sandbox Code Playgroud)

这将返回一个空字符串。为了防止我遗漏了什么,我还尝试了以下各项:

$params = array( 'path' => SUBDIRECTORY);

$url = "https://gitlab.com/api/v3/projects/USERNAME%2FPROJECTNAME/repository/tree . "?" . http_build_query($params);

$url = "https://gitlab.com/api/v3/projects/USERNAME%2FPROJECTNAME/repository/tree . "?" . …
Run Code Online (Sandbox Code Playgroud)

php api curl gitlab

2
推荐指数
1
解决办法
4355
查看次数

标签 统计

php ×2

api ×1

curl ×1

github ×1

github-api ×1

gitlab ×1