Эта версия GitHub Enterprise Server была прекращена 2024-09-25. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, повышения безопасности и новых функций выполните обновление до последней версии GitHub Enterprise Server. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.
Конечные точки REST API для тегов Git
Используйте REST API для взаимодействия с объектами тегов в базе данных Git на GitHub.
Сведения о тегах Git
Метка Git похожа на ссылку Git, однако фиксация Git, на которую она указывает, никогда не изменяется. Метки Git используются в тех случаях, когда нужно указать на определенные выпуски. Эти конечные точки позволяют считывать и записывать объекты тегов в базу данных Git на GitHub. API поддерживает только аннотированные объекты тегов, а не упрощенные теги.
Create a tag object
Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then create the refs/tags/[tag] reference. If you want to create a lightweight tag, you only have to create the tag reference - this call would be unnecessary.
Signature verification object
The response will include a verification object that describes the result of verifying the commit's signature. The following fields are included in the verification object:
| Name | Type | Description | 
|---|---|---|
verified | boolean | Indicates whether GitHub considers the signature in this commit to be verified. | 
reason | string | The reason for verified value. Possible values and their meanings are enumerated in table below. | 
signature | string | The signature that was extracted from the commit. | 
payload | string | The value that was signed. | 
verified_at | string | The date the signature was verified by GitHub. | 
These are the possible values for reason in the verification object:
| Value | Description | 
|---|---|
expired_key | The key that made the signature is expired. | 
not_signing_key | The "signing" flag is not among the usage flags in the GPG key that made the signature. | 
gpgverify_error | There was an error communicating with the signature verification service. | 
gpgverify_unavailable | The signature verification service is currently unavailable. | 
unsigned | The object does not include a signature. | 
unknown_signature_type | A non-PGP signature was found in the commit. | 
no_user | No user was associated with the committer email address in the commit. | 
unverified_email | The committer email address in the commit was associated with a user, but the email address is not verified on their account. | 
bad_email | The committer email address in the commit is not included in the identities of the PGP key that made the signature. | 
unknown_key | The key that made the signature has not been registered with any user's account. | 
malformed_signature | There was an error parsing the signature. | 
invalid | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | 
valid | None of the above errors applied, so the signature is considered to be verified. | 
Подробные маркеры доступа для "Create a tag object
Эта конечная точка работает со следующими точными типами маркеров:
- Маркеры доступа пользователей приложения GitHub
 - Маркеры доступа к установке приложений GitHub
 - Точные личные маркеры доступа
 
Маркер с точной детализацией должен иметь следующий набор разрешений.:
- "Contents" repository permissions (write)
 
Параметры для "Create a tag object"
| Имя., Тип, Description | 
|---|
accept string Setting to   | 
| Имя., Тип, Description | 
|---|
owner string Обязательное полеThe account owner of the repository. The name is not case sensitive.  | 
repo string Обязательное полеThe name of the repository without the   | 
| Имя., Тип, Description | ||||
|---|---|---|---|---|
tag string Обязательное полеThe tag's name. This is typically a version (e.g., "v0.0.1").  | ||||
message string Обязательное полеThe tag message.  | ||||
object string Обязательное полеThe SHA of the git object this is tagging.  | ||||
type string Обязательное полеThe type of the object we're tagging. Normally this is a  Возможные значения:   | ||||
tagger object An object with information about the individual creating the tag.  | ||||
Properties of  | 
| Имя., Тип, Description | 
|---|
name string Обязательное полеThe name of the author of the tag  | 
email string Обязательное полеThe email of the author of the tag  | 
date string When this object was tagged. This is a timestamp in ISO 8601 format:   | 
Коды состояния http-ответа для "Create a tag object"
| Код состояния | Описание | 
|---|---|
201 | Created  | 
409 | Conflict  | 
422 | Validation failed, or the endpoint has been spammed.  | 
Примеры кода для "Create a tag object"
Пример запроса
curl -L \
  -X POST \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/git/tags \
  -d '{"tag":"v0.0.1","message":"initial version","object":"c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c","type":"commit","tagger":{"name":"Monalisa Octocat","email":"octocat@github.com","date":"2011-06-17T14:53:35-07:00"}}'Response
Status: 201{
  "node_id": "MDM6VGFnOTQwYmQzMzYyNDhlZmFlMGY5ZWU1YmM3YjJkNWM5ODU4ODdiMTZhYw==",
  "tag": "v0.0.1",
  "sha": "940bd336248efae0f9ee5bc7b2d5c985887b16ac",
  "url": "https://HOSTNAME/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac",
  "message": "initial version",
  "tagger": {
    "name": "Monalisa Octocat",
    "email": "octocat@github.com",
    "date": "2014-11-07T22:01:45Z"
  },
  "object": {
    "type": "commit",
    "sha": "c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c",
    "url": "https://HOSTNAME/repos/octocat/Hello-World/git/commits/c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c"
  },
  "verification": {
    "verified": false,
    "reason": "unsigned"
  }
}Get a tag
Signature verification object
The response will include a verification object that describes the result of verifying the commit's signature. The following fields are included in the verification object:
| Name | Type | Description | 
|---|---|---|
verified | boolean | Indicates whether GitHub considers the signature in this commit to be verified. | 
reason | string | The reason for verified value. Possible values and their meanings are enumerated in table below. | 
signature | string | The signature that was extracted from the commit. | 
payload | string | The value that was signed. | 
verified_at | string | The date the signature was verified by GitHub. | 
These are the possible values for reason in the verification object:
| Value | Description | 
|---|---|
expired_key | The key that made the signature is expired. | 
not_signing_key | The "signing" flag is not among the usage flags in the GPG key that made the signature. | 
gpgverify_error | There was an error communicating with the signature verification service. | 
gpgverify_unavailable | The signature verification service is currently unavailable. | 
unsigned | The object does not include a signature. | 
unknown_signature_type | A non-PGP signature was found in the commit. | 
no_user | No user was associated with the committer email address in the commit. | 
unverified_email | The committer email address in the commit was associated with a user, but the email address is not verified on their account. | 
bad_email | The committer email address in the commit is not included in the identities of the PGP key that made the signature. | 
unknown_key | The key that made the signature has not been registered with any user's account. | 
malformed_signature | There was an error parsing the signature. | 
invalid | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | 
valid | None of the above errors applied, so the signature is considered to be verified. | 
Подробные маркеры доступа для "Get a tag
Эта конечная точка работает со следующими точными типами маркеров:
- Маркеры доступа пользователей приложения GitHub
 - Маркеры доступа к установке приложений GitHub
 - Точные личные маркеры доступа
 
Маркер с точной детализацией должен иметь следующий набор разрешений.:
- "Contents" repository permissions (read)
 
Эту конечную точку можно использовать без проверки подлинности или указанных выше разрешений, если запрашиваются только общедоступные ресурсы.
Параметры для "Get a tag"
| Имя., Тип, Description | 
|---|
accept string Setting to   | 
| Имя., Тип, Description | 
|---|
owner string Обязательное полеThe account owner of the repository. The name is not case sensitive.  | 
repo string Обязательное полеThe name of the repository without the   | 
tag_sha string Обязательное поле | 
Коды состояния http-ответа для "Get a tag"
| Код состояния | Описание | 
|---|---|
200 | OK  | 
404 | Resource not found  | 
409 | Conflict  | 
Примеры кода для "Get a tag"
Пример запроса
curl -L \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/git/tags/TAG_SHAResponse
Status: 200{
  "node_id": "MDM6VGFnOTQwYmQzMzYyNDhlZmFlMGY5ZWU1YmM3YjJkNWM5ODU4ODdiMTZhYw==",
  "tag": "v0.0.1",
  "sha": "940bd336248efae0f9ee5bc7b2d5c985887b16ac",
  "url": "https://HOSTNAME/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac",
  "message": "initial version",
  "tagger": {
    "name": "Monalisa Octocat",
    "email": "octocat@github.com",
    "date": "2014-11-07T22:01:45Z"
  },
  "object": {
    "type": "commit",
    "sha": "c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c",
    "url": "https://HOSTNAME/repos/octocat/Hello-World/git/commits/c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c"
  },
  "verification": {
    "verified": false,
    "reason": "unsigned"
  }
}