Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Use build service API in your program
1. Use build service API in your program
Max Lin – Software Engineer
mlin@suse.com
2. 2
What is build service api?
• RESTful API of Open Build Service
• https://api.opensuse.org/apidocs
• open-build-service/docs/api/api/api.txt
• open-build-service/src/api/config/routes.rb
• Client side usage:
‒ osc : Command Line Interface to work with Open Build
Service
‒ osc api /route + arguments
3. 3
Benefits
• `osc command` is wrapped
‒ see core.py in osc
• `osc api` is returned the xml data
• Not that easily to do post-processing from the
output of osc command
• The usage does not provided by osc command
7. 7
For Perl
• Wrapped your http request(eg. HTTP::Request)
and send it to right place and grab the return data
• Call `osc api` in system(), open()
• Cares of authentication part or using public api
route instead
8. 8
For Python
• Wrapped your http request(eg. httplib) and sent
by urlopen()
‒ Make sure go with authorisation header or go with public
api route then.
• Easy way: use existing osc python api
‒ import osc.core
‒ import osc.conf
‒ http_{GET, PUT, POST, DELETE} available
‒ Some existing functions, do not need to re-do the wheel!
‒ makeurl() help you to get the specific result if no existing
function can adopt your requirement
9. 9
Real case
• Changelog Checker -
https://github.com/openSUSE/osc-plugin-factory/blob/ma
• Goal
‒ Make sure it has valid tag within submission, eg. bsc#,
fate#, if not, decline then.
‒ Accept the the submission had same revision was
submitted to openSUSE Factory or merged already.
‒ Accept new package submissions
‒ Accept delete request and add_role request
11. Thank you.
Join the conversation,
contribute & have a lot of fun!
www.opensuse.org
12. 12
Have a Lot of Fun, and Join Us
At:
www.opensuse.org
13. General Disclaimer
This document is not to be construed as a promise by any participating organisation to
develop, deliver, or market a product. It is not a commitment to deliver any material, code,
or functionality, and should not be relied upon in making purchasing decisions. openSUSE
makes no representations or warranties with respect to the contents of this document, and
specifically disclaims any express or implied warranties of merchantability or fitness for
any particular purpose. The development, release, and timing of features or functionality
described for openSUSE products remains at the sole discretion of openSUSE. Further,
openSUSE reserves the right to revise this document and to make changes to its content,
at any time, without obligation to notify any person or entity of such revisions or changes.
All openSUSE marks referenced in this presentation are trademarks or registered
trademarks of SUSE LLC, in the United States and other countries. All third-party
trademarks are the property of their respective owners.
License
This slide deck is licensed under the Creative Commons Attribution-ShareAlike 4.0
International license. It can be shared and adapted for any purpose (even
commercially) as long as Attribution is given and any derivative work is distributed
under the same license.
Details can be found at https://creativecommons.org/licenses/by-sa/4.0/
Credits
Template
Richard Brown
rbrown@opensuse.org
Design & Inspiration
openSUSE Design Team
http://opensuse.github.io/branding-
guidelines/