今まで課題の追加や削除をやってきましたが、プロジェクト自体を操作、もしくはプロジェクト内の課題を操作する場合はプロジェクトIDが必要になります。
「どのプロジェクトか?」というのを指定してあげる必要があるためです。まぁ・・・当然といえば当然ですね。
指定するのはプロジェクトIDかプロジェクトキーのどちらかになります。
今回は、そのプロジェクトIDを調べてみようと思います。
プロジェクトIDを調べる方法は2つあります。
管理画面から確認
管理画面のURLからプロジェクトIDを調べることができます。
「プロジェクト」を選んで、「プロジェクト設定」をクリックします。その時のURLにプロジェクトIDが入っています。(下の図で言うと赤線を引いた"57225"というのがプロジェクトID)
![]()
意外と簡単に確認できます。
Backlog APIで確認
もう一つはBacklog APIを使って確認する方法。
一つの任意のプロジェクトのIDが知りたい場合は管理画面から確認でいいと思います。でも、それを複数確認したいとか、全プロジェクトの名前一覧を作りたいとか、そういう時はAPIを使ったほうが早いです。
公式サイトのAPI情報はこちら。
プロジェクト一覧の取得 | Backlog Developer API | Nulab
例のごとく今までのソースコードを流用して実行します。ソースコードは以下。
require 'backlog_kit'
require 'csv'
# ////////////////////////
# プロジェクト取得用関数
# ////////////////////////
def getProjectList()
data = @client.get_projects({})
list = data.body
return list
end
# ///////////
# main
# ///////////
@client = BacklogKit::Client.new(
space_id: "test-space",
api_key: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
)
lists = getProjectList()
lists.each do |list|
puts "+" * 30
p list
end
(space_id と api_keyは自分のものに変えてください。)
get_projects でスペースにあるプロジェクトの情報をすべて持ってくるようです。
プロジェクト一つにつき以下のものが出力されます。
#<BacklogKit::Resource:0x00000002094c08 @attributes={:id=>57225, :projectKey=>"RLSS", :name=>"自分作業", :chartEnabled=>true, :subtaskingEnabled=>true, :projectLeaderCanEditProjectLeader=>false, :useWikiTreeView=>true, :textFormattingRule=>"backlog", :archived=>false, :displayOrder=>2147483525}>
この中の :id がプロジェクトIDになります。管理画面で見た数字と同じですね。
プロジェクトID以外にプロジェクトキーとか、プロジェクトの設定とかも同時に取ってきています。もしプロジェクトIDのみ取得したければ、
lists.each do |list|
puts "+" * 30
p list
end
を
lists.each do |list|
puts "+" * 30
p list.id
end
とハッシュキーを付けてあげればプロジェクトIDだけ取得できます。
プロジェクトID取得→課題を削除をループさせることですべて削除することはできます・・・・・・が、そんなことするかなぁww
使い道としては全プロジェクトの情報を取得して、リスト表示するとかそっちのほうが役に立ちそう。
ちなみに、レスポンスの中にあるdisplayOrderってなんの値なんだろう。公式リファレンスの中のサンプルレスポンス内にも入っていない・・・・そのうち調べよう。
最後に
今回はプロジェクト操作に必要なプロジェクトIDの確認方法でした。
だんだんBacklogにも慣れてきたかなって感じがします。この辺を使いこなせばプロジェクトを横断した串刺しもできるようになりそう。
Backlogはプロジェクトの横のつながりが弱い印象があります。検索とかしづらい。
タスク管理に必要な知識はこの本から得ています。
今日響いた言葉としては、「リサーチは、仮説に対して検証を提示するもの」というフレーズ。どんなときにも仮説を立ててからスタートですね。その仮説を立てられるかどうかが発想とか経験の違いが出るんだろうなと思います。
それではー。
