blob: c4ff4a0e96aacdf011362bce2b73ea7072163388 [file] [log] [blame]
Monty Taylor82dfd412016-07-29 12:01:28 -07001Data Model
James E. Blaire4de4f42017-01-19 10:35:24 -08002==========
Monty Taylor82dfd412016-07-29 12:01:28 -07003
4It all starts with the :py:class:`~zuul.model.Pipeline`. A Pipeline is the
5basic organizational structure that everything else hangs off.
6
7.. autoclass:: zuul.model.Pipeline
8
9Pipelines have a configured
Monty Taylorc75478c2016-07-29 12:04:21 -070010:py:class:`~zuul.manager.PipelineManager` which controlls how
Monty Taylor55d0f562017-05-17 14:30:21 -050011the :py:class:`Ref <zuul.model.Ref>` objects are enqueued and
Monty Taylor82dfd412016-07-29 12:01:28 -070012processed.
13
14There are currently two,
15:py:class:`~zuul.manager.dependent.DependentPipelineManager` and
16:py:class:`~zuul.manager.independent.IndependentPipelineManager`
17
Monty Taylorc75478c2016-07-29 12:04:21 -070018.. autoclass:: zuul.manager.PipelineManager
Monty Taylor82dfd412016-07-29 12:01:28 -070019.. autoclass:: zuul.manager.dependent.DependentPipelineManager
20.. autoclass:: zuul.manager.independent.IndependentPipelineManager
21
22A :py:class:`~zuul.model.Pipeline` has one or more
23:py:class:`~zuul.model.ChangeQueue` objects.
24
25.. autoclass:: zuul.model.ChangeQueue
26
27A :py:class:`~zuul.model.Job` represents the definition of what to do. A
28:py:class:`~zuul.model.Build` represents a single run of a
Clark Boylan500992b2017-04-03 14:28:24 -070029:py:class:`~zuul.model.Job`. A :py:class:`~zuul.model.JobGraph` is used to
Monty Taylor82dfd412016-07-29 12:01:28 -070030encapsulate the dependencies between one or more :py:class:`~zuul.model.Job`
31objects.
32
33.. autoclass:: zuul.model.Job
Clark Boylan500992b2017-04-03 14:28:24 -070034.. autoclass:: zuul.model.JobGraph
Monty Taylor82dfd412016-07-29 12:01:28 -070035.. autoclass:: zuul.model.Build
36
37The :py:class:`~zuul.manager.base.PipelineManager` enqueues each
Monty Taylor55d0f562017-05-17 14:30:21 -050038:py:class:`Ref <zuul.model.Ref>` into the
Monty Taylor82dfd412016-07-29 12:01:28 -070039:py:class:`~zuul.model.ChangeQueue` in a :py:class:`~zuul.model.QueueItem`.
40
41.. autoclass:: zuul.model.QueueItem
42
43As the Changes are processed, each :py:class:`~zuul.model.Build` is put into
44a :py:class:`~zuul.model.BuildSet`
45
46.. autoclass:: zuul.model.BuildSet
47
48Changes
49~~~~~~~
50
Monty Taylor82dfd412016-07-29 12:01:28 -070051.. autoclass:: zuul.model.Change
52.. autoclass:: zuul.model.Ref
53
54Filters
55~~~~~~~
56
James E. Blairaad3ae22017-05-18 14:11:29 -070057.. autoclass:: zuul.model.RefFilter
Monty Taylor82dfd412016-07-29 12:01:28 -070058.. autoclass:: zuul.model.EventFilter
59
60
61Tenants
62~~~~~~~
63
64An abide is a collection of tenants.
65
James E. Blaire4de4f42017-01-19 10:35:24 -080066.. autoclass:: zuul.model.Tenant
Monty Taylor82dfd412016-07-29 12:01:28 -070067.. autoclass:: zuul.model.UnparsedAbideConfig
68.. autoclass:: zuul.model.UnparsedTenantConfig
69
70Other Global Objects
71~~~~~~~~~~~~~~~~~~~~
72
73.. autoclass:: zuul.model.Project
74.. autoclass:: zuul.model.Layout
75.. autoclass:: zuul.model.RepoFiles
76.. autoclass:: zuul.model.Worker
77.. autoclass:: zuul.model.TriggerEvent