opensuse.org – obs
The Open Build Service API is a XML API.
To authenticate, use by passing the Authorization header in the form of Authorization: Basic <credentials>.
There is no API versioning as there is no need for it right now.
Only rudimentary rate limiting is implemented, so please be gentle when using the API concurrently, especially with potentially expensive operations. In case of abuse, we will limit/remove your access.
For command-line users, we recommend using with its api command to interact with the API.
It's as simple as this example: osc api /about (about is one of the endpoints documented below)
- Homepage
- https://api.apis.guru/v2/specs/opensuse.org:obs/2.10.50.json
- Provider
- opensuse.org:obs / obs
- OpenAPI version
- 3.0.0
- Spec (JSON)
- https://api.apis.guru/v2/specs/opensuse.org/obs/2.10.50/openapi.json
- Spec (YAML)
- https://api.apis.guru/v2/specs/opensuse.org/obs/2.10.50/openapi.yaml
Tools (83)
Extracted live via the executor SDK.
-
attributeNamespaces.deleteAttributeNamespaceDelete an attribute namespace and all attributes below.
This operation is the same as the one defined with ._
-
attributeNamespaces.deleteAttributeNamespaceMetaDelete an attribute namespace and all attributes below.
This operation is the same as the one defined with .
-
attributeNamespaces.getAttributeList all attribute namespaces.
-
attributeNamespaces.getAttributeNamespaceList all attributes under a given attribute namespace.
-
attributeNamespaces.getAttributeNamespaceMetaShows attribute namespace.
-
attributeNamespaces.postAttributeNamespaceMetaThis endpoint can be used for both, creating an attribute namespace and updating it:
- If the attribute namespace passed as parameter doesn't exist, it will create the attribute namespace.
- If the attribute namespace passed as parameter already exists, it will update the namespace attribute.
This operation is the same as the one defined with .
-
attributeNamespaces.putAttributeNamespaceMetaThis endpoint can be used for both, creating an attribute namespace and updating it:
- If the attribute namespace passed as parameter doesn't exist, it will create the attribute namespace.
- If the attribute namespace passed as parameter already exists, it will update the namespace attribute.
This operation is the same as the one defined with .
-
attributes.deleteAttributeNamespaceAttributeNameDelete an attribute and all its values in projects or packages.
This operation is the same as the one defined with
-
attributes.deleteAttributeNamespaceAttributeNameMetaDelete an attribute and all its values in projects or packages.
This operation is the same as the one defined with
-
attributes.getAttributeNamespaceAttributeNameMetaShows attribute.
-
attributes.postAttributeNamespaceAttributeNameMetaThis endpoint can be used for both, creating an attribute and updating it:
- If the attribute passed as parameter doesn't exist, it will create the attribute.
- If the attribute passed as parameter already exists, it will update the attribute.
This operation is the same as the one defined with . __
-
attributes.putAttributeNamespaceAttributeNameMetaThis endpoint can be used for both, creating an attribute and updating it:
- If the attribute passed as parameter doesn't exist, it will create the attribute.
- If the attribute passed as parameter already exists, it will update the attribute.
This operation is the same as the one defined with . __
-
build.getBuildGet a simple directory listing of all projects
-
build.getBuildProjectNameGet a simple directory listing of all repositories for the specified project
-
build.getBuildProjectNameRepositoryNameList of all architectures the specified project builds against a given repository.
-
build.getBuildProjectNameRepositoryNameArchitectureNameBuilddepinfoShow the build dependencies of packages that are part of the project, for a given repository and architecture.
-
build.getBuildProjectNameRepositoryNameArchitectureNamePackageNameList binaries built by the sources of the specified package.
-
build.getBuildProjectNameRepositoryNameArchitectureNamePackageNameJobstatusShow the build status of a currently running build job. Shows an empty result if no build job is running.
-
build.getBuildProjectNameRepositoryNameArchitectureNamePackageNameReasonDetails about the reason of the lastly triggered build.
-
build.getBuildProjectNameRepositoryNameArchitectureNameRepositoryList all binaries (produced by all packages of the given project) for the specified repository and architecture.
-
build.getBuildProjectNameRepositoryNameBuildconfigShow the build configuration for the specified repository. Includes all base package requirements, mappings and macros.
-
build.getBuildProjectNameResultGet the build results for packages, architectures and repositories of the specified project.
-
build.getBuildProjectRepositoryArchitecturePackageFileGiven a project, repository, architecture and package, retrieve the given file's content.
-
build.getBuildProjectRepositoryArchitecturePackageFileViewFileinfoGiven a project, repository, architecture and package, retrieve the given artifact's details.
-
build.getBuildProjectRepositoryArchPackageBuildinfoThis endpoint returns information about some specific artifact
-
build.getBuildProjectRepositoryArchPackageHistoryThis endpoint returns the build history for a specific artifact
-
build.getBuildProjectRepositoryArchPackageLogThis endpoint returns the last log file for a specific build artifact
-
build.getBuildProjectRepositoryArchPackageStatusThis endpoint returns the building status for a specific artifact
-
build.postBuildProjectNameApply different actions on builds/build processes of the specified project
-
build.putBuildProjectRepositoryArchitecturePackageFileGiven a project, repository, architecture and package, update the given file's content.
This is for Admins only.
-
configuration.getConfigurationDisplay the configuration of this Open Build Service instance.
-
configuration.putConfigurationUpdate the configuration of this Open Build Service instance.
This is for admins only.
-
distributions.deleteDistributionsDistributionIdDelete a distribution.
This is only for admins.
-
distributions.getDistributionsList all distributions that can be build against. This will not list distributions that are available via . Check /distributions/include_remotes for this.
-
distributions.getDistributionsDistributionIdShow a distribution that can be build against.
-
distributions.getDistributionsIncludeRemotesList all distributions that can be build against, including the ones provided by the interconnect.
-
distributions.postDistributionsCreate a distribution.
This is only for admins.
-
distributions.putDistributionsBulkReplaceBulk replace all distributions.
This is only for admins.
-
distributions.putDistributionsDistributionIdUpdate the data of a distribution.
-
generalInformation.getAboutGet generic information about the API.
-
generalInformation.getArchitecturesGet a list of all known architectures known to OBS in general. This is not the list of architectures provided by this instance. Check the schedulers element from the
/configurationroute for this. -
generalInformation.getArchitecturesArchitectureNameShow information about one architecture.
-
groups.deleteGroupGroupTitleDelete a group.
-
groups.getGroupList available groups.
-
groups.getGroupGroupTitleRead group data.
-
groups.postGroupGroupTitleModify group data.
-
groups.putGroupGroupTitleWrite group data.
-
issueTrackers.deleteIssueTrackersIssueTrackerNameDelete an issue tracker.
-
issueTrackers.getIssueTrackersGet the list of issue trackers.
-
issueTrackers.getIssueTrackersIssueTrackerNameShow an issue tracker.
-
issueTrackers.getIssueTrackersIssueTrackerNameIssuesIssueNameShow an issue of an issue tracker.
-
issueTrackers.postIssueTrackersCreate an issue tracker.
-
issueTrackers.putIssueTrackersIssueTrackerNameUpdate the issue tracker given as path parameter. If it is not found, create it.
-
person.deletePersonLoginTokenIdDelete a token of the specified person.
-
person.getPersonList all people.
-
person.getPersonLoginGet details about a person
-
person.getPersonLoginGroupList the groups the person belongs to.
-
person.getPersonLoginTokenList the authentication tokens of a person.
-
person.postPersonAllows executing command on the person endpoint.
As of now, the only command allowed is 'register'.
-
person.postPersonLoginPerform changes on a registered person
-
person.postPersonLoginTokenCreate a new authentication token for a person.
The token may be limited to a specific package. In this case the query parameters
projectandpackageshould be provided.With an empty request body, a token of the default kind 'runservice' is created.
-
person.postPersonRegisterRegisters a new person
-
person.putPersonLoginUpdate person
-
publishedBinaries.getPublishedGet a list of all the projects, all of them are considered published.
-
publishedBinaries.getPublishedProjectNameGet a list of the repositories of the project that already have published binaries.
-
publishedBinaries.getPublishedProjectNameRepositoryNameGet a list of architectures' directories and other files (.repo, .ymp, etc.) present at the level project/repository of the directory tree where the published binaries are stored.
-
publishedBinaries.getPublishedProjectNameRepositoryNameArchitectureNameGet a list of binaries and other files present at the level project/repository/architecture of the directory tree as a result of successful building and publishing processes.
-
publishedBinaries.getPublishedProjectNameRepositoryNameArchitectureNameBinaryFilenameAllow to download the binary file that was published and stored under the directory given by project/repository/architecture/. Can response with Media Types like application/x-rpm, text/xml, etc. NOTE: Use this only if you absolutely have to, as it doesn't use the redirector.
-
publishedBinaries.getPublishedProjectNameRepositoryNameArchitectureNameBinaryFilenameViewYmpGenerate a ymp pattern, which contains the list of packages needed for intalling certain software without having to create dependencies between them. Read more about patterns .
-
publishedBinaries.getPublishedProjectNameRepositoryNameViewStatusGet information about the build process (build id, start time, etc.) for the pair project and repository.
-
request.deleteRequestIdDelete a given request.
-
request.getRequestGet a simple directory listing of all requests
-
request.getRequestIdShow details about a specified request.
-
request.getRequestViewCollectionGet a collection of requests for a specified target. NOTE: You need to set at least one of the following parameters in order to use this endpoint:
userprojectpackagestatestypesids
-
request.postRequestCreate a request
-
request.postRequestIdApply certain actions on a specified request.
-
request.postRequestIdCmdDiffGet the diff for all packages affected by the request.
-
request.putRequestIdModify a given request.
NOTE: Certain parts of a request can only be changed by admins.
-
workers.getWorkerArchitectureNameWorkerIdLists capabilites of a worker.
This can be useful when checking for constraints.
This operation is the same as
GET /worker/capability/{architecture_name}:{worker_id}. -
workers.getWorkerStatusLists status of workers, running jobs, waiting jobs, status of the backend services and general statistics.
Other ways to obtain the same information as with this endpoint are:
GET /worker/_statusGET /status/workerstatusGET /build/_workerstatus
-
workers.postWorkerCmdCheckconstraintsGiven a project, package, repository and architecture, list workers which can build with that restrictions, and also match a constraints filter.
This endpoint doesn't create or modify any data.
More information about constraints can be found in the .
This operation is the same as
POST /worker/command/run?cmd=checkconstraints. -
openapi.previewSpecPreview an OpenAPI document before adding it as a source
-
openapi.addSourceAdd an OpenAPI source and register its operations as tools