Archive:Build Service Developer Documentation

Jump to: navigation, search
Icon-obsolete.png This article about the Open Build Service is obsolete!
You can find up to date information on


For documentation on how to set up a OBS instance, please read the file INSTALL in the git repository. The OBS packages are created in the openSUSE:Tools project openSUSE:Tools, unstable packages of the upcoming release are created in openSUSE:Tools:Unstable.

How to

A full HowTo describing the process to setup a private OBS and a use model proposition is available here.

Architecture overview

The Open Build Service consists of three main components:

OBS Clients

The architecture based on a REST API allows to write different clients easily. That gives us the chance to address the needs of users with different experience. The clients can put different emphases on different usecases.

Web Client

The Web-based client for the openSUSE Build Service provides easy access to the Build Service. Please read this article on how to set up a local webclient from source.

Command Line Clients

  • The OSC commandline client gives access to most functions of the Build Service. It is the recommended tool for the daily packaging work.
  • The build service REST API can also be directly used with your tools, or for example with curl. The API is documented in the OBS source and at You can also use OSC with the -d option to see the API requests issued for a given osc command.

Desktop Rich Clients

  • There has been a Google Summer of Code project that started to implement a KDE Rich Client (discontinued).
  • MonoOSC is a project composed of two parts. A CSharp (C#) library used to access the openSUSE Build Service. The second part is a nice GUI which uses this library.

Set up a development environment