WebHU - Programozási kérdések és válaszok

A Jira rest api problémamellékletet kap a pythonon keresztül

Tehát a python segítségével le kell töltenem a Jira problémájához tartozó mellékleteket. Megvan a következő kód

from atlassian import Jira

issue = jira.issue(issuekey, fields='summary,comment,attachment')

for attachment in issue['fields']['attachment']:
with open((attachment.filename), 'wb') as file:
    file.write(attachment.get(b'', b''))

A kód futtatása után 3 üres fájlt kapok (txt, png, png), amelyekben nincsenek adatok.

Hogyan tölthetek le (letölthetek) fájlokat a kiadásból az aktuális mappámba?


  • @Rakesh, amikor csak az attachment.get() fájlt használom, a következő problémám van: TypeError: get expected at least 1 arguments, got 0 29.08.2019

Válaszok:


1

Próbálja ki a expand="attachment"

Pl.:

issue = jira.issue(issuekey,  expand="attachment")

for attachment in issue['fields']['attachment']:
    with open(attachment.filename, 'wb') as file:
        file.write(attachment.get())
29.08.2019
  • Sajnos a probléma() váratlan kulcsszó argumentumot kapott: "expand" 29.08.2019
  • jira-python használod? 29.08.2019
  • persze, ahogy a téma elején említettem 29.08.2019
  • nem a könyvtár nevére gondolok, amellyel pythonból csatlakoztak a JIRA-hoz 29.08.2019
  • Amikor a "fájlt" nyomtatom, akkor a problémán belüli fájlok normál nevét kapom. 29.08.2019
  • határozottan, ha kapok adatokat, az azt jelenti, hogy rendben van 29.08.2019
  • még egy hiba a kódban, nem tudom használni a attachment.filename-et, mert a mellékletnek nincs objektumfájlneve, ezért meg kell írnom a csatolmányt['fájlnév'] 29.08.2019

  • 2

    Szüksége van a csatolmány tartalmára mutató hivatkozásra, amely a 'content' kulcs alatt található. Ezután csak használja a .get() kérést, amely a Jira könyvtárban található:

    for attachment in issue['fields']['attachment']:
        link = attachment['content']
        link = link.split("https://jira.companyname.com/")[1]
        b_str = jira.get(link, not_json_response=True)
        with open((attachment['filename']), 'wb') as file:
            file.write(b_str)
    

    Vegye figyelembe, hogy le kell vágnia a hivatkozást, mert a jira.get() automatikusan tartalmazza a domaint a kérelem URL-jéhez.

    17.07.2020
    Új anyagok

    A rádiógomb ellenőrzött eseményének használata a jQueryben
    Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

    Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
    Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

    Miért érdemes elkezdeni a kódolást 2023-ban?
    01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

    🎙 Random Noise #2  – Örökbefogadás és hit
    az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

    A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
    A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

    5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
    Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

    Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
    A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..