blob: 9df650581777d8022f0e2326bf9972390b2c7414 [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 Taylor82dfd412016-07-29 12:01:28 -070011the :py:class:`Change <zuul.model.Changeish>` objects are enqueued and
12processed.
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
29:py:class:`~zuul.model.Job`. A :py:class:`~zuul.model.JobTree` is used to
30encapsulate the dependencies between one or more :py:class:`~zuul.model.Job`
31objects.
32
33.. autoclass:: zuul.model.Job
34.. autoclass:: zuul.model.JobTree
35.. autoclass:: zuul.model.Build
36
37The :py:class:`~zuul.manager.base.PipelineManager` enqueues each
38:py:class:`Change <zuul.model.Changeish>` into the
39: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
51.. autoclass:: zuul.model.Changeish
52.. autoclass:: zuul.model.Change
53.. autoclass:: zuul.model.Ref
54
55Filters
56~~~~~~~
57
58.. autoclass:: zuul.model.ChangeishFilter
59.. autoclass:: zuul.model.EventFilter
60
61
62Tenants
63~~~~~~~
64
65An abide is a collection of tenants.
66
James E. Blaire4de4f42017-01-19 10:35:24 -080067.. autoclass:: zuul.model.Tenant
Monty Taylor82dfd412016-07-29 12:01:28 -070068.. autoclass:: zuul.model.UnparsedAbideConfig
69.. autoclass:: zuul.model.UnparsedTenantConfig
70
71Other Global Objects
72~~~~~~~~~~~~~~~~~~~~
73
74.. autoclass:: zuul.model.Project
75.. autoclass:: zuul.model.Layout
76.. autoclass:: zuul.model.RepoFiles
77.. autoclass:: zuul.model.Worker
78.. autoclass:: zuul.model.TriggerEvent