Создание тегов в репозитории Gitlab с помощью API Gitlab

у меня есть 4 репозитория в GitLab с именами Repo1, Repo2, Repo3 и Repo4

теперь, как я могу создать тег v1.0 для всей основной ветки репо, используя API GitLab?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
2 173
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используя POST /projects/:id/repository/tags создайте новый API тегов, вызов будет таким:

curl -X POST "https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/repository/tags?tag_name=v1.0&ref=master&release_description='a short description'&private_token=${GITLAB_TOKEN}"

Замените CI_PROJECT_ID на идентификатор вашего проекта GitLab.

Как показано в gitlab-org/gitlab issue 119136, это работает только для краткого однострочного описания тега.

Это создает легкий тег.
Для аннотированного тега потребуется параметр &message='...'.

Вы можете увидеть альтернативный вызов здесь.

После обсуждения ОП подтверждает:

curl -X POST "http://198.x.y.z/api/v4/projects/2345/repository/tags?tag_name=v1.0&ref=master&release_description='first%20tag'&private_token=**************"

(замена любого пробела на %20 в описании релиза) работает.

работает, но показывает {"tag_name":"v1.5","description":"'first tag'"},"protected":false}
Могу ли я сделать это защищенным как истинное?

Для этого потребуется еще один вызов API .
Пример:

curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/protected_tags?name=*-stable&create_access_level=30"

С:

create_access_level: уровни доступа, разрешенные для создания (по умолчанию: 40, уровень доступа сопровождающего)

@kiran Идентификатор проекта GitLab. Я отредактировал ответ, чтобы добавить ссылку, объясняющую, как найти идентификатор вашего проекта GitLab.

VonC 10.12.2020 09:34

полноценный тег — это не что иное, как аннотированный тег, который включает сообщение тега, в то время как облегченный тег не включает сообщение тега и может быть извлечен или отправлен

kiran 10.12.2020 09:36

@kiran Команда, которую я упоминаю в ответе, предназначена для облегченного тега: я отредактировал ответ, чтобы сделать его более ясным.

VonC 10.12.2020 09:41

я пробовал это, но не работает, можете ли вы написать пример запятой

kiran 10.12.2020 10:08

@kiran Можете ли вы проверить альтернативный вызов, который я упоминаю в ответе (stackoverflow.com/a/38272865/6309). Кроме того, есть ли какое-либо сообщение об ошибке. Вы используете правильный идентификатор проекта?

VonC 10.12.2020 10:09

Да, есть сообщение об ошибке "400 Bad Request"

kiran 10.12.2020 10:13

Давайте продолжим обсуждение в чате.

VonC 10.12.2020 10:13

я использую правильный идентификатор проекта и URL-адрес проекта

kiran 10.12.2020 10:13

Другие вопросы по теме