Release
Release
You can pin a set of entries and assets (along with the deploy action, i.e., publish/unpublish) to a ‘release’, and then deploy this release to an environment. This will publish/unpublish all the items of the release to the specified environment.
update
The Update Release call lets you update the name and description of an existing Release.
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ authtoken })
const release = {
name: "Release Name",
description: "2018-12-12",
locked: false,
archived: false
}
var release = client.stack({ api_key: 'api_key'}).release('release_uid')
Object.assign(release, cloneDeep(release))
release.update()
.then((release) => console.log(release))import * as contentstack from '@contentstack/management'
const client = contentstack.client({ authtoken })
client.stack({ api_key: 'api_key'}).release('release_uid').fetch()
.then((release) => {
release.title = 'My New release'
release.description = 'Release description'
return release.update()
})
.then((release) => console.log(release))fetch
The fetch Release call fetches Release details.
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ authtoken })
client.stack({ api_key: 'api_key'}).release('release_uid')
.fetch()
.then((release) => console.log(release))delete
The Delete Release call is used to delete an existing Release permanently from your Stack.
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ authtoken })
client.stack({ api_key: 'api_key'}).release('release_uid')
.delete()
.then((response) => console.log(response.notice))item
A ReleaseItem is a set of entries and assets that needs to be deployed (published or unpublished) all at once to a particular environment.
| Name | Type | Description |
|---|---|---|
| params.environments (required) | array | The environment(s) on which the Release should be deployed. |
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ authtoken })
client.stack({ api_key: 'api_key'}).release('release_uid').item()
.fetchAll()
.then((items) => console.log(items))deploy
Deploying a release performs the selected action (publish or unpublish) on the items of that release associated with a specific environment.
| Name | Type | Description |
|---|---|---|
| params.environments (required) | array | The environment(s) on which the Release should be deployed. |
| params.locales | array | The locale(s) on which the Release should be deployed. |
| params.action | string | The action on which the Release should be deployed. |
| params. scheduledAt | string | The schedule time for the Release to deploy. |
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ authtoken })
client.stack({ api_key: 'api_key'}).release('release_uid').deploy({
environments: [
"production",
"uat"
],
locales: [
"en-us",
"ja-jp"
],
scheduledAt: '2018-12-12T13:13:13:122Z',
action: 'publish',
})
.then((response) => console.log(response.notice))clone
The Clone a Release request allows you to clone (make a copy of) a specific Release in a stack.
| Name | Type | Description |
|---|---|---|
| params.name (required) | string | The name of the cloned Release. |
| params.description | string | description of the cloned Release. |
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ authtoken })
client.stack({ api_key: 'api_key'}).release('release_uid')
.clone({ name: 'New Name', description: 'New Description'})
.then((release) => console.log(release))create
The Create a Release request allows you to create a new Release in your stack. To add entries/assets to a Release, you need to provide the UIDs of the entries/assets in ‘items’ in the request body.
| Name | Type | Description |
|---|---|---|
| params.release | object | Release details. |
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ authtoken })
const release = {
name: "Release Name",
description: "2018-12-12",
locked: false,
archived: false
}
client.stack({ api_key: 'api_key'}).release().create({ release })
.then((release) => console.log(release))query
| Name | Type | Description |
|---|---|---|
| params.include_count | boolean | The 'include_count’ parameter includes the count of total number of releases in your stack, along with the details of each release. |
| params.include_items_count | boolean | The ‘include_items_count’ parameter returns the total number of items in a specific release. |
| params.limit | number | The ‘limit’ parameter will return a specific number of releases in the output. |
| params.skip | number | The ‘skip’ parameter will skip a specific number of releases in the response. |
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ authtoken })
client.stack({ api_key: 'api_key'}).release().query()
.find()
.then((release) => console.log(release))