openSUSE:Build Service Curl

Wechseln zu: Navigation, Suche

Wie Curl für die Build Service Entwicklung verwenden

Beachten Sie, dass der Kommandozeilenclient OSC eine Möglichkeit hat, generische Kommandos auszugeben. So könnte es sein, dass Curl nicht zu verwenden brauchen.
Siehe osc help api.

Curl ist ein Kommandozeilenwerkzeug, um Daten von oder zu einem Server zu transferieren. Es werden werden folgende Protokolle unterstützt HTTP, HTTPS, FTP, FTPS, TFTP, DICT, TELNET, LDAP und FILE.

Das Kommando ist so gestalltet, dass es ohne Benutzereingriff funktioniert.

Es kann eine Menge beim Testen der openSUSE Build Service API während der Entwicklung helfen.

Hier sind die gebräuchlichsten Kommandos:


Eine Anfrage erhalten

curl -u username:password -X GET https://$APISERVER/any/path

Eine Anfrage ausgeben

curl -u username:password -X PUT -T /path/to/file/to/put https://$APISERVER/any/path

Eine Anfrage abschicken

curl -u username:password -X POST -T /path/to/file/to/post https://$APISERVER/any/path

Eine Anfrage löschen

curl -u username:password -X DELETE https://$APISERVER/any/path

Beispiele für den openSUSE Build Service

Bitte führen Sie das Folgende aus, bevor Sie die unteren Kommandos testen:

export APISERVER=api.opensuse.org
export ARCH=i586
export FILENAME=filename
export PACKAGE=package
export PROJECT=openSUSE:Factory
export REPOSITORY=standard
export REVISION=r1
export USERNAME=username
export PASSWORD=password

Löschen einer Musterdatei

curl  -u $USERNAME:$PASSWORD -X DELETE  https://$APISERVER/source/$PROJECT/_pattern/$FILENAME

Metadaten für ein einzelnes Paket erhalten

curl  -u $USERNAME:$PASSWORD -X GET https://$APISERVER/source/$PROJECT/$PACKAGE/_meta

Eine spezielle Version einer Quelldatei erhalten

curl -u $USERNAME:$PASSWORD -X GET  https://$APISERVER/source/$PROJECT/$PACKAGE/$FILENAME?rev=$REVISION

Eine Liste von i586 Binärdateien, die in einem Projekt gebaut werden, erhalten

curl  -u $USERNAME:$PASSWORD -X GET https://$APISERVER/build/$PROJECT/i586/_binarylist

Eine Liste veröffentlichter i586 Binärdateien für ein Projekt erhalten

curl  -u $USERNAME:$PASSWORD -X GET https://$APISERVER/published/$PROJECT/openSUSE_10.3/i586

Einen Naubau für alle Pakete in arch & repo auslösen

curl -u $USERNAME:$PASSWORD -X POST -H "Content-Length:0" "https://$APISERVER/build/$PROJECT?cmd=rebuild&arch=$ARCH&repository=$REPOSITORY"

Das Löschen von ausgeschlossenen Paketen auslösen

Um Pakete mit "ExcludeArch:" in Spezifikationsdateien zu löschen, letztendlich für eine Architektur, verwenden Sie

curl -u $USERNAME:$PASSWORD -X POST -H "Content-Length:0" "https://$APISERVER/build/$PROJECT?code=excluded&cmd=wipe"