Contentstack End User Training (EUT)
Publish Rules
Publish Rules are conditions that you define for your content publishing. They allow you to govern whether entries can be published with or without someone’s approval, or only when the content is at a particular stage.

Exercise Video
Follow along with the video to practice governance, workflows, and permissions.
Understanding with an example
You can define a publishing rule in which every entry first needs to be approved by a particular user, such as John Smith. Unless John Smith approves it, the entry cannot be published. Alternatively, if you define that the Stage should be Complete to be published, the entry will not be published unless the Complete Stage is reached.
Publish Rules are made up of two parts:
Parameters - For every publish rule, you need to define the following parameters:
Environment - The environment for which the publish rule will be applicable.
Content type - The content type to which the publish rule will be applied.
Action - Whether the publishing rule is for publish or unpublish (or both) action.
Language - The language for which the rule is applicable.
Once you define the parameters, define a condition.
Conditions - You can use either or both of the following conditions for your publishing rule.
Approver - Use this condition if you want to add an approver to all the entries that are being published or unpublished. Add the user(s)/role(s) who should be authorized to approve the publishing or unpublishing of an entry.
Example: If you assign 'John Smith' as the Approver, every entry sent for publishing or unpublishing (and meets the required parameters) will go to John Smith for approval. The entry cannot be published or unpublished unless John approves it. And, if you assign a role, let's say 'Content Approver,' as the Approver, every entry sent for publishing or unpublishing and meets the required parameters will go to every user assigned this role for approval. The entry cannot be published or unpublished unless any user assigned the 'Content Approver' role approves it.Stage - Use this condition to allow the publishing or unpublishing of an entry only if it has reached a particular workflow stage. When this condition is defined, an entry cannot be published or unpublished unless it comes to the defined Stage while creating content.
Example: If you have selected 'Complete' here, an entry (that matches the parameters defined above) cannot be published unless it reaches the Complete Stage.
Setting up publish rules is optional.
You must choose at least one condition (Approver(s) or Stage) for a publishing rule. You can select both if required, but at least one is mandatory.
A publishing rule with Approver (s) as the condition can work independently of workflows. This means you can add one or more publish rules (with Approver (s) under conditions) even if you have not added any workflows for your stack.
Publish Rules are helpful to set up specific rules for any entry to be published in a particular environment or language with appropriate approvals.
You can setup a Publish Rule that no entry is allowed to be published on production till it does not reach an approved stage in the workflow.