2016-06-01 4 views
2

Ich habe den folgenden Code, der mit einigen Projekten aus meiner Jira URL arbeitet, aber nicht mit allen Projekten funktioniert, und ich habe Zugriff auf alle von ihnen. Ich verstehe nicht, warum mir dieser Code nicht die richtige Antwort für alle meine Projekte liefert. Wenn ich mit einem Projekt versuchen, das nicht funktioniert, meine Antwort im JSON-Format wird:Verwenden von jira api, um alle Versionen für ein bestimmtes Projekt zu erhalten

{ 
    "errorMessages": [ 
    "No project could be found with key 'CRAFTIDGDS'." 
    ], 
    "errors": {} 
} 
try { 
    DefaultHttpClient httpClient = new DefaultHttpClient(); 
    URI uri = URI.create(JiraProperties.getInstance().getJiraUrl() + "rest/api/2/project/" + jiraProject.getProjectName() + "/versions"); 
    HttpGet httpGet = new HttpGet(uri); 

    HttpResponse httpResponse = httpClient.execute(httpGet); 
    HttpEntity httpEntity = httpResponse.getEntity(); 
    is = httpEntity.getContent(); 
} catch (UnsupportedEncodingException e) { 
    e.printStackTrace(); 
} catch (ClientProtocolException e) { 
    e.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
+0

Für das Projekt, das nicht funktioniert, können Sie versuchen, rufen [Get Projekt] (https: //docs.atlassian.com/jira/REST/latest/#api/2/project-getProject) und überprüfe, ob es dir Ergebnisse bringt. – Rambler

+0

@Rambler, wenn ich anrufe, bekomme alle Projekte api, ich bekomme kein Projekt, das ich nicht analysieren kann, aber wenn ich zu Jira gehe, kann ich das Projekt sehen und auch darauf zugreifen –

Antwort

1

Es in dem Codebeispiel keine Authentifizierung ist, die Sie zur Verfügung gestellt, so denke ich, Sie Abrufen anonym Informationen.

Wenn Sie die Standardauthentifizierung hinzufügen und einen Benutzer mit den entsprechenden Berechtigungen verwenden, sollten Sie Ergebnisse erhalten.

1

Wie GlennV sagt, es gab keine Authentifizierung in meinem Code so habe ich es, und es funktioniert ganz gut:

HttpClient httpClient = new DefaultHttpClient(); 
    HttpGet httpGet = new HttpGet(urlRequest); 
    httpGet.addHeader(BasicScheme.authenticate(
      new UsernamePasswordCredentials(JiraProperties.getInstance().getJiraUsername(), JiraProperties.getInstance().getJiraPassword()), 
      "UTF-8", false)); 

    HttpResponse httpResponse = null; 
    try { 
     httpResponse = httpClient.execute(httpGet); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return httpResponse.getEntity(); 
Verwandte Themen