Release

View as Markdown

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.

NameTypeDescription
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.

NameTypeDescription
params.environments (required)array

The environment(s) on which the Release should be deployed.

params.localesarray

The locale(s) on which the Release should be deployed.

params.actionstring

The action on which the Release should be deployed.

params. scheduledAtstring

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.

NameTypeDescription
params.name (required)string

The name of the cloned Release.

params.descriptionstring

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.

NameTypeDescription
params.releaseobject

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

The Query on release will allow to fetch details of all or specific Releases.
NameTypeDescription
params.include_countboolean

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_countboolean

The ‘include_items_count’ parameter returns the total number of items in a specific release.

params.limitnumber

The ‘limit’ parameter will return a specific number of releases in the output.

params.skipnumber

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))