2014-06-24 15 views

risposta

3

volevo estrarre il nome epico di uno issue e questo mi ha bloccato per qualche giorno. La chiave è stato quello di rendersi conto che un epic è solo un problema di genitore, e il nome epico è il campo del genitore issuesummary.

Quindi:

Fase 1

Trova il campo personalizzato di dove l'epica è memorizzato utilizzando la editmeta query:

https://[your-jira-hostname]/jira/rest/api/2/issue/[issue-number]/editmeta

Questo produrrà qualcosa come sotto del quale rivela il campo personalizzato Id di cui abbiamo bisogno

{ 
    "fields": { 
    <SNIP> 
    "customfield_12360": { 
     "required": false, 
     "schema": { 
     "type": "any", 
     "custom": "com.pyxis.greenhopper.jira:gh-epic-link", 
     "customId": 12360 
     }, 
     "name": "Epic Link", 
     "operations": [ 
     "set" 
     ] 
    } 
    <SNIP> 
    } 
} 

Fase 2

Query il problema, tirando fuori il valore di campo personalizzato

https://[your-jira-hostname]/jira/rest/api/2/issue/[issue-number]?fields=customfield_12360,summary

se il nostro problema è JIRA-34 dire, questo produrrà qualcosa come

{ 
    "expand": "renderedFields,names,schema,operations,editmeta,changelog,versionedRepresentations", 
    "id": "39080", 
    "key": "JIRA-34", 
    "fields": { 
    "summary": "Write heavily upvoted answers for stack overflow", 
    "customfield_12360": "JIRA-33" 
    } 
} 

Passaggio 3

Ora sappiamo il numero di emissione della nostra epica è JIRA-33, così ora interrogare l'epica ...

https://[your-jira-hostname]/jira/rest/api/2/issue/JIRA-33?fields=summary

{ 
     "expand": "renderedFields,names,schema,operations,editmeta,changelog,versionedRepresentations", 
     "id": "39080", 
     "key": "JIRA-33", 
     "fields": { 
     "summary": "Improve StackOverflow reptuation" 
     } 
    } 

Il nome del epica per JIRA-34 è "Migliorare StackOverflow reptuation"

Fatto.

+0

Bello! Non sono sicuro se questo fosse supportato nell'API al momento. Buona scoperta! –

3

per ottenere la chiave epica per un problema:

inviare una richiesta a:/problema/NUMERO-NUMERO

e guardare il corpo di risposta:

{ 
    ..., 
    fields: { 
     ..., 
     customfield_11300: ... <- here, the epic should be listed. The number can be different 
    } 
} 
+0

Ciao. Mi chiedo se si potrebbe indicare qualsiasi conoscenza su * perché * questo è il caso, o dove sarebbe documentato quale sia esattamente il campo personalizzato (e come scoprire se sarebbe diverso). – Jmons

+1

Davvero non lo so, la documentazione non era così buona in quel momento.Forse prova a cercare l'API di Greenhopper. –