Warning
Client version 2 is obsolete, please use Client version 3 instead.
Build¶
Build resource allows to submit new builds and access current build progress. In fact, build consists of a few tasks, one per chroot, and detailed information is available through Build task.
Access to the builds is done through builds()
.
property of initialized CoprClient
. That property is an instance of
BuildHandle
.
It may be more convenient to access builds in context of a project
using method get_builds()
.
Builds are represented by
Build
class.
Build entity attributes¶
Field |
Type |
Description |
---|---|---|
id |
int |
unique build identifier |
state |
string |
current state of the build, value is aggregated from build tasks |
submitted_on |
int(unixtime UTC) |
time of the build submission |
started_on |
int(unixtime UTC) |
time when the first build task started, otherwise |
ended_on |
int(unixtime UTC) |
time when the last build task ended, otherwise |
source_type |
string |
method used for build creation |
source_metadata |
json object |
build source information |
package_version |
string |
version of the source package |
package_name |
string |
name of the source package |
enable_net |
bool |
defines if network is available during the build |
repos |
list of string |
list of additional repositories enabled during the build |
built_packages |
list of hash maps |
list of the built packages, each hash map has two keys: |
submitter |
string |
name of the user who submitted the build |
Note
Only the state
field is editable by the PUT method.
All other fields are read-only.
Get builds list¶
>>> blist_1 = cl.builds.get_list(limit=2)
>>> print(map(str, blist_1))
['<Build #138426 state: succeeded>', '<Build #138425 state: succeeded>']
# using the project object
>>> blist_2 = p.get_builds(limit=2)
>>> print(map(str, blist_2))
['<Build #138423 state: failed>', '<Build #138421 state: failed>']
Get one build¶
>>> b = cl.builds.get_one(138421)
>>> print(b)
<Build #138421 state: failed>
Create new build¶
# using the url to sprm
>>> b1 = cl.builds.create_from_url(project_id=3806, srpm_url="http://example.com/my.src.rpm")
# or using project object
>>> b2 = p.create_build_from_url("http://example.com/my.src.rpm")
>>> print(map(str, [b1, b2]))
['<Build #138431 state: importing>', '<Build #138430 state: importing>']
# and using the file upload
>>> b3 = cl.builds.create_from_file(project_id=3806, file_path="/tmp/hello-2.8-1.fc20.src.rpm")
>>> b4 = p.create_build_from_file("/tmp/hello-2.8-1.fc20.src.rpm")
Cancel build¶
>>> b1.cancel()
Delete build¶
>>> b1.delete()