Client version 2 is obsolete, please use Client version 3 instead.
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
property of initialized
CoprClient. That property is an instance of
It may be more convenient to access builds in context of a project
Builds are represented by
Build entity attributes¶
|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|
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")