2017-10-02 8 views
0

Je suis en train d'obtenir une liste de toutes les questions JIRA pour que je puisse itérer les de la manière suivante:Obtenir la liste de toutes les questions JIRA (python)

from jira import JIRA 

jira = JIRA(basic_auth=('username', 'password'), options={'server':'https://MY_JIRA.atlassian.net'}) 

issue = jira.issue('ISSUE_KEY') 
print(issue.fields.project.key) 
print(issue.fields.issuetype.name) 
print(issue.fields.reporter.displayName) 
print(issue.fields.summary) 
print(issue.fields.comment.comments) 

Le code retourne au-dessus des champs désirés (mais seulement un problème à la fois), cependant, je dois pouvoir passer une liste de toutes les clés d'émission dans:

issue = jira.issue('ISSUE_KEY') 

l'idée est d'écrire une boucle qui passerait par cette liste et imprimer la champs indiqués.

Je n'ai pas pu remplir cette liste.

Quelqu'un peut-il me diriger dans la bonne direction s'il vous plaît? Merci.

Répondre

1

Vous pouvez exécuter une recherche au lieu d'un seul problème.

Disons que votre clé du projet est PRO-KEY, d'effectuer une recherche, vous devez utiliser cette requête:

https://MY_JIRA.atlassian.net/rest/api/2/search?jql=project=PRO-KEY 

Ceci renvoie les 50 premiers numéros du PRO-KEY et un certain nombre, dans le domaine maxResults, du nombre total de problèmes présents.

prises que le nombre, vous pouvez effectuer d'autres recherches en ajoutant la à la requête précédente:

&startAt=50

Avec ce nouveau paramètre, vous serez en mesure de récupérer les questions 51-100 (ou 50 à 99 si vous considérez le premier numéro 0).

La requête suivante sera &startAt=100 et ainsi de suite jusqu'à ce que vous atteigniez tous les problèmes dans PRO-KEY.

Si vous souhaitez récupérer plus de 50 questions, ajouter à la requête:

&maxResults=200

+0

Ruso Où dans le code serait cette requête de recherche aller? J'essaie vraiment d'obtenir tous les bogues, pas seulement ceux associés à une clé de projet. – JohnWayne360

+0

@ JohnWayne360 'jql = projet = PRO-KEY et issueType = Bug' est la requête pour rechercher uniquement les bogues. –

+0

@ Roberto Russo: Dites que je veux des bugs, des améliorations, histoire, etc. Aurais-je devoir mettre à jour à chaque fois? Je fais jira.search_issues ('issuetype = Bug', maxResults = 200, startAt = 100) mais je dis que je veux des problèmes sans tenir compte de 'typeType' – JohnWayne360

0

Vous pouvez utiliser la méthode jira.search_issues() pour passer dans une requête JQL. Il retourne la liste des questions correspondant à la JQL:

issues_in_proj = jira.search_issues('project=PROJ') 

Cela vous donnera une liste de questions que vous pouvez itérer

0
options = {'server': 'YOUR SERVER NAME'} 
jira = JIRA(options, basic_auth=('YOUR EMAIL', 'YOUR PASSWORD')) 
size = 100 
initial = 0 
while True: 
    start= initial*size 
    issues = jira.search_issues('project=<NAME OR ID>', start,size) 
    if len(issues) == 0: 
     break 
    initial += 1 
    for issue in issues: 
     print 'ticket-no=',issue 
     print 'IssueType=',issue.fields.issuetype.name 
     print 'Status=',issue.fields.status.name 
     print 'Summary=',issue.fields.summary 
+0

Bien que cet extrait de code puisse résoudre la question, [y compris une explication] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) aide vraiment à améliorer la qualité de votre message. Rappelez-vous que vous répondez à la question pour les lecteurs dans le futur, et que ces personnes pourraient ne pas connaître les raisons de votre suggestion de code. –