# backlog apiの調査 一応、公式のライブラリ:[サイト](https://github.com/kitadakyou/PyBacklogPy) ## 認証 「APIキーを発行」して行うものと、「OATH2.0」を利用するものの2種類 現在いただいるレポジトリでは、apiキーを用いた認証をしています。 ## 機能一覧 ### スペース * 情報取得 * スペースアイコン更新 * スペースのお知らせ更新 * スペースの容量状況取得 ### ユーザー * 一覧取得 * ユーザー情報取得 * 追加 * 更新 * 削除 * ユーザーアイコン取得 * 最近の活動取得 * 受け取ったスターの数取得 ##### APIとの認証に使用するユーザー関連 * ユーザー情報取得 * 「最近見た課題」一覧の取得 * 「最近見たプロジェクト」一覧の取得 * 「最近見たWiki」一覧の取得 ### チーム * 一覧取得 * 追加 * チーム情報の取得 * チーム情報の更新 * 削除 * アイコン取得 ### プロジェクト * 一覧取得 * 追加 * プロジェクト情報の取得 * プロジェクト情報の更新 * 削除 * アイコンの取得 * 「最近の課題」を取得 * プロジェクトユーザーの追加 * プロジェクトユーザーの一覧取得 * プロジェクトユーザーの削除 * プロジェクト管理者の追加 * プロジェクト管理者の一覧取得 * プロジェクト管理者の削除 * プロジェクト固有の課題に設定できる状態の一覧を取得 ##### 状態 * 追加 * 更新 * 並べ替え ##### 種別 * 一覧取得 * 追加 * 更新 * 削除 ##### カテゴリー * 一覧取得 * 追加 * 情報の更新 * 削除 ##### バージョン(マイルストーン) * 一覧取得 * 追加 * 情報の更新 * 削除 ##### カスタム属性 * 一覧取得 * 追加 * 更新 * 削除 * 選択リストカスタム属性のリスト項目の更新・削除 ##### 共有ファイル * 一覧取得 * ダウンロード ##### Webhook * 一覧取得 * 追加 * 取得 * 更新 * 削除 ##### プロジェクトチーム * 一覧取得 * 追加 * 削除 ### 課題 * 課題に設定できる優先度の一覧取得 * 完了理由一覧取得 * 一覧取得 * 課題数の取得 * 追加 * 情報の取得 * 情報の更新 * 削除 * 参加者の一覧取得 ##### 課題コメント * 取得 * 追加 * コメント数の取得 * 情報の取得 * 削除 * 情報の更新 * お知らせ一覧の取得 * お知らせを追加 ##### 課題添付ファイル * 一覧取得 * ダウンロード * 削除 ##### 課題内での共有ファイルの扱い * 課題共有ファイルの一覧を取得 * 課題に共有ファイルをリンク * 課題共有ファイルのリンクを解除 ### Wiki * 一覧取得 * ページ数の取得 * ページタグの一覧取得 * 追加 * 情報の取得 * 情報の更新 * 削除 ##### Wiki添付ファイル * 一覧取得 * 追加 * ダウンロード * 削除 ##### Wiki内共有ファイルの扱い * Wiki内共有ファイルの一覧取得 * 共有ファイルをWikiにリンク * Wiki共有ファイルのリンクを解除 ##### その他 * Wikiページ更新履歴の一覧取得 * Wikiページのスター一覧取得 * スターの追加 ### お知らせ ### Git * リポジトリの一覧取得 * リポジトリ取得 ##### プルリクエスト * 一覧取得 * プルリクエスト数取得 * 追加 * 取得 * 更新 ##### プルリクエストコメント * 取得 * 追加 * コメント数の取得 * コメント更新 ##### プルリクエスト添付ファイル * 一覧取得 * ダウンロード * 削除 ##### ウォッチ関連 ### ファイル * 添付ファイルの送信 (課題、コメントまたはWikiに添付するファイルを送信し、添付ファイルに発行されたIDを取得します。送信されたファイルは添付された後に削除されます。また添付されなかった場合は1時間後に削除されます) ### その他 * ライセンス情報の取得 * 使用中のAPIキーに対するレート制限に関する情報取得 ## まとめ ### 構造 * 「プロジェクト」が一番上で、その中に「課題・Wiki・git・チーム」等が内包されている。 ### ファイル * ファイルの追加は、可能 * 共有ファイルについては、最も階層が上のプロジェクトでは、共有ファイルの一覧取得とダウンロードのみ。 * 「課題・Wiki」の共有ファイルについては、一覧の取得に加えて、プロジェクトの共有ファイルをリンクしたり、それを解除できる。 * 添付ファイルについては、「プロジェクト・課題・Wiki」のすべてで、「一覧取得・ダウンロード・削除・追加」があるようですが、公式のライブラリーには実装されていないようです。 * 以上より、「フォルダを作るapi」や、「プロジェクトの添付ファイルを共有ファイルにするapi」すらないようなので、ファイル関連ではできることはあまりないなという印象です。 ### プロジェクト * 「状態を一気に更新したり、管理者を一気に追加する、ユーザーを一気に追加or削除する」などあまり使わない用途しかなさそうです。そもそも1つのプロジェクトしか使っていないため、用途はないかなと思います。 * git・課題についても手動での確認が必要なため、このような機能は必要ないかなと思います。 ## 実験結果 - ファイルについては、課題とwikiに追加することが出来るが、それぞれ課題orwikiのIDを指定してファイルの追加等する形で、フォルダという概念がこの2つの中にない。 - フォルダの概念があるのは、「プロジェクトの共有フォルダ」だけだが、そこに対して操作を加えるAPIは存在しない。 ## ※課題・WIKIのプロジェクトIDの簡易的な確認方法 更新したい課題の「課題ID」を引数として、以下のように実行します。 > python sample01.py <課題ID> ここで、更新したい課題の課題IDをどのように確認するのか。 全てをスクリプト内で完結するならば、課題IDを確認するスクリプトも作り、連携を試みるところです。 しかし、「背景」のセクションで記した通り「スピード重視」の方針で、 以下の通りささっと確認する方法を使います。 まずはBacklogにWebブラウザからログインし、「課題」メニューの検索条件で、更新対象の課題を含む条件で検索し、一覧に更新対象の課題を表示させます。 その状態で、右の「・・・」メニューをクリックし、「Excel」を選択します。 課題一覧がExcel形式でダウンロードされるのでファイルを開くと、更新対象の課題に対する「ID」が確認できます。これが「課題ID」です。 上記「Excel」を選択した手順の途中で、「CSV」を選択するとCSV形式のデータエクスポートも可能ですが、Excelファイルのほうが見やすいです。 ## 添付ファイルの送信 - まず、ファイルをアップロードし、そのアップロードファイルのIDを取得 - そのIDを用いて、指定した課題orWiki等のIDのところに、ファイルを添付する - 一度、添付すると、ファイルのIDは消去される!(つまり、どこかにアップすれば二重でファイル情報が残ることはない) - ファイルの操作には、 - すべてそのファイルが属しているもののID - そのファイル自体のID 2種類が必要となる。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up