2016-01-18 5 views
4

Непонятно из API, как получить токен, который можно использовать для клонирования хранилищ http.Получить токен gitlab-ci с gitlab API

Из документации здесь:

http://doc.gitlab.com/ee/ci/api/README.html

Это должно быть возможным, чтобы получить этот URL:

http://gitlab.com/ci/api/v1/projects?private_token=QVy1PB7sTxfy4pqfZM1U&url=http://demo.gitlab.com/ 

я не уверен, где параметр url берется из но даже просто мой личный токен, он получает страницу ошибок 404.

Я пытался использовать субдомен ci, но он просто перенаправил меня на gitlab.com.

Это, я объясню немного больше, почему мне это нужно. У меня есть сервер, который может иметь несколько проектов. В каждом проекте будет содержаться список репозиториев private/public, каждый проект должен быть клонирован/вытащен и любой из них регулярно. В отличие от github, gitlab не предоставляет маркер oauth2, который является sitewide и вместо этого предоставляет CI-токен для каждого проекта. Я мог бы убедиться, что пользователь вводит токен для каждого проекта, но это намного сложнее, чем ввод частного токена.

С другой стороны, я мог бы генерировать SSH-ключи для каждого пользователя и добавлять открытый ключ к своей учетной записи, и таким образом было бы возможно получить/клонировать с ssh вместо http. Но это немного больше работы на моем конце, чем просто извлечение маркеров и клонировать с основным URL аутентификации

git clone https://gitlab-ci-token:[email protected]/project.git 

ответ

1

Адреса страницы, чтобы получить ваш маркер находится по следующему пути /Профиля/счету.

Или вы можете просто перейти к Настройки профиля ->счета

Также убедитесь, что вы используете правильную версию API. Во время этого ответа в настоящее время на v3/api/v3/projects? Private_token = {my_private_token}

+0

Что вы говорите, это gitlab api. Мой вопрос - о gitlab-ci api. CI означает непрерывную интеграцию. –

+0

Это именно то, о чем я говорю. Я увидел вопрос, решил его на моем Gitlab-CI, а затем ответил на него. Но тем не менее, именно так вы получаете частный токен CI. –

+0

Нет, API, который вы связали с api/v3/projects, - это gitlab api, а не API CI. CI API будет находиться в префиксе '/ ci/api /: version'. По-видимому, API, присутствовавший в документации в то время, когда я написал этот вопрос, исчез и перешел на главную «gitlab» api. Мне нужно было это для веб-ходов.Я думаю, это изменилось, когда gitlab-ci и gitlab в значительной степени слились и стали одним продуктом. –

0

Я бы сказал, чтобы проверить тип нужного вам токена.

  1. Частный токен? Перейдите в Настройки профиля -> учетная запись.

  2. Маркер может быть создан, если вы хотите, чтобы вызвать новый CI CD/трубопровод, и это может быть сделано путем перехода к Project Settings-> CI/CD трубопроводов -> Создание маркерного

Также , Важно, чтобы у вас были правильные привилегии для Git.

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