Backlog(ヌーラボ)のWeb画面から一括で課題(チケット)を削除する機能は標準で用意されていないようなので、Backlog-APIを使って一括削除するスクリプトを作成してみた。
結構要望は出ているようなのでQiitaで共有しておく
動作環境
OS: Linux等のBash及び以下のコマンドが使える環境
S/W: curl,jq(※apt-get等で予め取得)
Backlog API-Key取得
以下からAPI-Keyを取得(※管理者権限ユーザのみ)
https://xxx.backlog.jp/EditApiSettings.action
※xxxはスペース名
一括削除スクリプト
課題(チケット)一括削除スクリプト(サンプル)
backlog_delete.sh
#!/bin/bash
#===============================
# Backlog Delete Batch Script
#===============================
#-------------------------------
# Backlog Enviroment Variables
#-------------------------------
BACKLOG_API_KEY="<API-Key>"
BACKLOG_DELETE_LIST_FILE="backlog_delete_list.txt"
BACKLOG_SPACE="<Baclog-SpaceName>"
cat ${BACKLOG_DELETE_LIST_FILE} | while read BACKLOG_ID
do
result=`curl -s -X DELETE https://${BACKLOG_SPACE}.backlog.jp/api/v2/issues/${BACKLOG_ID}?apiKey=${BACKLOG_API_KEY}`
echo $result | jq '.'
done
exit 0
削除リストファイル
削除対象課題IDのリストを作成する。
(※親子関係を持つ場合は子を先に削除しないとエラーとなります)
backlog_delete_list.txt
issueIdOrKey-002(子ID)
issueIdOrKey-003(子ID)
issueIdOrKey-004(子ID)
issueIdOrKey-005(子ID)
issueIdOrKey-001(親ID)
:
実行方法
スクリプトの実行方法は以下の通り
(※事前にバックアップなどを忘れずに)
$ mkdir tmp; cd ./tmp
$ vim backlog_delete.sh
---
・上記の「一括削除スクリプト」をCopy&Paste
・API-Key、スペース名を環境に合わせて設定
---
$ vim backlog_delete_list.txt
---
上記の「削除リストファイル」を参考に削除リストを作成
---
$ chmod 755 ./backlog_delete.sh
$ ./backup_delete.sh