# org.jenkinsci.plugins.workflow.steps.FlowInterruptedException: The pipeline timed out after 60 minutes

- **ID:** `cicd/jenkins-pipeline-timeout`
- **Domain:** cicd
- **Category:** runtime_error
- **Verification:** ai_generated
- **Fix Rate:** 90%

## Root Cause

A Jenkins pipeline stage or the entire pipeline exceeded the configured timeout limit, causing the build to be aborted.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| Jenkins 2.346+ | active | — | — |
| Pipeline: Declarative 1.8.5+ | active | — | — |
| Pipeline: Groovy 2.9+ | active | — | — |

## Workarounds

1. **Increase the timeout in the Jenkinsfile by modifying the `options` block: `options { timeout(time: 120, unit: 'MINUTES') }` for the entire pipeline, or add `timeout(time: 30, unit: 'MINUTES')` to a specific stage.** (90% success)
   ```
   Increase the timeout in the Jenkinsfile by modifying the `options` block: `options { timeout(time: 120, unit: 'MINUTES') }` for the entire pipeline, or add `timeout(time: 30, unit: 'MINUTES')` to a specific stage.
   ```
2. **Optimize the pipeline to reduce execution time by parallelizing stages with `parallel` directive: `stage('Build and Test') { parallel { stage('Build') { ... } stage('Test') { ... } } }`** (70% success)
   ```
   Optimize the pipeline to reduce execution time by parallelizing stages with `parallel` directive: `stage('Build and Test') { parallel { stage('Build') { ... } stage('Test') { ... } } }`
   ```

## Dead Ends

- **Removing the timeout option entirely from the Jenkinsfile** — Without a timeout, the pipeline can run indefinitely, consuming resources and potentially blocking the executor queue. (30% fail)
- **Setting the timeout to a very high value (e.g., 9999 minutes) to avoid the error** — This masks the underlying issue (e.g., a stuck step or resource contention) and can lead to resource exhaustion. (50% fail)
