LoginSignup
5
6

More than 5 years have passed since last update.

Bitbucketのissue(課題)を一括で登録する

Posted at

個人でbitbucketのissue機能を使っているのですが、issueを一つずつ登録するのが大変でした。
一括で登録できないか調べてみたところ、jsonをupすれば一括で登録ができるらしく、やってみました。

作業としては以下になります。
1:所定の書式に沿ったjsonを用意する
2:zipにする(zipにしないとエラーになる)
3:upする

1:所定の書式に沿ったjsonを用意する

https://confluence.atlassian.com/bitbucket/issue-import-export-data-format-330796872.html
こちらを参考にjsonを作成していきます。
公式?が間違っているのか、issueに関するjsonを作成するときはcontentのkeyも必要になります。(Requiredって書いてないのに・・・)
加えてmetaも必要になるようです。

10回くらいupとエラーを繰り返し、最終的にこうなりました。

hoge.json
{
    "issues": [
        {
            "content": "Some **issue**.", 
            "content_updated_on": "2013-01-22T15:55:13.573339+00:00", 
            "created_on": "2013-01-22T15:55:13.573339+00:00", 
            "id": 1, 
            "kind": "task", 
            "priority": "major", 
            "status": "new", 
            "title": "Test", 
            "updated_on": "2013-01-22T15:55:13.573339+00:00"
        }
    ], 
    "meta": {
        "default_assignee": "Yoshimaru Shirakawa", 
        "default_component": "ui", 
        "default_kind": "task", 
        "default_milestone": null, 
        "default_version": null
    }
}

これ以上何かを削るとエラーが起きてupできないと思います。
ポイントは
- idは自前でつけてね(idがかぶったら上書きするよ)
- meta忘れないでね
- contentも必須だよ
- jsonの名前はなんでもいいよ
って感じです。

2:zipにする

ターミナルを開き、

コマンド
zip -j hoge.zip /Users/UserNameHoge/Downloads/hoge.json 

等を実行してhoge.jonをzipにしています。
-jコマンドでディレクトリ構成を保たずにファイルだけzipにしています。

3:upする

スクリーンショット 2016-03-21 14.41.52.png
Settingsの課題/インポート&エクスポートからzipをインポートすることができます。
インポートした時にエラーが発生すればここでエラーが表示されると共に、登録しているメールアドレスに結果が送られます。

やってみて

jsonを自前で作成するととても面倒くさいのでpythonやElectronとかでクライアントを作成してみようと思います。
titleだけ指定すれば勝手にzipにして出力してくれる的な・・・

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6