1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

特定のJiraプロジェクトに含まれるすべての課題において、特定のカスタムフィールド(数値)に最新コメントからの経過日数を設定する

Last updated at Posted at 2023-05-05

税理士試験消費税法の理論暗記の管理に、Jiraのかんばんボードを使っています。
最後に触れてからどのくらい経過したかをボード上で見たかったので、スクリプトを作成してみました。

使用方法

  1. スクリプトにサイト名、プロジェクトキー、経過日数を設定するカスタムフィールドキーを設定する
  2. Jiraの画面に対する、ブラウザのデバッグコンソール画面を開き(F12)、そこにスクリプトを貼り付けて実行する
  3. エラーが出なければ完了
const site = 'xxx.atlassian.net';
const project = 'CTT'; // プロジェクトキー
const customFields = 'customfield_10851'; //カスタムフィールドID

const elapsedDays = (datetime) => {
    const currentDate = new Date();
    const updatedDate = new Date(datetime);
    const differenceInMs = currentDate.getTime() - updatedDate.getTime();
    const differenceInDays = Math.floor(differenceInMs / 86400000);
    return differenceInDays;
}

const foo = async () => {
    const res = await fetch(`https://${site}/rest/api/2/search?jql=project=${project}&maxResults=1000&fields=comment`);
    const json = await res.json();
    json.issues.forEach((issue) => {
        const comments = issue.fields.comment.comments;
        const lastComment = comments[comments.length - 1];
        const days = elapsedDays( lastComment ? lastComment.updated : issue.fields.created);

        const data = {
            fields: {
            }
        };
        data.fields[customFields] = days;

        fetch(`https://${site}/rest/api/2/issue/${issue.key}`, {
            method: 'PUT',
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json'
            },
            body: JSON.stringify(data)
        }).catch(err => console.error(err));
    });
    console.dir(json);
};

foo();

こんな感じで経過日数が見れます。
kanban.png

経過日数の計算方法は、ChatGPTに教えてもらいました(thanks)。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?