aboutsummaryrefslogtreecommitdiff
path: root/doc/schema-job.rst
blob: a8843db4e31d3fd717ce33f73649455155442807 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
.. _schema_job:

job
---

A job ``name`` is composed of an actual job name and a kernel name: ``job``-``kernel``.

At a lower level, a job is the top level directory of the results from a CI
build.

.. _schema_job_get:

GET
***

::

    {
        "title": "job",
        "description": "A job as provided by the CI loop",
        "type": "object",
        "properties": {
            "version": {
                "type": "string",
                "description": "The version number of this JSON schema",
                "enum": ["1.0"]
            },
            "_id": {
                "type": "string",
                "description": "The ID associated with this object"
            },
            "name": {
                "type": "string",
                "description": "The name of the object"
            },
            "created_on": {
                "type": "object",
                "description": "Creation date of the object",
                "properties": {
                    "$date": {
                        "type": "number",
                        "description": "Milliseconds from epoch time"
                    }
                }
            },
            "private": {
                "type": "boolean",
                "description": "If the job is private or not",
                "default": false
            },
            "kernel": {
                "type": "string",
                "description": "The name of the kernel"
            },
            "job": {
                "type": "string",
                "description": "The name of the job"
            },
            "status": {
                "type": "string",
                "description": "The status of the job",
                "enum": ["BUILD", "FAIL", "PASS", "UNKNOWN"]
            },
            "git_branch": {
                "type": "string",
                "description": "The name of the branch"
            },
            "git_commit": {
                "type": "string",
                "description": "The git SHA of the commit used for the build"
            },
            "git_describe": {
                "type": "string",
                "description": "The name of the git describe command"
            },
            "git_url": {
                "type": "string",
                "description": "The URL of the git web interface where the code used to build can be found"
            }
        }
    }

.. _schema_job_post:

POST
****

The following schema covers the data that should be available in the JSON
data sent to the server.

::

    {
        "title": "job",
        "description": "A job data to trigger build import",
        "type": "object",
        "properties": {
            "version": {
                "type": "string",
                "description": "The version number of this JSON schema",
                "enum": ["1.0"]
            },
            "job": {
                "type": "string",
                "description": "The job associated with this object"
            },
            "kernel": {
                "type": "string",
                "description": "The kernel associated with this object"
            }
        },
        "required": ["job", "kernel"]
    }

Notes
+++++

* By default boot and build reports will not be created nor sent. It is necessary to explicitly set both via ``boot_report`` and ``build_report``.

* ``boot_send_to`` and ``build_send_to`` will each be combined with ``send_to`` to create a list of email addresses (``boot_send_to`` + ``send_to``; ...).


More Info
*********

* :ref:`Job resource <collection_job>`
* :ref:`API results <intro_schema_results>`
* :ref:`Schema time and date <intro_schema_time_date>`