share facebook facebook twitter menu hatena pocket slack

2019.06.04 TUE

Backlogで特定ユーザーが担当者の未完了課題一覧を取得するシェル

高橋 修一

WRITTEN BY 高橋 修一

未完了のBacklogの課題を一覧したいとき、担当者が自分のものであればダッシュボードで確認できますが、他メンバーの課題をプロジェクト跨いで画面から確認できなかったので、APIを用いて抽出しました。

課題の引き継ぎ漏れがないかなどをプロジェクト横断してチェックするのに使えます。 異動などで無効化したユーザーが担当者のままの課題も検索できました。

シェルでcurl打ってるだけですが共有します。

未完了課題一覧の取得

インプット

スペースID、APIキー、対象ユーザーIDがわかれば利用できます。

  • スペースID = スペースIDとは?
  • APIキー = APIの設定
  • ユーザーID = 10XXXXXXXX みたいな数字のやつ。ユーザ情報から見れる「tarou」のようなIDではない。

ユーザーIDは、ちょっとややこしいので 別の記事 にしました

スクリプト

Backlog API:課題一覧の取得 を叩くだけです。

issue_list_by_user.sh

#!/usr/bin/env bash

# parameter
if [ $# -ne 3 ]; then
    CMDNAME=`basename $0`
    echo "Usage: $CMDNAME <space> <api-key> <user_id>" 1>&2
    exit 1
fi
SPACE=$1
API_KEY=$2
USER_ID=$3

# execute
url="https://${SPACE}.backlog.jp/api/v2/issues?apiKey=${API_KEY}&assigneeId[]=${USER_ID}&statusId[0]=1&statusId[1]=2&statusId[2]=3"
curl --globoff ${url}

exit 0

assigneeId[]=${USER_ID}

これで指定ユーザーが担当者の課題のみを抽出しています。

statusId[0]=1&statusId[1]=2&statusId[2]=3

これで未完了(未処理、処理中、処理済み)の課題のみを抽出しています。

呼び出し

「スペースID」「APIキー」「ユーザーID」を指定して実行

$ sh issue_list_by_user.sh xxx ffffffffffffffff 10xxxxxxxxxx

実行するとレスポンスがjson形式でドバッと出ます。
いったんファイルに保存するなりjq使うなりで整形すると確認しやすいです。

$ sh issue_list_by_user.sh xxx ffffffffffffffff 10xxxxxxxxxx | jq '.[] | {issueKey, summary, updated, status }'

上記のjqを通した場合の出力例

{
  "issueKey": "TEST_PJ-10",
  "summary": "追加機能Aについて",
  "updated": "2019-05-01T10:00:000",
  "status": {
    "id": 2,
    "name": "処理中"
  }
}
{
  "issueKey": "TEST_PJ-11",
  "summary": "追加機能Bについて",
  "updated": "2019-05-10T10:00:000",
  "status": {
    "id": 1,
    "name": "未対応"
  }
}
{
  "issueKey": "XXX-21",
  "summary": "打ち合わせ",
  "updated": "2019-03-01T10:00:000",
  "status": {
    "id": 3,
    "name": "処理済み"
  }
}

留意点

検索できる課題は、APIキーを発行したユーザーが参加しているプロジェクトのみ。

元記事はこちら

Backlogで特定ユーザーが担当者の未完了課題一覧を取得するシェル

高橋 修一

高橋 修一

社内サービスの開発を主にやっています。大阪オフィス所属。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。