2013-06-21 9 views
5

Bitte können Sie mir erklären, wie Sie Release mit Octopus REST API erstellen.
Ich kann eine Freigabe mit octo.exe erstellen, habe aber keine Idee, wie das mit REST API zu tun.
Ich ging durch die http://localhost:8080/api, aber kann nicht herausfinden, wie man eine Freigabe erstellt.Erstellen von Release mit Octopus Rest API

Ist diese REST API mit dieser Funktion?

+0

Ja, dies ist eine RESTful-API und sie bieten einen Endpunkt zum Erstellen von Releases. Tatsächlich bieten sie ziemlich viele Endpunkte. Die meisten Dokumente sind jedoch nicht vollständig und bieten keinen einfachen Einstieg. Wenn Sie die Möglichkeit haben, ihre Werkzeuge zu verwenden, würde ich empfehlen, dies zu tun. Die Tools finden Sie unter https://octopus.com/downloads –

Antwort

2

Ich habe nicht Octopus selbst verwendet, aber soweit ich verstehe Sie müssen eine HTTP-POST-Anforderung wie dies zu einer URL machen:

http://localhost:8080/api/projects/1/releases 

In Ihrer Anfrage Körper Sie die gleichen Parameter angeben, wie Sie es mach es mit dem Kommandozeilenwerkzeug, aber du musst es als JSON kodieren.

0

Dokumentation mit dem Octopus-REST-API für die Anbindung lässt viel zu wünschen übrig: https://github.com/OctopusDeploy/OctopusDeploy-Api/wiki/Releases

Ich konnte es nie durch diesen Ansatz arbeiten bekommen, stattdessen verwende ich die octo.exe command line utility to create releases:

octo create-release --project HelloWorld --version 1.0.3 --server http://octopus/ --apiKey API-ABCDEF123456 

Octo .exe als Teil von Tentacle oder Server-Installationen enthalten, bietet Octopus es auch als separates Dienstprogramm an: http://octopusdeploy.com/downloads

1

Ich hatte simila Ich ärgere mich selbst.

Um ein Release zu erstellen, müssen Sie eine POST Anfrage an den Octo Server senden.

https://myoctoserver:port/api/releases

die folgenden Header bereitstellen:

  • X-Octopus-apikey: API-XXXXXXXXXXXX
  • Content-Type: application/json

Der Körper des Antrags muss JSON sein. Unten ist ein Beispiel:

{ 
    "Version": "2017.02.25.183053" , 
    "ProjectId": "MyProject" , 
    "ChannelId": "DefaultOrOtherChannelId 
} 

Die Version und ProjectId Eigenschaften erforderlich sind. Kanal-ID ist optional. Wenn Sie jedoch mehr als einen Kanal haben oder wenn kein Kanal in Ihrem Projekt als Standard markiert ist, müssen Sie auch ChannelId einschließen.

Ich hoffe, das hilft!

Hinweise

Um die ChannelId und ProjectId ich die Octopus Datenbank abfragen musste zu finden. Die IDs sehen etwa so aus: Projects-1 oder Channel-1