2016-07-09 19 views
0

Auf GitHub kann ich auf eine Version mit einer bestimmten Version mit einem Link wie https://github.com/markvincze/golang-build-test/releases/tag/hello-v6 zugreifen.Gibt es eine Möglichkeit, ein Artefakt von der neuesten Version auf GitHub herunterzuladen?

Ich kann seine Artefakte aus dieser Version mit https://github.com/markvincze/golang-build-test/releases/download/hello-v6/filename herunterladen.

Ich kann auch die neueste Version Zugriff mit https://github.com/markvincze/golang-build-test/releases/latest

Frage: Gibt es eine Möglichkeit, direkt einen Artefakt aus der neuesten Version zum Download?
Ich versuchte https://github.com/markvincze/golang-build-test/releases/download/latest/filename, aber es funktioniert nicht, und ich konnte nichts in den Dokumenten finden.

Antwort

1

Sie können die neueste Tag verwenden, zum Beispiel bestimmen, die HTTP HEAD request method:

HEAD https://github.com/markvincze/golang-build-test/releases/latest 

Zum Zeitpunkt des Schreibens dieses eine Antwort einschließlich der folgenden zwei Header zurückgibt:

Status: 302 Found 
Location: https://github.com/markvincze/golang-build-test/releases/tag/hello-v6 

das Sie verwenden sollte nun in der Lage sein, eine zweite Anfrage mit dem entsprechenden Tag zu übermitteln.

Siehe Wikipedia's writeup of HTTP 302 for details.

Eine weitere Option wäre die Verwendung des Get the latest release-Endpunkts, der von der GitHub-API zur Verfügung gestellt wird, und anschließend die weitere Verarbeitung mit einer zweiten Anforderung. In diesem Fall ist der Schlüssel tag_name aus der Antwort hilfreich.

+0

Danke für die Info! (Ich hatte gehofft, einen direkten Link verwenden zu können, da ich dies sowohl von einem Bash- als auch von einem PowerShell-Skript aus tun muss, und ich wollte die HTTP-Anfragen nicht senden und den Tag-Namen extrahieren ... aber nichts kann sei perfekt, oder? :)) –

+0

Ich habe einen Blogpost darüber geschrieben, wie URLs zu den neuesten Artefakten mit Shell-Skript und PowerShell ermittelt werden können: http://blog.markvincze.com/download-artifacts-from-a- Aktuell-github-release-in-sh-und-powershell / –