☁️ くもをもくもくまなぶ

クラウドコンピューティングサービスの学んだことを中心につらつらと書いています

Personal production tools related to Backlog/Backlog関連の個人制作ツール

週末は時間があったのでこんなもの作っていました。

なお、制作物について修正は今のところ考えていません。

また実行した際に、私個人のCloudflare Worker Logsに、

アクセスしているBacklogの情報が保存されるので、

利用するのは自由にして構いませんが、削除要求などはお答えできません。

所属組織等も全く関係ないものとなるので、これを元にお問い合わせされても無視されます。

BacklogのURLとプロジェクト名は保存されますが、

APIキーはマスキングされるので私も内容は確認できません。

制作したもの

1. 課題一括削除

https://backlog-batch-delete-issues.midnight480.workers.dev/

目的
  • いろいろ触っていくと無駄に課題が増えてしまったり、プロジェクトに一括登録で誤って作成した課題を削除するのが一つ一つが手間だったところをなんとかしたかった

機能
  • 削除
    • 一括削除
      • 表示しているページ単位の課題に対して削除処理を順次実行する
    • 個別削除
      • 行単位で課題の削除処理を実行する

  • 見た目
    • 言語(日↔英)
    • ダークモード切替
学び

2. 課題情報抽出

https://backlog-export-issues.midnight480.workers.dev/

目的
  • 一括削除するときに、登録していた内容を手元に残しておきたいときに一つ一つダウンロードするのが手間に感じた

機能
  • 課題一覧
    • 課題と添付の有無が一目で分かるようにする
  • 課題詳細
    • 課題のコメント含めて取得する
    • Backlogでも課題を確認するときに開けるようにする
    • 個別に課題情報を保存する
    • 添付ファイルを個別にダウンロードする
  • 一括ダウンロード
    • テキストは1ページ20件表示している課題を一括でZIP圧縮してダウンロードする
      backlog-issue-${ページ番号}.zip
      ├ 課題キー1番目.txt
      ...
      ┗ 課題キー_20番目.txt
    • 添付ファイルは1ページ20表示している課題の添付ファイルを一括でZIP圧縮してダウンロードする
      backlog-attachment-${ページ番号}.zip
      ├   課題キー
      ...  ├ 添付ファイル.jpg
      ...  ┗ 添付ファイル.png
      ...
      ┗   課題キー
           ├ 添付ファイル.jpg
           ┗ 添付ファイル.png
  • 見た目
    • 言語(日↔英)
    • ダークモード切替
学び
  • Honoだと使いこなせなかったのでJavaScriptで記述
  • Cloudflare KVにruturnするHTMLなどを挙げてみたところ、
    • Keyの値にハッシュ化された文字が入ってハマったこと

      const indexKeys = keys.keys.filter(key => key.name.startsWith('index.') && key.name.endsWith('.html')); みたいに挟み込みで探しに行った