2009-04-18 12 views
8

Chcę być w stanie uzyskać listę problemów otrzymuje określony:W jaki sposób JIRA soap API może nie mieć tej metody?

projekt Version Nazwa i wydania

wydaje się to podstawowym JIRA mydła API 101 żądanie

Wydaje się, patrząc na dokumentacji:

http://docs.atlassian.com/software/jira/docs/api/rpc-jira-plugin/latest/index.html?com/atlassian/jira/rpc/soap/JiraSoapService.html

można uzyskać problemy przez:

  1. Filtr
  2. searchTerms
  3. searchTerms i Project

ale nie wyżej. Jest to kompletny nadzór lub brakuje mi czegoś

by się spodziewać, aby zobaczyć coś takiego:

RemoteIssue[] issues = _soapService.getIssues(string project_, string version_) 

pomocy?


UPDATE: widzę, że JIRA 4.0 jest na zewnątrz, ale nie mogę znaleźć żadnej dokumentacji, jeżeli API zmieniła się na poparcie tego żądania wyżej. Każdy może znaleźć ten link, aby odpowiedzieć na te pytania.

Odpowiedz

6

Nie jest to możliwe z bieżącym interfejsem API JIRA. Prawdopodobnie zrobi to w JIRA 4.0.

W kliencie JIRA rozwiązaliśmy ten problem, żądając IssueNavigator.jspa (zakładka Znajdź problemy) z warunkami wyszukiwania w adresie URL i żądaniem wyjścia RSS; następnie analizowanie RSS.

mam wyjaśnić niektóre zawiłości do czynienia z JIRA zdalnie, w tym poszukiwania, w tym seminarium: http://blogs.atlassian.com/news/2008/11/killer_jira_cli.html

Hope this helps

+0

dzięki za wideo. wydaje się zaskakujące, że JIRA sprawi, że przeskoczysz przez takie obręcze. Wiem, że na wideo wspomniałeś, że zamierzasz dodać śledzenie czasu. Czy jest jakiś czas na to i jak by to działało? – leora

+0

również, jak się dowiedzieć, co będzie w JIRA 4.0. czy interfejs API SOAP zostanie rozszerzony? – leora

+0

Nie wiem * co będzie w JIRA 4.0, ale były rozmowy o zasięgu JIRA 4 z Atlassianem, łącznie z wyszukiwaniem. Ponieważ to byłby poważny upgrade, myślę (i mam nadzieję!) API zostanie przedłużony. Naprawdę powinieneś zapytać Atlassianów (najlepsze miejsce do tego jest Atlassian Summit - http://www.atlassian.com/summit). – sereda

0

Istnieje kilka uwag na Atlassian JIRA dotyczące nowych metod dostarczone w JIRA 4.0 http://jira.atlassian.com/browse/JRA-17509

Inna kwestia wskazuje, że interfejs API SOAP nie znajduje się zbyt wysoko na liście priorytetów. pod JRA-7614, a Atlassian radzi, aby samemu dokonać modyfikacji w postaci .

Potrzebuję również bardziej dopracowanego interfejsu API SOAP (takiego jak łączenie problemów, ...). Każdy, kto chce przyczynić/pomocy w coraz to zrobić, dzięki czemu możemy uniknąć robić „HTML skrobanie ekranu” ... (@sereda, dzięki za btw wideo)

Franciszka

+0

Wdycham Atlassian przez ostatnie kilka dni. Używamy SpiraTest do testowania MGMT, a brak funkcjonalności w interfejsie SOAP powoduje zniknięcie ważnych rzeczy, takich jak problemy i pod-problemy, hierarchia wersji, powiązane kwestie, ++. Sprawdzam wszystkie "rozwiązane, naprawione" przypadki na interfejsie mydła, informując ich, że nie można tego naprawić, kiedy właśnie zaimplementowano inny interfejs dla tego (REST). Przy okazji, wydaje mi się to nieporządne dla moich nie deweloperskich oczu. – sonstabo

1

Jest możliwe napisać Wtyczka JIRA do odsłonięcia pożądanych metod poprzez SOAP z RPC Endpoint Plugin Module.

+0

jeśli JIRA nie ujawnia tego API, nie sądzę, że istnieje jakieś rozwiązanie. jak wspomniano, JIRA 4.0 otrzymuje aktualizację w tym obszarze – leora

+0

Nie ma rozwiązania, chyba że napiszesz własną wtyczkę lub zmodyfikujesz istniejącą wtyczkę RPC (źródło, do którego jest swobodnie dostarczana). – titaniumdecoy

1

Wierzę, że możesz zrobić filtr, który ma cechy, które chcesz - jak nazwa projektu i wersja wydania - następnie użyj mydlanego API, aby uzyskać listę opartą na tym filtrze, przekazując mu nazwę projektu i wersję wydania, którą chcesz. Nie mam tego przykładu z ręki, ale wiem, że to właśnie robi nasza aplikacja. Wadą jest to, że najpierw trzeba ręcznie utworzyć filtr, a następnie zakodować gdzieś swój identyfikator i założyć, że istnieje, ale jeśli chcesz być "brzydki". to powinno działać dla ciebie.

-Carl

+2

to, co robimy, ale to śmierdzi :) – leora

6

W JIRA 4 można używać JIRA Query Language metodą SOAP getIssuesFromJqlSearch.

+0

dzięki za aktualizację – leora

+1

Tak, w JIRA 4.0+, możesz zrobić to za pomocą JQL i metody getIssuesFromJqlSearch. –

4

Brak możliwości uaktualnienia do Jira 4 w najbliższym czasie i z podobnym wymaganiem, pobrałem problemy przez wyszukiwany termin i projekt, podając "wyszukiwane hasło", które wydaje się działać jako symbol wieloznaczny: "- 0 1 2 3 4 5 6 7 8 9 ". Ponieważ wszystkie wygenerowane klucze wydania mają postać XXX-YYY, gdzie Y jest cyfrą, powinny znaleźć wszystkie problemy, chociaż prawdopodobnie nie są wydajne w przypadku dużych projektów. Będziesz musiał następnie przejrzeć numery wersji sprawdzania wyników.

Nie dość - i jeszcze tego nie testowałem - ale wygląda na to, że działa.

Thor

0

chodzi o TimeTracking (przepraszam, chciałem dodać komentarz seredas odpowiedzi, ale wydaje się, że nie ma wystarczającej reputacji)

Mamy Jira 4.1.2 działa i to działa (python2.6 wykorzystujące mydliny):

>>> client.service.getWorklogs(auth,"PROJ-650") 
[(RemoteWorklogImpl){ 
    author = "philipp" 
    comment = None 
    created = 2010-07-21 12:46:34 
    groupLevel = None 
    id = "12651" 
    roleLevelId = None 
    startDate = 2010-07-21 12:46:00 
    timeSpent = "10 minutes" 
    timeSpentInSeconds = 600 
    updateAuthor = "philipp" 
    updated = 2010-07-21 12:46:34 
}] 
0

podczas eksperymentowania z różnymi opcjami znaleźliśmy następujące rozwiązanie dla coraz bilety projektów z Jira:

soapService.getIssuesFromJqlSearch(token, jql, pageSize); 

gdzie jql jest coś takiego

issueKey > ":keyOfTheLastIssueReceived" and project = ":projectCode" order by issueKey 

trzeba zamawianie przez issueKey ponieważ ta metoda zwraca tylko „pageSize” od problemów i filtrowanie według issueKey, aby przejść do następnej „strony” (zaczynając tam, gdzie poprzedni "strona" zakończona)

Myślę, że będziesz w stanie uzyskać to, co chcesz, dodając do jql fixVersion = ":requiredVersion".