2016-09-18 4 views
17

Я использую gitlab на своих серверах. Я хотел бы, чтобы загрузить свои последние ПОСТРОЙКИ артефактов (построить с помощью gitlab-Х) через API, как этотГде найти идентификатор проекта для gitlab api?

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

Где найти этот идентификатор проекта нравится? Или этот способ использования API не предназначен для размещения проектов gitlab?

BW Hubert

+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":[ 
... 

Вы также можете получить идентификатор проекта из конфигурации триггеров в вашем проекте, который уже имеет пример кода с вашим идентификатором.

На странице Триггеры:

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

большой ТНХ - очень помогает. Небольшое примечание: я думаю, что голова должна быть голова. –

+0

Нет проблем. Не забудьте принять ответ, если он решил вашу проблему. – Fairy

+0

Этот ответ больше не действителен. См. Ответ от @ Bernát. Вы можете увидеть идентификатор проекта на странице настроек проекта. –

2

Просто для записи, если кто-то имеет необходимость загружать артефакты из gitlab.com, созданных с помощью gitlab-ХИ

  1. Создать частный фишку в ваш браузер
  2. Получить идентификатор проекта через curl -XGET --header "PRIVATE-TOKEN: YOUR_AD_HERE?" "https://gitlab.com/api/v3/projects/owned"
  3. Загрузить последний артефакт из вашей главной ветки, созданной с помощью gitlab-ci step ca lled release 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

На странице «Редактировать проект» в правом верхнем углу находится поле «Идентификатор проекта».

(Вы можете также увидеть идентификатор на странице CI/CD трубопроводов, в exameple код секции Триггеры.)

В старых версиях, вы можете увидеть на странице Триггеры в URL-адресов из пример кода.

+0

Я не вижу этого? Какая версия gitlab? – sunew

+1

В версии, которая работает на Gitlab.com ... Я не знаю точно, но не так давно, может быть, с января 2017 года. В более старых версиях вы можете найти ее в примере кода на странице триггеров. –

8

Я только что узнал еще более простой способ получить идентификатор проекта: просто просмотрите содержимое HTML на странице gitlab, где размещен ваш проект. Существует вход с полем под названием project_id, например:

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

Как уже упоминалось here, все проект ожидает область действия API, либо идентификатор или путь проекта (URL-закодирован). Так что просто используйте https://gitlab.com/api/v4/projects/gitlab-org%2Fgitlab-ce непосредственно, когда вы хотите взаимодействовать с проектом.

+0

+1 важным моментом является то, что 'NAMESPACE/PROJECT_NAME', упомянутое после'/api/v4/projects/', должно быть закодировано в URL. Это означает, что '/' необходимо заменить на '% 2F' Например: https://gitlab.com/api/v4/projects/gitlab-org%2Fgitlab-ce – sactiw

3

Введите проект.

На странице Настройки левой рукой меню нажмите -> Общие -> Expand Общие настройки

Он имеет этикетку ID проекта и рядом с названием проекта.

Это на версии GitLab 10,2

Смежные вопросы