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