Skip to main content

Get Project Chroot

curl -X GET \
  "https://copr.fedorainfracloud.org/api_3/project-chroot/?ownername=@copr&projectname=copr-dev&chrootname=fedora-40-x86_64"
Get settings for a single project chroot.

Query Parameters

ownername
string
required
Project owner name
projectname
string
required
Project name
chrootname
string
required
Mock chroot name (e.g., “fedora-40-x86_64”)

Response

mock_chroot
string
Mock chroot name
projectname
string
Project name
ownername
string
Project owner name
comps_name
string
Comps XML file name (if configured)
additional_repos
array
Additional repository URLs for this chroot
additional_packages
array
Additional packages to install in buildroot
additional_modules
array
Module toggles for this chroot
with_opts
array
RPM —with options
without_opts
array
RPM —without options
delete_after_days
integer
Delete builds after this many days (null for never)
isolation
string
Build isolation mode for this chroot

Get Build Config

curl -X GET \
  "https://copr.fedorainfracloud.org/api_3/project-chroot/build-config?ownername=@copr&projectname=copr-dev&chrootname=fedora-40-x86_64"
Generate a build config based on project chroot settings.

Query Parameters

ownername
string
required
Project owner name
projectname
string
required
Project name
chrootname
string
required
Mock chroot name

Response

chroot
string
Chroot name
repos
array
Base repository URLs
additional_repos
array
Additional repository URLs
additional_packages
array
Additional buildroot packages
additional_modules
array
Module toggles
enable_net
boolean
Network access setting
with_opts
array
RPM —with options
without_opts
array
RPM —without options
isolation
string
Build isolation mode
bootstrap
string
Bootstrap container mode (if applicable)
bootstrap_image
string
Bootstrap container image URL (if applicable)

Edit Project Chroot

curl -X PUT \
  "https://copr.fedorainfracloud.org/api_3/project-chroot/edit/myuser/my-project/fedora-40-x86_64" \
  -H "Content-Type: application/json" \
  -d '{
    "additional_repos": ["https://example.com/repo"],
    "additional_packages": ["gcc", "make"],
    "with_opts": ["tests"],
    "without_opts": ["docs"]
  }'
Edit settings for a single project chroot. Requires authentication and edit permissions.

Path Parameters

ownername
string
required
Project owner name
projectname
string
required
Project name
chrootname
string
required
Mock chroot name

Request Body

additional_repos
array
Additional repository URLs (space-separated string or array)
additional_packages
array
Additional packages to install in buildroot (space-separated string or array)
additional_modules
array
Module toggles (e.g., [“nodejs:18”, “!nodejs:16”])
with_opts
array
RPM —with options (space-separated string or array)
without_opts
array
RPM —without options (space-separated string or array)
bootstrap
string
Bootstrap container mode: “on”, “off”, “image”, “default”
bootstrap_image
string
Custom bootstrap container image URL
isolation
string
Build isolation mode: “default”, “simple”, “nspawn”
upload_comps
file
Comps XML file upload (multipart/form-data)
delete_comps
boolean
Delete existing comps file

Response

Returns the updated project chroot object with 200 status code.
To set a field to empty/default value, pass null or an empty string/array. Use the copr-cli get-chroot command to see all possible attributes.

Build docs developers (and LLMs) love