2008-11-10 15 views
6

Ich erstelle einige benutzerdefinierte Tools, um gegen eine JIRA-Installation zu arbeiten, und die exponierte SOAP-API ist großartig, außer dass keines der Argumente benannt wird.JIRA SOAP API Dokumentation?

Zum Beispiel der Prototyp für getIssue ist:

RemoteIssue getIssue (string in0, string in1); 

Alle SOAP-RPC-Methoden dieser Konvention folgen, also ohne Dokumentation ich ziemlich hardpressed bin, um herauszufinden, was auf eine Menge von ihnen zu übergeben.

Kennt jemand einen definitiven API-Dokumentationsführer?

+0

ich die API verwenden, um Suchen Sie nach einem wahrscheinlichen Methodennamen und lesen Sie dann die Quelle, um zu sehen, was tatsächlich erwartet wird. – mdoar

Antwort

15
+1

Ich muss ein wenig unerfahren sein, aber ich bin nicht ganz zufrieden mit diesem Dokument. Ich bin fast in der gleichen Konfiguration wie Ihre und ich möchte die createIssue-Methode verwenden. In diesem Zweck erstelle ich eine Instanz eines RemoteIssue-Objekts und ich setze die folgenden Parameter: Typ, Zusammenfassung, Projekt, Beauftragter, Beschreibung und Priorität, die alle Zeichenfolge sind. aber welchen Wert muss ich für Typ festlegen? RemoteIssueType.name? RemoteIssueType.id? und was ist mit Zusammenfassung, Projekt etc? Wo finde ich genaue Dokumentation? Vielen Dank für Ihre Hilfe – PierrOz

+8

Ich arbeite viel mit dieser API - persönlich ist die Dokumentation nutzlos, wenn Sie erst einmal angefangen haben, sich mit der Funktionsweise zu beschäftigen, und dann, welche Methoden verfügbar sind. Der beste Weg ist, die Quelle für Jira zu bekommen (wenn Sie keinen Zugriff auf die Quelle haben, weil Sie gegen eine Testversion entwickeln, dann schlage ich vor, die $ 10 US Starter Edition zu kaufen, damit Sie dann Zugang zu allen bekommen Quelle). Mit der Quelle ist es ziemlich einfach zu sehen, wofür jedes Argument verwendet wird und was jeder Aufruf erwartet. – Bittercoder

2

Die javadoc Link zu finden Sie die richtige ist. Sie sollten auch wissen, dass nicht alles über die SOAP- oder RPC-Schnittstellen verfügbar gemacht wird, aber Sie können fast alles über die REST-Schnittstelle ausführen. Leider ist die REST-Schnittstelle nicht gut dokumentiert, aber Sie können ein HTML-Verkehrsinspektor-Tool (wie Fiddler für IE) verwenden, um die tatsächlichen POST-Daten von der Webschnittstelle an den Server zu senden und die Schnittstelle für den jeweiligen Anruf zusammenzufügen brauchen. Nicht immer der einfachste Weg, aber es funktioniert.

3

Ich habe festgestellt, dass es ziemlich einfach ist, zu erfahren, was die Parameter sein sollen. Je nachdem, wie kompliziert du bist, kannst du vielleicht raten, was du passieren sollst.

Es ist ein super wichtig ein, obwohl (dies ist Python mit SOAPpy):

self.proxy = WSDL.Proxy(jiraUrl) 
self.token = self.proxy.login(self.username, self.password) 
... 
issues = self.proxy.getIssuesFromFilter(self.token, args[0]) 

Nachdem das Token aus dem Login() -Methode bekommen, müssen Sie es als Parameter für alle anderen passieren in SOAP-Anrufe. Danach herauszufinden, ist es ziemlich einfach gewesen, um herauszufinden, was die Parameter sein sollte (zum Beispiel sollte getIssuesFromFilter die filterId als andere Parameter nehmen)