2016-09-18 94 views
17

我在他们的服务器上使用gitlab。我想通过API下载我的内置最新的文物(通过gitlab-CI构建)这样我在哪里可以找到gitlab api的项目ID?

curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitlab.com/api/v3/projects/1/builds/8/artifacts"

在哪里可以找到这个项目的ID?或者,这种使用不用于托管gitlab项目的API的方式?

BW休伯特

+0

我创建了一个问题:https://gitlab.com/gitlab-org/gitlab-ce/issues/28342 – User

回答

13

您可以查询您的独资项目:

curl -XGET --header "PRIVATE-TOKEN: XXXX" "https://gitlab.com/api/v3/projects/owned" 

您将收到各自拥有项目JSON:

[ 
    { 
    "id":48, 
    "description":"", 
    "default_branch":"master", 
    "tag_list":[ 
... 

您也能获得来自项目中触发器配置的项目ID,它已经有一些带有ID的示例代码。

从触发器页:

curl -X POST \ 
    -F token=TOKEN \ 
    -F ref=REF_NAME \ 
    https://<GitLab Installation>/api/v3/projects/<ProjectID>/trigger/builds 
+0

伟大的THX - 有很大帮助。小记:我认为 - 标题应该是 - 标题。 –

+0

没问题。如果问题已解决,请不要忘记接受答案。 – Fairy

+0

此答案不再有效。请参阅@Bernát的回答。您可以在项目设置页面上看到项目ID。 –

2

只是为了记录在案,如果别人有需要下载从gitlab.com通过gitlab-CI创建的工件

  1. 中创建一个私有令牌您的浏览器
  2. 通过curl -XGET --header "PRIVATE-TOKEN: YOUR_AD_HERE?" "https://gitlab.com/api/v3/projects/owned"获取项目ID
  3. 从通过gitlab-ci step ca创建的主分支中下载最后一个工件lled版本curl -XGET --header "PRIVATE-TOKEN: YOUR_AD_HERE?" -o myapp.jar "https://gitlab.com/api/v3/projects/4711/builds/artifacts/master/download?job=release"

我对gitlab的美感印象非常深刻。

15

在编辑项目页面的右上角有一个项目ID字段。

(你也可以看到CI/CD管道页面上的ID,在触发部分的exameple代码。)

在旧版本中,你可以看到它的触发器页面上,在该网址示例代码。

+0

我看不到这个?什么gitlab版本? – sunew

+1

在Gitlab.com上运行的版本...我不知道确切的,但不久之前,也许自2017年1月以来。在旧版本中,您可以在触发器页面上的示例代码中找到它。 –

8

我刚刚发现了一个更简单的方法来获取项目ID:只看到承载您的项目的gitlab页面的HTML内容。有一个叫PROJECT_ID场,e.g输入:

<input type="hidden" name="project_id" id="project_id" value="335" /> 
2

如前所述here,所有的项目范围的API的期望的ID或者是项目路径(URL编码)。 所以只需要使用https://gitlab.com/api/v4/projects/gitlab-org%2Fgitlab-ce就可以直接与项目交互了。

+0

+1重要的一点是'/ api/v4/projects /'后面提到的'NAMESPACE/PROJECT_NAME'必须是URL编码的。这意味着'/'需要用'%2F'替代。例如:https://gitlab.com/api/v4/projects/gitlab-org%2Fgitlab-ce – sactiw

3

输入项目。

左侧菜单中点击设置 - >通用 - >展开常规设置

它有一个标签项目ID和旁边的项目名称。

这是版本GitLab 10.2

相关问题