Есть ли способ получить id проекта через GitLab API.
Я создал проект, используя GitLab API, указав имя проекта -
curl -kX POST --header "PRIVATE-TOKEN: <access_token>" https://gitlab.example.com/api/v4/projects/my_app&visibility=internal
Он возвращает ожидаемый результат с информацией о проекте, такой как links, id, user, namespace и т. д.
Теперь я хочу создать issue или создать branch. Мне нужен проект id сейчас.
Итак, как я могу получить id моего проекта my_app. (не из пользовательского интерфейса).
Я не нашел ни одного API-запроса, который я мог бы создать issue или branch без использования проекта id.
Мне всегда нужен idAPI вопросов
POST /projects/:id/issues
Кроме того, я не нашел ни одного API-запроса, который я мог бы получить id с помощью проекта name
Единственное, что я могу использовать с помощью API поиска и использовать project namecurl -kX GET --header "PRIVATE-TOKEN: <access_token>" https://gitlab.example.com/api/v4/search?scope=projects&search=my_app
Но он дает много информации. Мне нужно только получить project id. Не знаете, как получить проект id?
Есть библиотека Python-Gitlab, с помощью которой я могу делать подобные вещи, такие как использование curl.
name и id в формате yaml)
gitlab project listgitlab -o yaml project create --name "my_app_cli" --visibility "internal"gitlab -o yaml project create-issue --id ID Здесь тоже нужно предоставить id.Но в этой библиотеке также нет возможности получить проект id.
Как и в API, для создания любой ветки, задачи и т. д. мне нужно использовать id созданного проекта. Я не хочу вручную помещать id в api или при использовании cli
Есть ли способ получить идентификатор через api или cli с помощью проекта name?
Или есть ли обходной путь для создания issue, branch и т. д. без использования id через api или cli?
Я думаю, что это работает только с api v3. Я пробовал, но не получил желаемого результата.
Вы должны попробовать этот инструмент cli: github.com/profclems/glab





Почему вы не читаете идентификатор из результатов вызова создания проекта? Вы можете сделать это легко, например, с помощью https://stedolan.github.io/jq/
Вы можете использовать конечную точку Получить единый проект. Но в целом вы не ограничены использованием числового идентификатора, вы можете использовать имя проекта в вызовах API:
id: идентификатор или URL-кодированный путь к проекту
В вашем конкретном случае это должно работать как пример получения идентификатора и демонстрации того, что вам не обязательно нужен идентификатор :)
GET /api/v4/projects/my_namespace%2Fmy_app
Но чтобы создать issue или branch, мне нужно id. Нет!!! Или я могу использовать my_namespace%2Fmy_app для создания проекта issue или branch
Что такое API для создания проекта с помощью namespace
Вы можете использовать закодированный URL-адрес проекта для создания новой задачи: docs.gitlab.com/ee/api/issues.html#новый-выпуск То же самое относится и к созданию новой ветки: docs.gitlab.com/ee/api/branches.html#create-repository-branch API для создания нового проекта: docs.gitlab.com/ee/api/projects.html#create-project
Вы должны попробовать этот инструмент cli: github.com/profclems/glab. Вы можете получить проблемы проекта с glab issue list
Используйте поисковый API со сферой проектов, это описано здесь: https://docs.gitlab.com/ee/api/search.html#scope-проекты
В Python у нас есть модули, которые используют API Gitlab для получения деталей. Вы можете получить идентификатор проектов, используя приведенный ниже код Python. Здесь мы используем модуль gitlab для выполнения вызова.
import os
import gitlab
gl = gitlab.Gitlab('http://gitlab_hostname.com', 'your_private_token')
all_projects = gl.projects.list(all=True)
print("All projects id are:",all_projects)
Поможет ли stackoverflow.com/a/39572304/6309?