Backlogを使ったプロジェクト管理で、「処理済み」と「完了」という状態の違いに悩んでいませんか?この記事では、Google Apps Script (GAS) を利用して、「処理済み」状態を自動的に「完了」に更新する方法を解説します。この自動化により、進捗管理がよりシンプルになり、集計作業の手間も大幅に削減されます。プロジェクト管理が簡単に改善できる手法をぜひご覧ください。
「処理済み」と「完了」を分ける必要なし
Backlogを使い始めたばかりのユーザーや、プロジェクト管理に慣れていない人にとって、「処理済み」と「完了」という2つのタスク状態が混乱のもとになることがあります。どちらを使うべきか悩んだり、うっかり使い分けを誤ったりしてしまうケースも少なくありません。
実際、「処理済み」と「完了」はBacklogの標準機能で提供されていますが、これらを分ける必要は特にありません。すべてのタスクを「完了」として管理すれば、無駄な混乱や誤操作を減らせます。
たとえば、Backlogでは「処理済み」と「完了」を見なして管理する機能がありますが、これは主にバーンダウンチャートを活用する場合に有効なオプションです。バーンダウンチャートを使わない、導入したてのユーザーやシンプルに管理をしたい場合には、この設定を意識する必要はありません。
もし運用の中で「処理済み」状態を使うことがない場合、「処理済み」のタスクを自動的に「完了」に更新することで、考える手間を省けます。タスク管理がよりシンプルになり、うっかり「処理済み」と「完了」を使い分けてしまうリスクも回避できます。
Backlogの運用では「処理済み」と「完了」を意識的に使い分ける必要はなく、全てを「完了」として統一することで効率的なタスク管理が可能です。
課題の状態を自動更新するGASの導入が効果的な理由
課題管理の煩雑さを解消するために、Backlogの「処理済み」状態を自動で「完了」状態に更新するGASを使うことが最適です。
これにより、集計時に手間が省け、管理者も利用者も余計な作業を減らすことができます。
Backlogにはデフォルトで「処理済み」と「完了」という2つの類似した状態がありますが、この区別はプロジェクトの運用において煩雑さを生むことがあります。
特に集計や分析の際に、両者を合算する必要があり、その都度手動で確認するのは時間がかかります。また、利用者がどちらの状態を選んでも、結果的にはタスクが完了していることを示したいのに、その認識の違いが管理の手間を増やします。
GASを使って「処理済み」を「完了」に自動更新することにより、この問題を解決します。このプロセスを導入することで、プロジェクトの進捗管理がシンプルになり、タスク完了率を一貫して把握できるようになります。
例えば、Backlogを使用しているA社では、各プロジェクトチームが課題管理を行っていますが、「処理済み」と「完了」の使い分けが曖昧なため、タスク完了数の集計に苦労しています。そこで、以下のGASスクリプトを導入しました。
const BACKLOG_API_KEY = 'your-api-key';
const BACKLOG_BASE_URL = 'https://yourdomain.backlog.com/api/v2';
const BACKLOG_PROJECT_ID = 123456;
const STATUS_ID_IN_PROGRESS = 3; // "処理済み"のステータスID
const STATUS_ID_COMPLETED = 4; // "完了"のステータスID
// 「処理済み」の課題を取得して、「完了」状態に更新する
function exe_updateIssuesToCompleted() {
const issues = getIssuesInProgress();
if (issues.length <= 0) {
return;
}
issues.forEach(issue => {
updateIssueStatusToCompleted(issue.id);
});
}
function getIssuesInProgress() {
const url = `${BACKLOG_BASE_URL}/issues?apiKey=${BACKLOG_API_KEY}&projectId[]=${BACKLOG_PROJECT_ID}&statusId[]=${STATUS_ID_IN_PROGRESS}`;
const options = {
method: 'get',
contentType: 'application/x-www-form-urlencoded',
headers: { 'Authorization': 'Bearer ' },
muteHttpExceptions: true
};
const response = UrlFetchApp.fetch(url, options);
const issues = JSON.parse(response.getContentText());
return issues;
}
function updateIssueStatusToCompleted(issueId) {
const url = `${BACKLOG_BASE_URL}/issues/${issueId}?apiKey=${BACKLOG_API_KEY}&statusId=${STATUS_ID_COMPLETED}`;
const options = {
method: 'PATCH',
contentType: 'application/json',
headers: { 'Authorization': 'Bearer ' },
muteHttpExceptions: true
};
try {
var response = UrlFetchApp.fetch(url, options);
} catch (e) {
Logger.log(e.toString());
}
}
このスクリプトは定期的に実行され、「処理済み」となった課題があれば自動で「完了」状態に更新されます。この自動化により、A社の管理者は集計時に「処理済み」と「完了」を個別に集計する必要がなくなり、作業効率が大幅に向上しました。
この処理をGASのトリガーという機能で、一定の時間間隔で実行するように設定します。以下では、1時間間隔で実行しています。
Backlogの「処理済み」状態を「完了」状態に自動的に更新するGASスクリプトの導入は、管理と運用の手間を減らし、プロジェクト進捗の可視化をシンプルにする効果があります。この方法を導入することで、プロジェクト管理にかかる負担を軽減し、管理者と利用者の双方にとって利便性の高い環境を構築することができます。