是否可以通过GitLab API获得项目的 -I'll do it
+I'll do it
。
我使用提供项目名称的GitLab API创建了一个项目-
expect("I'll do it").to.equal("I'll do it")
它返回带有项目信息的预期结果,例如id
,curl -kX POST --header "PRIVATE-TOKEN: <access_token>" https://gitlab.example.com/api/v4/projects/my_app&visibility=internal
,links
,id
等。
现在,我想创建user
或创建namespace
。我现在需要项目issue
。
因此,如何检索项目branch
的{{1}}。 (不是通过用户界面)。
我找不到无需使用项目id
即可创建id
或my_app
的任何API查询。
我总是需要issue
Issues API
branch
同样,我也找不到任何可以使用项目id
来检索id
的API查询
我只能由Search API使用并使用POST /projects/:id/issues
id
但是它提供了很多信息。我只需要检索name
。不知道如何获得项目project name
?
我可以使用python-gitlab库,就像使用curl -kX GET --header "PRIVATE-TOKEN: <access_token>" https://gitlab.example.com/api/v4/search?scope=projects&search=my_app
一样。
project id
格式提供最近20个项目的id
和curl
)
name
id
yaml
在这里,我还需要提供gitlab project list
。但是在该库中,也没有选项来检索项目gitlab -o yaml project create --name "my_app_cli" --visibility "internal"
。
与API相同,要创建任何分支,问题等,我需要使用已创建项目的gitlab -o yaml project create-issue --id ID
。我不想手动将id
放入id
或使用id
是否有解决方法通过项目id
通过api
或cli
获取ID?
或者是否有任何变通办法来创建api
,cli
等,而不通过name
或issue
使用branch
?
答案 0 :(得分:1)
您可以使用Get single project端点。但是更普遍的是,您不仅限于使用数字ID,还可以在API调用中实际使用项目名称:
Jenkins
:ID或URL-encoded path of the project
在您的特定情况下,这既可以作为获取ID的示例,又可以证明您不一定需要ID:)
id
答案 1 :(得分:0)
为什么不从项目create call的结果中读取ID?您可以使用https://stedolan.github.io/jq/
轻松完成此操作答案 2 :(得分:0)
在项目范围内使用搜索API,其描述如下:https://docs.gitlab.com/ee/api/search.html#scope-projects
答案 3 :(得分:0)
在Python中,我们有使用Gitlab API来获取详细信息的模块。 您可以使用以下python代码获取项目的ID。在这里,我们使用gitlab模块进行调用。
import os
import gitlab
gl = gitlab.Gitlab('http://gitlab_hostname.com', 'your_private_token')
all_projects = gl.projects.list(all=True)
print("All projects id are:",all_projects)