例如,我只想接收项目名称: https://gitlab.com/api/v4/groups/:id/projects?fields=name
有可能吗?
答案 0 :(得分:2)
这在REST API中是不可能的。但是,GitLab正在研究GraphQL支持,您将能够在GraphQL中表达它。
答案 1 :(得分:1)
GitLab 1.11(2019年5月)现在引入了“ basic support for group GraphQL queries ”
GraphQL API允许用户精确地请求他们所需的数据,从而可以在有限数量的请求中获得所有必需的数据。
在此版本中,GitLab现在在GraphQL API中支持基本的组信息支持。
请参见Issue 60786和说明文件:“ Available queries”
GraphQL API的第一次迭代包含以下查询
- 项目:在项目内,也可以通过IID获取mergeRequest。
- 组:当前仅支持基本组信息。
答案 2 :(得分:1)
要使用Vonc和King Chung Huang的答案进行迭代,请使用以下GraphQL查询,您只能获取组内项目的名称字段:
{
group(fullPath: "your_group_name") {
projects {
nodes {
name
}
}
}
}
您可以转到以下URL:https:// $ gitlab_url /-/ graphql-explorer并通过上面的查询
gitlab_url=<your gitlab host>
access_token=<your access token>
group_name=<your group name>
curl -s -H "Authorization: Bearer $access_token" \
-H "Content-Type:application/json" \
-d '{
"query": "{ group(fullPath: \"'$group_name'\") { projects { nodes { name }}}}"
}' "https://$gitlab_url/api/graphql" | jq '.'