Certified Jenkins Engineer (CJE) — Questions and Answers
Question 1: Which command is used to restart Jenkins from the CLI without rebooting the server?
- jenkins --restart
- jenkins service restart
- service jenkins reload
- curl http://localhost:8080/restart (Correct answer)
Correct answer: curl http://localhost:8080/restart
You can restart Jenkins by sending a POST request to the /restart endpoint via curl or browser.
Question 2: What does 'Poll SCM' trigger do in Jenkins?
- Checks the source repository on a defined schedule and triggers a build only if changes are detected (Correct answer)
- Triggers a build every time any user polls the Jenkins API
- Polls all connected agents for available capacity
- Listens for webhook events from the SCM
Correct answer: Checks the source repository on a defined schedule and triggers a build only if changes are detected
Poll SCM causes Jenkins to check the configured repository on a schedule (using cron syntax) and triggers a build only when new commits are found.
Question 3: How do you prevent a Jenkins job from showing up in search results or the dashboard?
- Use a View to filter jobs (Correct answer)
- Delete the job
- Set job visibility to private
- Disable the job
Correct answer: Use a View to filter jobs
Jenkins Views can be configured to show only specific jobs, effectively hiding others from a given dashboard perspective.
Question 4: Which configuration approach allows Jenkins environment variables to be set system-wide for all jobs?
- Job-level environment injection
- Manage Jenkins > Configure System > Global properties (Correct answer)
- Jenkinsfile env block
- Pipeline script parameters
Correct answer: Manage Jenkins > Configure System > Global properties
Global environment variables for all jobs are configured under Manage Jenkins > Configure System > Global properties.
Question 5: Which Jenkins plugin provides the `withCredentials` pipeline step?
- Credentials Binding Plugin (Correct answer)
- Vault Plugin
- Secret Manager Plugin
- Keystore Plugin
Correct answer: Credentials Binding Plugin
The Credentials Binding Plugin provides the `withCredentials` pipeline step that binds stored credentials to environment variables.
Question 6: Which Jenkins feature allows you to copy an existing job's configuration as a starting point?
- Job Template plugin
- Copy From field when creating a new job (Correct answer)
- Import Job
- Clone Pipeline
Correct answer: Copy From field when creating a new job
When creating a new job, the 'Copy from' field lets you specify an existing job name to duplicate its configuration.
Question 7: What is the purpose of the Jenkins 'Manage Nodes and Clouds' section in administration?
- Set resource limits per node
- Configure node-level security policies
- View, configure, and manage all Jenkins agents and cloud providers (Correct answer)
- Monitor build queue across all nodes
Correct answer: View, configure, and manage all Jenkins agents and cloud providers
Manage Nodes and Clouds is the central UI for adding, removing, configuring, and monitoring all Jenkins agents and cloud-based dynamic agent providers.
Question 8: What is the function of the Jenkins Executor?
- A container used to isolate builds
- A plugin that manages build queues
- The Jenkins API gateway
- A thread responsible for executing build jobs on an agent or controller (Correct answer)
Correct answer: A thread responsible for executing build jobs on an agent or controller
An Executor is a thread slot on a node that physically runs a build; each node can have multiple executors.
Question 9: What is the purpose of the Jenkins initialAdminPassword file?
- It contains the Jenkins API token
- It provides the one-time setup password needed to unlock Jenkins for the first time (Correct answer)
- It defines the default admin credentials
- It stores hashed passwords for all users
Correct answer: It provides the one-time setup password needed to unlock Jenkins for the first time
The initialAdminPassword file contains a one-time password required to complete the Jenkins initial setup wizard.
Question 10: What is the `when` directive used for in a Declarative Pipeline?
- Setting build timeouts
- Specifying retry counts
- Conditionally executing a stage based on a specified condition (Correct answer)
- Scheduling pipeline runs
Correct answer: Conditionally executing a stage based on a specified condition
The `when` directive controls whether a stage executes based on conditions like branch name, environment variable, or expression.
Question 11: What does `sh` step do in a Jenkins Pipeline?
- Sends a Slack notification
- Shares files between stages
- Starts a new agent shell
- Runs a shell command on the agent (Correct answer)
Correct answer: Runs a shell command on the agent
The `sh` step executes a shell command (bash/sh) on the agent where the pipeline is running.
Question 12: What is the purpose of the Jenkins Manage Jenkins > System Information page?
- To configure global build tools
- To manage user accounts and roles
- To display all installed plugins and their versions
- To show JVM properties, environment variables, and system properties for diagnostics (Correct answer)
Correct answer: To show JVM properties, environment variables, and system properties for diagnostics
The System Information page displays JVM properties, environment variables, and memory usage useful for troubleshooting.
Question 13: What is the purpose of the Active Choices plugin in Jenkins?
- To enable A/B testing of pipeline configurations
- To dynamically populate build parameter options based on scripts or other parameter values (Correct answer)
- To auto-approve waiting pipeline stages
- To dynamically scale the number of executors
Correct answer: To dynamically populate build parameter options based on scripts or other parameter values
The Active Choices plugin renders dynamic, script-driven build parameters that can change based on other parameter selections.
Question 14: What is the purpose of Jenkins build artifacts fingerprinting?
- Tracking which builds produced specific artifacts and which jobs consumed them to trace dependency chains (Correct answer)
- Encrypting artifacts with a digital signature
- Creating checksums for artifact integrity verification
- Scanning artifacts for security vulnerabilities
Correct answer: Tracking which builds produced specific artifacts and which jobs consumed them to trace dependency chains
Jenkins fingerprinting records an MD5 of artifacts and tracks which jobs produced and consumed them, enabling dependency tracing across builds.
Question 15: What is the purpose of the `archiveArtifacts` step in a Jenkins Pipeline?
- Pushes artifacts to a Maven repository
- Saves specified files from the workspace to Jenkins so they can be downloaded after the build (Correct answer)
- Compresses log files for storage
- Backs up the Jenkins configuration
Correct answer: Saves specified files from the workspace to Jenkins so they can be downloaded after the build
The `archiveArtifacts` step saves files from the build workspace to Jenkins, making them downloadable from the build results page.
Question 16: What is a Jenkins Build Pipeline view?
- A Gantt chart of all running builds
- A visualization that shows a sequence of upstream/downstream jobs as connected pipeline stages (Correct answer)
- The Stage View available in Pipeline jobs
- The Blue Ocean visualization UI
Correct answer: A visualization that shows a sequence of upstream/downstream jobs as connected pipeline stages
The Build Pipeline plugin provides a view that visualizes a chain of upstream/downstream Freestyle jobs as connected pipeline stages with manual gating.
Question 17: What does the Maven Integration plugin provide in Jenkins?
- Maven wrapper auto-installation
- Native Maven build support with automatic goal binding and artifact archiving (Correct answer)
- A Maven repository proxy
- Docker image publishing via Maven
Correct answer: Native Maven build support with automatic goal binding and artifact archiving
The Maven Integration plugin adds a dedicated Maven project type with automatic goal binding, test result publishing, and artifact archiving.
Question 18: What are the prerequisites for getting started with Jenkins?
- a viable source code repository
- a viable source code repository and a build script that’s registered on that repository (Correct answer)
- a build script that’s registered on that repository
- None of the above
Correct answer: a viable source code repository and a build script that’s registered on that repository
To effectively use Jenkins for continuous integration, two primary prerequisites are essential: a viable source code repository (like Git or SVN) where your project's code is stored, and a build script registered within that repository. The build script defines the commands Jenkins will execute to build, test, and package your application. Jenkins then monitors the repository for changes and triggers automated builds based on this script.
Question 19: In Jenkins, what does setting a job's 'Build Periodically' trigger to 'H H(6-8) * * 1-5' mean?
- Build once per day, sometime between 6 AM and 8 AM, only on weekdays (Correct answer)
- Build every hour between 6 and 8 on weekdays
- Build at 6:00 AM and 8:00 AM on weekdays
- Build 6 to 8 times per day on weekdays
Correct answer: Build once per day, sometime between 6 AM and 8 AM, only on weekdays
H H(6-8) means once at a hashed time within the 6–8 hour range, and 1-5 restricts it to Monday through Friday.
Question 20: What is a Jenkinsfile?
- A Jenkins configuration backup file
- A plugin descriptor file
- A text file checked into source control that defines the pipeline as code (Correct answer)
- A binary file that stores compiled pipeline definitions
Correct answer: A text file checked into source control that defines the pipeline as code
A Jenkinsfile is a text file stored in source control that defines the pipeline using either Declarative or Scripted syntax.
Question 21: What is the JENKINS_HOME environment variable used for?
- To set the Jenkins server URL
- To specify the Java installation path
- To define the root directory where Jenkins stores all its data (Correct answer)
- To configure the admin user home
Correct answer: To define the root directory where Jenkins stores all its data
JENKINS_HOME specifies the root directory where Jenkins stores jobs, plugins, and configuration data.
Question 22: Which plugin is commonly used to publish JUnit test results in Jenkins?
- Test Results Plugin
- Surefire Plugin
- Test Reporter Plugin
- JUnit Plugin (Correct answer)
Correct answer: JUnit Plugin
The JUnit Plugin parses JUnit-compatible XML test result files and displays trend reports on the build page.
Question 23: Which directory structure must a Jenkins Shared Library follow?
- lib/, scripts/, templates/
- pipelines/, stages/, utils/
- groovy/, shared/, config/
- src/, vars/, resources/ (Correct answer)
Correct answer: src/, vars/, resources/
A Jenkins Shared Library must follow the structure with src/ for Groovy classes, vars/ for global variables, and resources/ for non-Groovy files.
Question 24: What format are Jenkins plugin files distributed in?
- .zip
- .hpi or .jpi (Correct answer)
- .war
- .jar
Correct answer: .hpi or .jpi
Jenkins plugins are distributed as .hpi (Hudson Plugin Interface) or .jpi (Jenkins Plugin Interface) files.
Question 25: How do you pass parameters to a Jenkins Declarative Pipeline?
- Using environment {} block only
- Using the parameters {} directive at the top level of the pipeline block (Correct answer)
- Using the params {} directive inside stages
- Passing them through the agent configuration
Correct answer: Using the parameters {} directive at the top level of the pipeline block
The `parameters {}` directive at the pipeline level defines build parameters that users can supply when triggering the pipeline.
Question 26: How does Jenkins integrate with Docker to produce a containerized application artifact?
- Jenkins uses the Docker Pipeline plugin to build Docker images from a Dockerfile within the pipeline and push to a registry (Correct answer)
- Jenkins SSH into Docker Hub to pull base images
- Jenkins requires the Docker daemon on the controller
- Jenkins auto-wraps all build outputs in Docker containers
Correct answer: Jenkins uses the Docker Pipeline plugin to build Docker images from a Dockerfile within the pipeline and push to a registry
The Docker Pipeline plugin allows pipelines to build Docker images using `docker.build()` and push them to a registry using `docker.push()` within the pipeline steps.
Question 27: Which Jenkins configuration section allows you to define global Maven or JDK installations?
- Manage Jenkins > Manage Plugins
- Manage Jenkins > Configure System
- Manage Jenkins > Script Console
- Manage Jenkins > Global Tool Configuration (Correct answer)
Correct answer: Manage Jenkins > Global Tool Configuration
Global tool installations like JDK, Maven, and Gradle are configured in Manage Jenkins > Global Tool Configuration.
Question 28: What happens when you set the number of executors on the Jenkins controller (built-in node) to 0?
- No builds run on the controller, forcing all builds to agents (Correct answer)
- All agent connections are disabled
- Jenkins stops working
- Jenkins runs one build at a time
Correct answer: No builds run on the controller, forcing all builds to agents
Setting controller executors to 0 is a best practice that prevents builds from running on the controller, reserving it for management tasks.
Question 29: What is the default port Jenkins runs on after a fresh installation?
- 8443
- 8080 (Correct answer)
- 3000
- 9090
Correct answer: 8080
Jenkins listens on port 8080 by default after installation.
Question 30: Which Jenkins plugin enables triggering builds based on file system changes rather than SCM commits?
- Directory Monitor Plugin
- File Watcher Plugin
- LocalSCM Plugin
- FSTrigger Plugin (Correct answer)
Correct answer: FSTrigger Plugin
The FSTrigger Plugin monitors the file system for changes (file creation, modification, deletion) and triggers builds accordingly without needing a version control system.
Question 31: What does the `stash` step do in a Jenkins Pipeline?
- Saves files in source control
- Archives artifacts for download
- Compresses log files
- Temporarily saves files for use in a later stage or node (Correct answer)
Correct answer: Temporarily saves files for use in a later stage or node
The `stash` step saves a set of files from the workspace for retrieval with `unstash` in another stage or node.
Question 32: Which Jenkins trigger automatically starts a build when an upstream job finishes successfully?
- Remote trigger
- Build after other projects are built (Correct answer)
- Build periodically
- Poll SCM
Correct answer: Build after other projects are built
'Build after other projects are built' trigger starts the current job when one or more specified upstream jobs complete, enabling automated job chaining.
Question 33: What are the two types of Jenkins Pipeline syntax?
- Groovy and JSON
- YAML and Groovy
- Scripted and Structured
- Declarative and Scripted (Correct answer)
Correct answer: Declarative and Scripted
Jenkins supports Declarative Pipeline (simpler, opinionated) and Scripted Pipeline (full Groovy DSL flexibility).
Question 34: What Jenkins trigger type uses a cron-like expression to schedule builds at specific times?
- Timer Trigger
- Poll SCM
- Cron Trigger Plugin
- Build periodically (Correct answer)
Correct answer: Build periodically
The 'Build periodically' trigger uses a cron syntax to schedule builds at regular intervals regardless of code changes.
Question 35: Which Declarative Pipeline section is used to define actions to run after the pipeline completes regardless of result?
- after {}
- cleanup {}
- post {} (Correct answer)
- finally {}
Correct answer: post {}
The `post {}` section in Declarative Pipeline supports conditions like always, success, failure, and cleanup.
Question 36: Which Jenkins trigger automatically starts a build when a source code change is detected in the SCM repository?
- Build periodically
- Poll SCM (Correct answer)
- Trigger builds remotely
- GitHub hook trigger for GITScm polling
Correct answer: Poll SCM
Poll SCM periodically checks the SCM repository for changes and triggers a build only when changes are detected.
Question 37: What is the Jenkins agent.jar (remoting.jar) file?
- A plugin for agent management
- The Jenkins war file
- The Jenkins CLI client
- The Java executable that runs on the agent machine and communicates with the controller (Correct answer)
Correct answer: The Java executable that runs on the agent machine and communicates with the controller
The agent.jar (remoting.jar) is the Java process launched on the agent machine that establishes and manages communication with the Jenkins controller.
Question 38: Which permission allows a user to read job configurations but not modify them in Jenkins Matrix security?
- Job/Read (Correct answer)
- Job/View
- Job/Build
- Job/Configure
Correct answer: Job/Read
The Job/Read permission allows a user to view a job's configuration and build history without being able to change anything.
Question 39: How can you run a Groovy initialization script automatically when Jenkins starts?
- Configure in config.xml
- Add it to the Jenkinsfile
- Use the Script Console startup hook
- Place a .groovy file in JENKINS_HOME/init.groovy.d/ (Correct answer)
Correct answer: Place a .groovy file in JENKINS_HOME/init.groovy.d/
Groovy scripts placed in `JENKINS_HOME/init.groovy.d/` are executed automatically in alphabetical order during Jenkins startup.
Question 40: What does the 'Quiet Period' setting in Jenkins do?
- Silences build notifications
- Prevents builds from running during off-hours
- Sets the timeout for idle agents
- Delays the next build by a set number of seconds after a trigger fires (Correct answer)
Correct answer: Delays the next build by a set number of seconds after a trigger fires
The Quiet Period delays a build by a specified number of seconds to allow multiple commits to be batched before triggering.
Question 41: How does Jenkins typically detect new code changes from a Git repository to trigger a build?
- Jenkins reads the Git log every minute via SSH
- Developers manually click 'Build Now' after each commit
- Jenkins polls the repository on a schedule or receives a webhook push notification from the Git server (Correct answer)
- Jenkins monitors the file system for changes
Correct answer: Jenkins polls the repository on a schedule or receives a webhook push notification from the Git server
Jenkins can either poll the SCM on a schedule (checking for changes) or receive a webhook push from GitHub/GitLab when new commits are pushed.
Question 42: What is the purpose of the `stages` block in a Declarative Pipeline?
- To specify build triggers
- To configure post-build actions
- To define environment variables
- To contain one or more stage blocks that represent pipeline phases (Correct answer)
Correct answer: To contain one or more stage blocks that represent pipeline phases
The `stages` block is a required container that holds all individual `stage` blocks representing phases of the pipeline.
Question 43: What is the purpose of setting a 'Remote Root Directory' when configuring a Jenkins agent?
- Sets the user home directory on the agent
- Defines the Jenkins controller's URL from the agent's perspective
- Defines the file system path on the agent where Jenkins stores workspaces and temp files (Correct answer)
- Sets the root of the agent's SCM checkout
Correct answer: Defines the file system path on the agent where Jenkins stores workspaces and temp files
The Remote Root Directory is the base path on the agent machine where Jenkins creates workspaces, archives, and temporary files during builds.
Question 44: Which file in JENKINS_HOME contains the main Jenkins system configuration?
- jenkins.xml
- system.xml
- config.xml (Correct answer)
- settings.xml
Correct answer: config.xml
The `config.xml` file at the root of `JENKINS_HOME` stores the primary Jenkins system configuration in XML format.
Question 45: What is a Jenkins Multibranch Pipeline?
- A pipeline with multiple Jenkinsfiles
- A pipeline that runs on multiple agents in parallel
- A pipeline project that automatically discovers branches and pull requests in a repository and creates pipelines for each (Correct answer)
- A pipeline that manages multiple Jenkins controllers
Correct answer: A pipeline project that automatically discovers branches and pull requests in a repository and creates pipelines for each
A Multibranch Pipeline project scans a repository for branches and pull requests, automatically creating and managing a pipeline for each one using its Jenkinsfile.
Question 46: What is the difference between a Jenkins Freestyle project and a Pipeline project?
- Pipeline projects cannot be parameterized
- Freestyle projects support Docker; Pipeline projects do not
- Freestyle projects can use agents; Pipeline projects cannot
- Freestyle projects are configured via UI; Pipeline projects define the build as code in a Jenkinsfile (Correct answer)
Correct answer: Freestyle projects are configured via UI; Pipeline projects define the build as code in a Jenkinsfile
Freestyle projects are configured through the Jenkins UI and are less flexible, while Pipeline projects define the entire build process as code in a Jenkinsfile.
Question 47: Which tool is used to install Jenkins on Linux using a package manager on RHEL/CentOS?
- yum or dnf (Correct answer)
- snap
- brew
- apt-get
Correct answer: yum or dnf
On RHEL/CentOS systems, Jenkins is installed using yum or dnf package managers after adding the Jenkins repo.
Question 48: What is the Jenkins API token used for?
- Generating build artifacts
- Authenticating API or CLI calls without using the user's password (Correct answer)
- Encrypting pipeline secrets
- Accessing the Jenkins plugin repository
Correct answer: Authenticating API or CLI calls without using the user's password
Jenkins API tokens allow users and scripts to authenticate to the Jenkins API or CLI without exposing the actual user password.
Question 49: Where does Jenkins store installed plugins by default?
- /usr/share/jenkins/plugins/
- $JAVA_HOME/plugins/
- /etc/jenkins/plugins/
- $JENKINS_HOME/plugins/ (Correct answer)
Correct answer: $JENKINS_HOME/plugins/
Jenkins installs plugins in the plugins subdirectory under JENKINS_HOME.
Question 50: What is the purpose of `input` step in a Jenkins Pipeline?
- To pause the pipeline and wait for human approval before continuing (Correct answer)
- To read a file from the workspace
- To inject credentials into the environment
- To accept parameters at build time
Correct answer: To pause the pipeline and wait for human approval before continuing
The `input` step pauses pipeline execution and displays a prompt requiring a human to approve or abort before the pipeline proceeds.
Question 51: What is a Shared Library in Jenkins?
- A plugin that shares build artifacts between jobs
- A reusable collection of Groovy code centrally stored and shared across multiple pipelines (Correct answer)
- A library of pre-built Dockerfiles
- A shared workspace mounted across agents
Correct answer: A reusable collection of Groovy code centrally stored and shared across multiple pipelines
Jenkins Shared Libraries allow teams to define common pipeline logic in a centralized Git repository and reuse it across multiple pipelines.
Question 52: Which Java version is the minimum requirement for Jenkins LTS 2.x?
- Java 17
- Java 21
- Java 11 (Correct answer)
- Java 8
Correct answer: Java 11
Jenkins LTS 2.x requires Java 11 as the minimum supported version.
Question 53: When using the Jenkins Kubernetes Plugin, what is the default container used if no container is specified in a pipeline step?
- The first container in the pod template
- The container named 'jnlp' (Correct answer)
- The container named 'default'
- The jenkins/agent base container
Correct answer: The container named 'jnlp'
The `jnlp` container in a Kubernetes pod template is the default agent container that handles controller communication; steps run in it unless another container is specified.
Question 54: How do you define a parallel execution of stages in a Declarative Pipeline?
- Use parallel {} inside a stage's steps
- Use concurrent: true on each stage
- Use concurrent {} block
- Use parallel {} inside a stage block (Correct answer)
Correct answer: Use parallel {} inside a stage block
In Declarative Pipeline, parallel stages are defined using the `parallel {}` block inside a `stage {}` block.
Question 55: Jenkins, what precisely do you mean?
- None of the above
- Jenkins is an open source Continuous and Integration.
- Jenkins is an open source Continuous Integration and Continuous Delivery Tool. (Correct answer)
- Jenkins is an open source Continuous and only Continuous Delivery Tool.
Correct answer: Jenkins is an open source Continuous Integration and Continuous Delivery Tool.
Jenkins is an open-source automation server primarily designed to facilitate both Continuous Integration (CI) and Continuous Delivery (CD). It automates the various stages of the software development lifecycle, from building and testing to packaging and deploying applications. This comprehensive capability makes it a cornerstone for modern DevOps practices, ensuring rapid and reliable software releases.
Question 56: Which Declarative Pipeline directive is used to set environment variables for use in pipeline steps?
- variables {}
- params {}
- environment {} (Correct answer)
- globals {}
Correct answer: environment {}
The `environment {}` directive in Declarative Pipeline defines key-value pairs available as environment variables throughout the pipeline.
Question 57: Which LDAP setting in Jenkins specifies the attribute used to find the user's username in the directory?
- Display name attribute
- User search filter
- User ID attribute (Correct answer)
- Group membership attribute
Correct answer: User ID attribute
The User ID attribute specifies which LDAP attribute (e.g., `uid` or `sAMAccountName`) maps to the Jenkins username.
Question 58: What is the function of the Throttle Concurrent Builds plugin?
- Throttles network usage during artifact transfer
- Queues builds and releases them on a schedule
- Limits the number of concurrent builds per job or globally to prevent resource contention (Correct answer)
- Limits builds per user account
Correct answer: Limits the number of concurrent builds per job or globally to prevent resource contention
The Throttle Concurrent Builds plugin restricts how many instances of a job (or category of jobs) can run simultaneously to prevent overload.
Question 59: What is the Jenkins Kubernetes Plugin's pod template used for?
- Specifying the containers, resources, and configuration of the Kubernetes pod used as a build agent (Correct answer)
- Configuring Kubernetes cluster credentials
- Templating Helm chart values for deployment
- Defining the Docker image used in Docker Pipeline steps
Correct answer: Specifying the containers, resources, and configuration of the Kubernetes pod used as a build agent
A pod template defines what containers, volumes, and resource requests the dynamically provisioned Kubernetes build agent pod should have.
Question 60: What does `withCredentials` block do in a Jenkins Pipeline?
- Rotates Jenkins API tokens
- Creates new Jenkins credentials
- Validates credentials before a build starts
- Binds stored credentials to environment variables for use within its block (Correct answer)
Correct answer: Binds stored credentials to environment variables for use within its block
The `withCredentials` block retrieves credentials from Jenkins' credential store and exposes them as environment variables within the block scope.
Certified Jenkins Engineer (CJE)
The CloudBees Certified Jenkins Engineer (CJE) exam validates expertise in Jenkins administration, pipeline configuration, and continuous delivery practices. It covers CI/CD concepts, Jenkins features, pipeline development, and CD-as-Code best practices.
Exam Rules
- You can skip questions and return to them later
- Flag questions for review before submitting
- No feedback shown until you submit the entire exam
- Unanswered questions count as wrong — answer everything
- 10 pretest questions are mixed in and don't affect your score
- Timer auto-submits when time runs out
- Your progress is auto-saved every 30 seconds
These practice questions were written with AI tools. They are not real exam questions. We have not yet matched this exam's facts to an official source, so confirm fees, dates and rules with the exam body. Not reviewed by a subject-matter expert. Editorial policy