Zuul
8.1.0
  • About Zuul
    • Zuul Concepts
    • Project Gating
      • Testing in parallel
      • Cross Project Testing
      • Cross-Project Dependencies
        • Dependent Pipeline
        • Independent Pipeline
        • Multiple Changes
        • Cycles
        • Global Repo State
  • Quick-Start Installation and Tutorial
    • Start Zuul Containers
    • Add Your Gerrit Account
    • Configure Zuul Pipelines
    • Test Zuul Pipelines
    • Configure a Base Job
    • Further Steps
  • Project Configuration
    • Security Contexts
    • Configuration Loading
    • Regular Expressions
    • Encryption
    • Configuration Items
      • Pipeline
      • Job
      • Project
      • Project Template
      • Queue
      • Secret
      • Nodeset
      • Semaphore
      • Pragma
  • Job Content
    • Working Directory
    • Git Repositories
    • Variables
      • Site-wide Variables
      • Job Extra Variables
      • Secrets
      • Job Variables
      • Project Variables
      • Parent Job Results
    • Zuul Variables
      • Change Items
      • Branch Items
      • Tag Items
      • Ref Items
      • Working Directory
    • SSH Keys
      • Nodepool Key
      • Project Key
    • Return Values
      • Returning the log url
      • Returning artifact URLs
      • Skipping dependent jobs
      • Leaving warnings
      • Leaving file comments
      • Pausing the job
      • Skipping retries
    • Build Status
  • Service Administration
    • Installation
      • External Dependencies
        • Nodepool
        • ZooKeeper
      • Executor Deployment
      • Web Deployment
        • Reverse Proxy
        • Static Offload
        • Sub directory serving
        • White Labeled Tenant
        • Static External
    • Upgrading
      • Rolling Upgrades
      • Skipping Versions
    • Component Overview
    • Configuration
      • Common Options
        • Statsd
        • Tracing
        • ZooKeeper
        • Database
      • Scheduler
      • Merger
      • Executor
        • Trusted and Untrusted Playbooks
        • Security Considerations
        • Configuration
      • Web Server
        • Authentication
          • Driver-specific attributes
            • HS256
            • RS256
            • RS256withJWKS
            • OpenIDConnect
      • Client
      • Finger Gateway
    • Connections
    • Drivers
      • Gerrit
        • Connection Configuration
        • Trigger Configuration
        • Reporter Configuration
        • Requirements Configuration
        • Reference Pipelines Configuration
        • Checks Plugin Support (Experimental)
      • GitHub
        • Configure GitHub
          • Web-Hook
          • Application
        • Connection Configuration
        • Trigger Configuration
        • Reporter Configuration
        • Requirements Configuration
        • Reference pipelines configuration
          • Branch protection rules
          • Reference pipelines
        • Github Checks API
          • Design decisions
          • Behaviour in Zuul
            • Reporting
            • Trigger
            • Requirements
          • Actions / Events
          • File comments (annotations)
            • Custom actions
          • Restrictions and Recommendations
      • Pagure
        • Configure Pagure
        • Connection Configuration
        • Trigger Configuration
        • Reporter Configuration
        • Requirements Configuration
        • Reference pipelines configuration
      • GitLab
        • Configure GitLab
          • web-hooks
          • API
        • Connection Configuration
        • Trigger Configuration
        • Reporter Configuration
        • Requirements Configuration
        • Reference pipelines configuration
      • Git
        • Connection Configuration
        • Trigger Configuration
      • MQTT
        • Message Schema
        • Connection Configuration
        • Reporter Configuration
      • Elasticsearch
        • Connection Configuration
        • Reporter Configuration
      • SMTP
        • Connection Configuration
        • Reporter Configuration
      • Timer
        • Trigger Configuration
      • Zuul
        • Trigger Configuration
    • Tenant Configuration
      • Tenant
      • Global Semaphore
      • Authorization Rule
      • Authorization Rule Templating
      • API Root
    • Operation
      • Scheduler
        • Operation
        • Reconfiguration
      • Merger
        • Operation
      • Executor
        • Operation
        • Ansible and Python 3
        • Log streaming
      • Web Server
        • Operation
      • Finger Gateway
        • Operation
    • Authenticated Access
      • Important Security Considerations
      • Configuration
      • JWT Format
      • Manually Generating a JWT
      • Debugging
      • Interfacing with Other Systems
        • Configuring Google Authentication
          • Prerequisites
          • Setting up credentials with Google
            • Create OAuth client ID
            • Configure Zuul
          • Further Reading
        • Configuring Keycloak Authentication
          • Prerequisites
          • Setting up Keycloak
            • Create a client
            • Create a client scope
            • Configuring JWT signing algorithms
            • (Optional) Set up a social identity provider
          • Setting up Zuul
          • Further Reading
        • Configuring Microsoft Authentication
          • Prerequisites
          • Creating the App Registration
            • Optional: Include Groups Claim
          • Setting up Zuul
        • Keycloak Tutorial
          • Update /etc/hosts
          • Restart Zuul Containers
          • Start Keycloak
          • Log Into Zuul
    • Monitoring
      • Statsd reporting
        • Configuration
        • Metrics
      • Prometheus monitoring
        • Configuration
        • Metrics
        • Liveness Probes
    • Tracing
      • Configuration
      • Tutorial
        • Jaeger Tracing Tutorial
          • Restart Zuul Containers
          • Start Jaeger
          • Recheck a change
    • Zuul Admin Client
      • Configuration
      • Usage
        • tenant-conf-check
        • create-auth-token
        • export-keys
        • import-keys
        • copy-keys
        • delete-keys
        • delete-state
        • delete-pipeline-state
        • prune-database
      • Deprecated commands
        • Autohold
        • Autohold Delete
        • Autohold Info
        • Autohold List
        • Dequeue
        • Enqueue
        • Enqueue-ref
          • Manual enqueue examples
        • Promote
    • Troubleshooting
      • Thread Dumps and Profiling
  • REST API
  • How-To Guides
    • Project Testing Interface
      • Projects layout
        • org-config
        • org-jobs
      • Projects content
      • Usage
        • Project tests
        • Updating PTI test
      • Cross project gating
    • Badges
    • Chatting with Matrix
      • Why Use Matrix?
      • Create An Account
      • Join the #zuul Room
      • Optional Next Steps
        • Optional: Save Encryption Keys
        • Optional: Register with an Identity Provider
        • Optional: Join an IRC Room
    • ZooKeeper Administration
      • Configuration
      • Encrypted Connections
  • Developer’s Guide
    • Scheduler
    • Data Model
      • Pipeline
      • PipelineManager
      • DependentPipelineManager
      • IndependentPipelineManager
      • ChangeQueue
      • Job
      • JobGraph
      • Build
      • QueueItem
      • BuildSet
      • Changes
        • Change
        • Ref
      • Filters
        • RefFilter
        • EventFilter
      • Tenants
        • Tenant
        • UnparsedAbideConfig
        • UnparsedConfig
        • ParsedConfig
      • Other Global Objects
        • Project
        • Layout
        • RepoFiles
        • TriggerEvent
    • Drivers
      • Driver
        • Driver.reconfigure()
        • Driver.registerScheduler()
        • Driver.stop()
      • ConnectionInterface
        • ConnectionInterface.getConnection()
      • SourceInterface
        • SourceInterface.getRejectSchema()
        • SourceInterface.getRequireSchema()
        • SourceInterface.getSource()
      • TriggerInterface
        • TriggerInterface.getTrigger()
        • TriggerInterface.getTriggerEventClass()
        • TriggerInterface.getTriggerSchema()
      • ReporterInterface
        • ReporterInterface.getReporter()
        • ReporterInterface.getReporterSchema()
    • Triggers
      • BaseTrigger
        • BaseTrigger.getEventFilters()
        • BaseTrigger.onChangeEnqueued()
        • BaseTrigger.onChangeMerged()
        • BaseTrigger.postConfig()
      • GerritTrigger
        • GerritTrigger.getEventFilters()
      • TimerTrigger
        • TimerTrigger.getEventFilters()
      • ZuulTrigger
        • ZuulTrigger.getEventFilters()
    • Testing
      • simple_layout()
      • ZuulTestCase
        • ZuulTestCase.addEvent()
        • ZuulTestCase.assertBuilds()
        • ZuulTestCase.assertHistory()
        • ZuulTestCase.assertReportedStat()
        • ZuulTestCase.commitConfigUpdate()
        • ZuulTestCase.getSortedBuilds()
        • ZuulTestCase.getUpstreamRepos()
        • ZuulTestCase.logState()
        • ZuulTestCase.newTenantConfig()
        • ZuulTestCase.printHistory()
        • ZuulTestCase.setUp()
        • ZuulTestCase.waitUntilNodeCacheSync()
      • FakeGerritConnection
        • FakeGerritConnection.addFakeChange()
        • FakeGerritConnection.checkBranchCache()
        • FakeGerritConnection.cleanupCache()
        • FakeGerritConnection.clearBranchCache()
        • FakeGerritConnection.clearConnectionCacheOnBranchEvent()
        • FakeGerritConnection.getEventQueue()
        • FakeGerritConnection.getProjectBranches()
        • FakeGerritConnection.getProjectMergeModes()
        • FakeGerritConnection.getWebController()
        • FakeGerritConnection.isBranchProtected()
        • FakeGerritConnection.maintainCache()
        • FakeGerritConnection.toDict()
        • FakeGerritConnection.updateProjectBranches()
        • FakeGerritConnection.validateWebConfig()
      • RecordingExecutorServer
        • RecordingExecutorServer.failJob()
        • RecordingExecutorServer.release()
        • RecordingExecutorServer.retryJob()
        • RecordingExecutorServer.returnData()
      • FakeBuild
        • FakeBuild.getWorkspaceRepos()
        • FakeBuild.hasChanges()
        • FakeBuild.isWaiting()
        • FakeBuild.release()
      • BuildHistory
    • Metrics
      • Event Overview
    • Documentation
      • ReStructuredText Conventions
        • Code Blocks
        • Literal Values
        • Terminology
      • Zuul Sphinx Directives
        • zuul:attr::
        • zuul:value::
        • zuul:var::
      • Zuul Sphinx Roles
        • :zuul:attr:
        • :zuul:value:
        • :zuul:var:
    • Ansible Integration
      • Streaming job output
        • CallbackModule
        • LogStreamer
        • LogStreamHandler
        • ZuulWeb
        • CallbackModule
      • Capturing live command output
    • Zuul Dashboard Javascript
      • For the impatient who don’t want deal with javascript toolchains
      • yarn dependency management
      • Dealing with yarn.lock merge conflicts
      • React Components and Styling
      • Development
        • Authentication
      • Deploying
    • Specifications
      • Circular Dependencies
        • Proposed change
        • Implementation
        • Challenges
      • Use Matrix for Chat
        • Requirements
        • Benefits Offered by Matrix
        • Reasons to Move
        • Reasons to Stay
        • Implementation Plan
        • Potential Future Enhancements
      • Enhanced regional distribution of zuul-executors
        • Problem description
          • Proposed change
          • Gearman
          • Security considerations
      • Kubernetes Operator
        • Custom Resource Definitions
        • Images
        • External Dependencies
        • Zuul Config
        • Executor job volume
        • Logging
      • Nodepool in Zuul
        • Introduction
        • Image Management
          • Snapshot Images
        • Node Management
        • Configuration
        • Upgrade Process
        • Library Requirements
        • Diskimage-Builder Testing
        • Work Items
      • Resource Quota per Tenant
        • Problem Description
        • Proposed Change
          • Make Nodepool Tenant Aware
          • Introduce Tenant Quotas in Nodepool
          • Implementation Caveats
      • Tenant-scoped admin web API
        • Problem Description
        • Proposed Change
          • JWT Validation
            • Expected Format
            • Extra Authentication Claims
            • Authorization Claims
          • Access Control Configuration
          • Administration Web API
            • POST /api/tenant/{tenant}/project/{project}/enqueue
            • POST /api/tenant/{tenant}/project/{project}/dequeue
            • POST /api/tenant/{tenant}/project/{project}/autohold
            • GET /api/user/authorizations
            • Logging
            • Zuul Client CLI and Admin Web API
          • JWT Generation by Zuul
            • Client CLI
            • Configuration Changes
        • Implementation
          • Assignee(s)
          • Gerrit Topic
          • Work Items
          • Documentation
          • Security
          • Testing
          • Follow-up work
        • Dependencies
      • Tracing
        • Proposed Solution
          • Usage Scenarios
          • Suitability to Zuul
          • Spans
            • Event Ingestion
            • Tenant Event Processing
            • Queue Item
          • SDK Challenges
            • Alternatives
          • Links
          • Events and Exceptions
          • Sensitive Information
          • Protobuf and gRPC
        • Work Items
      • Zuul Runner
        • Zuul Job Execution Context
          • Test Resources
          • Required Projects
          • Ansible Configuration
          • Playbooks
          • Secrets
        • Implementation
        • Zuul Runner CLI
    • ZooKeeper
      • Overview
      • Driver Event Ingestion
        • Active Event Gathering
        • Passive Event Gathering
      • Configuration Storage
      • Executor and Merger Queues
      • Zookeeper Map
    • Data Model Changelog
      • Version 0
      • Version 1
      • Version 2
      • Version 3
      • Version 4
      • Version 5
      • Version 6
      • Version 7
      • Version 8
      • Version 9
      • Version 10
      • Version 11
    • Release Notes
      • Installing reno
      • Adding a new release note
  • Zuul Project Governance
    • Zuul Maintainers
    • Zuul Project Lead
    • Zuul-Jobs Maintainers
  • Vulnerability Reporting
    • Create a Private Story in StoryBoard
    • Report via Encrypted E-mail
  • Release Notes
    • 8.1.0
      • New Features
      • Upgrade Notes
      • Security Issues
    • 8.0.1
      • Bug Fixes
    • 8.0.0
      • New Features
      • Upgrade Notes
      • Bug Fixes
    • 7.1.0
      • New Features
      • Upgrade Notes
    • 7.0.0
      • New Features
      • Upgrade Notes
    • 6.4.0
      • New Features
      • Upgrade Notes
    • 6.3.0
      • New Features
    • 6.2.0
      • New Features
      • Bug Fixes
    • 6.1.0
      • New Features
      • Upgrade Notes
      • Deprecation Notes
    • 6.0.0
      • New Features
      • Upgrade Notes
      • Bug Fixes
    • 5.2.5
      • Bug Fixes
    • 5.2.4
      • Bug Fixes
    • 5.2.3
      • Bug Fixes
    • 5.2.2
      • Bug Fixes
    • 5.2.1
      • New Features
      • Upgrade Notes
      • Bug Fixes
    • 5.2.0
      • New Features
      • Upgrade Notes
      • Security Issues
    • 5.1.0
      • New Features
      • Upgrade Notes
      • Deprecation Notes
      • Bug Fixes
    • 5.0.0
      • Upgrade Notes
    • 4.12.0
      • Upgrade Notes
    • 4.11.0
      • New Features
      • Upgrade Notes
    • 4.10.4
      • Bug Fixes
    • 4.10.3
      • Bug Fixes
    • 4.10.2
      • Bug Fixes
    • 4.10.1
      • New Features
      • Bug Fixes
    • 4.10.0
      • Upgrade Notes
    • 4.9.0
      • New Features
      • Upgrade Notes
    • 4.8.1
      • Upgrade Notes
      • Bug Fixes
    • 4.8.0
      • New Features
    • 4.7.0
      • New Features
      • Upgrade Notes
      • Deprecation Notes
    • 4.6.0
      • New Features
      • Security Issues
    • 4.5.1
      • Bug Fixes
    • 4.5.0
      • Prelude
    • 4.4.0
      • New Features
      • Deprecation Notes
    • 4.3.0
      • New Features
      • Upgrade Notes
      • Deprecation Notes
      • Bug Fixes
    • 4.2.0
      • Prelude
    • 4.1.0
      • New Features
      • Upgrade Notes
      • Deprecation Notes
      • Bug Fixes
    • 4.0.0
      • Prelude
      • New Features
      • Upgrade Notes
      • Deprecation Notes
      • Bug Fixes
    • 3.19.1
      • Security Issues
      • Bug Fixes
    • 3.19.0
      • Prelude
      • New Features
      • Upgrade Notes
      • Security Issues
      • Bug Fixes
    • 3.18.0
      • New Features
      • Upgrade Notes
      • Deprecation Notes
      • Security Issues
      • Bug Fixes
    • 3.17.0
      • New Features
      • Security Issues
    • 3.16.1
      • Bug Fixes
    • 3.16.0
      • New Features
      • Upgrade Notes
      • Deprecation Notes
    • 3.15.0
      • Bug Fixes
    • 3.14.0
      • New Features
      • Upgrade Notes
    • 3.13.0
      • New Features
      • Upgrade Notes
    • 3.12.0
      • New Features
      • Upgrade Notes
      • Other Notes
    • 3.11.1
      • Bug Fixes
    • 3.11.0
      • New Features
      • Upgrade Notes
    • 3.10.2
      • New Features
      • Security Issues
      • Bug Fixes
    • 3.10.1
      • Bug Fixes
    • 3.10.0
      • New Features
      • Upgrade Notes
    • 3.9.0
      • New Features
    • 3.8.1
      • Bug Fixes
    • 3.8.0
      • New Features
      • Security Issues
      • Bug Fixes
    • 3.7.1
      • Bug Fixes
    • 3.7.0
      • New Features
      • Upgrade Notes
    • 3.6.1
      • Security Issues
    • 3.6.0
      • New Features
      • Upgrade Notes
    • 3.5.0
      • New Features
      • Upgrade Notes
      • Security Issues
      • Bug Fixes
    • 3.4.0
      • New Features
      • Upgrade Notes
    • 3.3.1
      • New Features
      • Upgrade Notes
      • Security Issues
      • Bug Fixes
    • 3.3.0
      • New Features
      • Upgrade Notes
      • Deprecation Notes
    • 3.2.0
      • New Features
      • Bug Fixes
    • 3.1.0
      • New Features
      • Upgrade Notes
      • Security Issues
      • Bug Fixes
    • 3.0.3
      • New Features
      • Deprecation Notes
      • Bug Fixes
    • 3.0.2
      • New Features
      • Upgrade Notes
      • Bug Fixes
    • 3.0.1
      • New Features
      • Upgrade Notes
      • Bug Fixes
  • Glossary
Zuul
  • »
  • Service Administration »
  • Drivers
  • View page source

Drivers¶

Drivers may support any of the following functions:

  • Sources – hosts git repositories for projects. Zuul can clone git repos for projects and fetch refs.

  • Triggers – emits events to which Zuul may respond. Triggers are configured in pipelines to cause changes or other refs to be enqueued.

  • Reporters – outputs information when a pipeline is finished processing an item.

Zuul includes the following drivers:

  • Gerrit
    • Connection Configuration
    • Trigger Configuration
    • Reporter Configuration
    • Requirements Configuration
    • Reference Pipelines Configuration
    • Checks Plugin Support (Experimental)
  • GitHub
    • Configure GitHub
    • Connection Configuration
    • Trigger Configuration
    • Reporter Configuration
    • Requirements Configuration
    • Reference pipelines configuration
    • Github Checks API
  • Pagure
    • Configure Pagure
    • Connection Configuration
    • Trigger Configuration
    • Reporter Configuration
    • Requirements Configuration
    • Reference pipelines configuration
  • GitLab
    • Configure GitLab
    • Connection Configuration
    • Trigger Configuration
    • Reporter Configuration
    • Requirements Configuration
    • Reference pipelines configuration
  • Git
    • Connection Configuration
    • Trigger Configuration
  • MQTT
    • Message Schema
    • Connection Configuration
    • Reporter Configuration
  • Elasticsearch
    • Connection Configuration
    • Reporter Configuration
  • SMTP
    • Connection Configuration
    • Reporter Configuration
  • Timer
    • Trigger Configuration
  • Zuul
    • Trigger Configuration
Next Previous

© Copyright 2012-2023, Zuul project contributors.

Built with Sphinx using a theme provided by Read the Docs.
Versions v: 8.1.0
latest
8.1.0
8.0.1
8.0.0
7.1.0
7.0.0
6.4.0
6.3.0
6.2.0
6.1.0
6.0.0
5.2.5
5.2.4
5.2.3
5.2.2
5.2.1
5.2.0
5.1.0
5.0.0
4.12.0
4.11.0
4.10.4
4.10.3
4.10.2
4.10.1
4.10.0
4.9.0
4.8.1
4.8.0
4.7.0
4.6.0
4.5.1
4.5.0
4.4.0
4.3.0
4.2.0
4.1.0
4.0.0
3.19.1
3.19.0
3.18.0
3.17.0
3.16.1
3.16.0
3.15.0
3.14.0
3.13.0
3.12.0
3.11.1
3.11.0
3.10.2
3.10.1
3.10.0
3.9.0
3.8.1
3.8.0
3.7.1
3.7.0
3.6.1
3.6.0
3.5.0
3.4.0
3.3.1
3.3.0