2
1
0

pythonを使ってapi経由で、ファイルを定期的にアップロードしたいと思っています。ファイル名は同じです。

ページにファイルがない場合、

url = "xxxxx/child/attachment/"
headers = {"X-Atlassian-Token": "nocheck"}
data = {"test"}
files = {'file': open('test.txt', 'rb')}

r = requests.post(url, data=data, auth=(username, password), files=files)

で、成功するのですが、

すでにファイルが存在する場合(更新したい場合)、エラーになってしまいます。

どのように書き換えれば良いのでしょうか?

ご教授お願いします。

  1. ka2

    追記

    更新でなくても、ファイルの削除でも構いません。(削除してから作成するので)

    宜しくお願いします。

Commentコメントを追加...

1 回答

  1.  
    2
    1
    0

    解決しました。

    1. まず 添付ファイルの attachment_id を取得します 

     r = requests.get(url, auth=(username, password))

     id = r.json()['results'][0]['id']

    2. 添付ファイルを削除します

     requests.delete('xxxxx/content/id, auth=(username, password), headers=headers)

    3. ファイルを添付します

     requests.post(url, data=data, auth=(username, password), files=files)

    ありがとうございました!

    1. Kengo Ohsaki

      素晴らしい。

    Commentコメントを追加...