Tags
Description of the JSON object structure describing a tag
| Field | Type | Description | 
|---|---|---|
| name | String | Tag name | 
| fullName | String | Full tag name | 
| objectId | String | Object ID (for lightweight tags matches the commit hash) | 
| shortMessage | String | Short message (absent for lightweight tags) | 
| fullMessage | String | Full message (absent for lightweight tags) | 
| commitId | String | Commit hash referenced by the tag | 
| personIdent | Object personIdent | Information about the tag author | 
| lightWeight | Boolean | Lightweight tag trueor annotatedfalse | 
Description of the JSON object structure describing the tag author
| Field | Type | Description | 
|---|---|---|
| name | String | Author's name | 
| avatar | String | Author's avatar | 
| emailAddress | String | Email address | 
| when | DateTime | Tag creation time | 
Description of the JSON object structure describing tag protection rule
Learn more about tag protection rules here.
| Field | Type | Description | 
|---|---|---|
| tagTemplate | String | Protected tag name template | 
| allowToCreate | String | Minimum participant role allowed to create protected tags. Possible values: NO_ONE- nobody,DEVELOPER- developers and above,ADMINS- admins and above | 
| ownerType | String | Tag protection rule owner type | 
| uuid | String | Tag protection rule UUID | 
Method to get the list of project tags
GET /project/{ownerAlias}/{projectAlias}/tag
The request returns a list of all tags, with the ability to configure number of objects per page.
| Path variable | Type | Description | 
|---|---|---|
| ownerAlias | String | Project owner's alias | 
| projectAlias | String | Project alias | 
Responses
STATUS 200 - Tag list returned.
Example response
    
{
    "_embedded": {
        "tagList": [
           {
                "name": "3.2.1",
                "fullName": "refs/tags/3.2.1",
                "objectId": "1a4cca6e2a5badaaaaaaaaaaaaf34aeeda3b4312",
                "shortMessage": "",
                "fullMessage": "",
                "commitId": "334894f08068f3aaaaaaaaaaaa6c4d11ab291901",
                "personIdent": {
                    "name": "user",
                    "avatar": "/static/image/avatar.jpg",
                    "emailAddress": "user@email.ru",
                    "when": "2024-05-14T08:57:19Z"
                },
                "lightWeight": false
            },
            {
                "name": "v1.4",
                "fullName": "refs/tags/v1.4",
                "objectId": "767824e6b49d65aaaaaaaaaaaad4d6b38667242e",
                "shortMessage": "",
                "fullMessage": "",
                "commitId": "b7a6c142f2a9b5aaaaaaaaaaaa4d7dd4f314f328",
                "personIdent": {
                   "name": "user",
                   "avatar": "/static/image/avatar.jpg",
                   "emailAddress": "user@email.ru",
                   "when": "2022-04-26T13:44:45Z"
                },
                "lightWeight": false
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  
STATUS 403 - No access rights.
STATUS 404 - Data not found.
Method to get a tag by name
GET /project/{ownerAlias}/{projectAlias}/tag/{tagName}
The request returns a tag.
| Path variable | Type | Description | 
|---|---|---|
| ownerAlias | String | Project owner's alias | 
| projectAlias | String | Project alias | 
| tagName | String | Tag name | 
Responses
STATUS 200 - Tag returned.
Example response
    
{
    "name": "3.2.1",
    "fullName": "refs/tags/3.2.1",
    "objectId": "1a4cca6e2a5badaaaaaaaaaaaaf34aeeda3b4312",
    "shortMessage": "",
    "fullMessage": "",
    "commitId": "334894f08068f3aaaaaaaaaaaa6c4d11ab291901",
    "personIdent": {
        "name": "user",
        "avatar": "/static/image/avatar.jpg",
        "emailAddress": "user@email.ru",
        "when": "2024-05-14T08:57:19Z"
    },
    "lightWeight": false
}
    
  
STATUS 403 - No access rights.
STATUS 404 - Data not found.
Method to create a tag
POST /project/{ownerAlias}/{projectAlias}/tag/create
The request creates a tag and returns its information. A tag can be created on a branch or a commit.
| Path variable | Type | Description | 
|---|---|---|
| ownerAlias | String | Project owner's alias | 
| projectAlias | String | Project alias | 
Request
Supported JSON format
POST request body structure:
| JSON variable | Type | Description | 
|---|---|---|
| tagName | String | Tag name | 
| branchName | String | Project branch name | 
| commitId | String | Commit hash | 
| message | String | Tag description | 
Example JSON object
{
    "tagName": "3.2.1",
    "commitId": "334894f08068f3aaaaaaaaaaaa6c4d11ab291901",
    "message": "Example message",
}
Responses
STATUS 200 - Tag created successfully.
Example response
    
{
    "name": "3.2.1",
    "fullName": "refs/tags/3.2.1",
    "objectId": "1a4cca6e2a5badaaaaaaaaaaaaf34aeeda3b4312",
    "shortMessage": "",
    "fullMessage": "",
    "commitId": "334894f08068f3aaaaaaaaaaaa6c4d11ab291901",
    "personIdent": {
        "name": "user",
        "avatar": "/static/image/avatar.jpg",
        "emailAddress": "user@email.ru",
        "when": "2024-05-14T08:57:19Z"
    },
    "lightWeight": false
}
    
  
STATUS 403 - No access rights.
STATUS 404 - Data not found.
Methods for tag protection rules
Method to get the list of tag protection rules
Companies: GET /company/{companyAlias}/tag-protection
Teams: GET /team/{teamAlias}/tag-protection
The request returns a list of tag protection rules for the specified entity with the given alias, with the ability to configure number of objects per page.
| Path variable | Type | Description | 
|---|---|---|
| companyAlias | String | Company alias | 
| teamAlias | String | Team alias | 
Responses
STATUS 200 - Tag protection rules returned:
Example response
    
{
    "_embedded": {
        "restTagProtectionModelList": [
            {
                "tagTemplate": "**",
                "allowToCreate": "NO_ONE",
                "ownerType": "COMPANY",
                "uuid": "af7fdf35-aaaa-aaaa-aaaa-6faa00b5ba19"
            },
            {
                "tagTemplate": "Release-*",
                "allowToCreate": "ADMINS",
                "ownerType": "COMPANY",
                "uuid": "df4f3dc7-aaaa-aaaa-aaaa-7009324ead56"
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  
STATUS 403 - No access rights.
STATUS 404 - Data not found.
Method to get tag protection rule by UUID
Companies: GET /company/{companyAlias}/tag-protection/{tagProtectionUuid}
Teams: GET /team/{teamAlias}/tag-protection/{tagProtectionUuid}
The request returns a tag protection rule for the specified entity with the given alias.
| Path variable | Type | Description | 
|---|---|---|
| companyAlias | String | Company alias | 
| teamAlias | String | Team alias | 
| tagProtectionUuid | String | Tag protection rule UUID | 
Responses
STATUS 200 - Tag protection rule returned:
Example response
    
{
    "tagTemplate": "**",
    "allowToCreate": "NO_ONE",
    "ownerType": "COMPANY",
    "uuid": "af7fdf35-aaaa-aaaa-aaaa-6faa00b5ba19"
}
    
  
STATUS 403 - No access rights.
STATUS 404 - Data not found.
Method to create tag protection rule
Companies: POST /company/{companyAlias}/tag-protection/create
Teams: POST /team/{teamAlias}/tag-protection/create
The request creates and returns a tag protection rule for the specified entity with the given alias.
| Path variable | Type | Description | 
|---|---|---|
| companyAlias | String | Company alias | 
| teamAlias | String | Team alias | 
Request
Supported JSON format
POST request body structure:
| Field | Type | Description | 
|---|---|---|
| tagTemplate | String | Protected tag name template | 
| allowToCreate | String | Minimum participant role allowed to create protected tags. Possible values: NO_ONE- nobody,DEVELOPER- developers and above,ADMINS- admins and above | 
Example JSON object
{
    "tagTemplate": "**",
    "allowToCreate": "ADMINS"
}
Responses
STATUS 200 - Tag protection rule created:
Example response
    
{
    "tagTemplate": "**",
    "allowToCreate": "NO_ONE",
    "ownerType": "COMPANY",
    "uuid": "af7fdf35-aaaa-aaaa-aaaa-6faa00b5ba19"
}
    
  
STATUS 403 - No access rights.
STATUS 404 - Data not found.
STATUS 422 - Required field missing in request body.
Method to edit tag protection rule
Companies: PATCH /company/{companyAlias}/tag-protection/edit
Teams: PATCH /team/{teamAlias}/tag-protection/edit
The request edits and returns a tag protection rule for the specified entity with the given alias.
| Path variable | Type | Description | 
|---|---|---|
| companyAlias | String | Company alias | 
| teamAlias | String | Team alias | 
Request
Supported JSON format
PATCH request body structure:
| Field | Type | Description | 
|---|---|---|
| uuid | String | Tag protection rule UUID | 
| allowToCreate | String | Minimum participant role allowed to create protected tags. Possible values: NO_ONE- nobody,DEVELOPER- developers and above,ADMINS- admins and above | 
Example JSON object
{
    "uuid": "af7fdf35-aaaa-aaaa-aaaa-6faa00b5ba19",
    "allowToCreate": "ADMINS"
}
Responses
STATUS 200 - Tag protection rule edited:
Example response
    
{
    "tagTemplate": "**",
    "allowToCreate": "NO_ONE",
    "ownerType": "COMPANY",
    "uuid": "af7fdf35-aaaa-aaaa-aaaa-6faa00b5ba19"
}
    
  
STATUS 403 - No access rights.
STATUS 404 - Data not found.
STATUS 422 - Required field missing in request body.
Method to delete tag protection rule
Companies: DELETE /company/{companyAlias}/tag-protection/{tagProtectionUuid}
Teams: DELETE /team/{teamAlias}/tag-protection/{tagProtectionUuid}
The request deletes a tag protection rule for the specified entity with the given alias by the specified UUID.
| Path variable | Type | Description | 
|---|---|---|
| companyAlias | String | Company alias | 
| teamAlias | String | Team alias | 
| tagProtectionUuid | String | Tag protection rule UUID | 
Responses
STATUS 204 - Tag protection rule deleted.
STATUS 403 - No access rights.
STATUS 404 - Data not found.
Method to apply tag protection rules to projects
Companies: POST /company/{companyAlias}/tag-protection/apply-settings-to-projects
Teams: POST /team/{teamAlias}/tag-protection/apply-settings-to-projects
The request applies tag protection rules to all projects of the specified entity with the given alias.
| Path variable | Type | Description | 
|---|---|---|
| companyAlias | String | Company alias | 
| teamAlias | String | Team alias | 
Responses
STATUS 204 - Tag protection rules applied to all child projects.
STATUS 403 - No access rights.
STATUS 404 - Data not found.
Automated translation!
This page was translated using automatic translation tools. The text may contain inaccuracies.