Backlogのwiki記事をAPIで自動作成するGAS

2021年10月30日土曜日

(前記事の流れを完全に無視して) 
backlogのwiki記事を自動作成するGASです! 

概要

  • Backlogプロジェクトのwikiについて、指定URL配下に記事を作成する。
  • テンプレートを元に作成記事単位でシートを作成、必要情報記入する(Spreadsheet例については後述)。
  • 月~金曜日朝に実行され(トリガー自体は毎朝実行設定)、シート内容通りのタイミングで記事を作成する。
  • 定例MTGの議事録定期作成が前提のため、ページ名はすべて日付で作成される。
  • 作成結果はGoogleChatへ投稿される。

コード

コードはこんな感じ、技術的に特別なことはしていないので説明は省略。
強いて言えば、月次処理の日付算出方法は少し考えました。
APIキー方式なのでOAuth方式に変更できると安心かな? 
エラー処理も入れてないし、ツギハギな上にコードレビュー一切してないので、きれいにしたい方はご自由にー。
今後はパラメーターバリデーションを入れる予定。 

なお設定するパラメーターは下記の通り、Spreadsheetも公開しておきますー。
使用時はテンプレートをコピーしてください。
「説明書」シートと「テンプレート」シート以外を読み取って記事を作成します。
  • プロジェクトID:作成先プロジェクトのIDを設定。IDは課題一覧のURLやソースから取れます。
  • スパン:作成スパンの設定、「日次、週次、隔週、月次」が設定可能。
    • 日次の場合は月~金曜日のみ作成する。
  • 週次基準曜日:週次設定時の作成曜日。
  • 隔週基準日:隔週設定時の初回作成日。これを基準日として、処理当日との日数を算出、日数が14の倍数日目だった場合に作成する。
    • 例:2021/4/1(木)を基準日とした場合、4/15(木)は14日目、4/29(木)は28日目と14の倍数日目のため作成する。
  • 月次基準日:1日か、月初各曜日(月~金)、月末最終各曜日(月~金)が設定可能。
  • 親ページ:作成する記事の格納先を設定。設定必須。
    • 設定例:議事録/改善MTG"
  • (ページ名):自動設定。定期作成が前提のため、ページ名単独での設定はなく、処理当日でページ名を作成する。
  • 記事内容:Backlogのwiki記法に沿う、Backlog上で要確認。
  • メール通知:True/False、Backlog本体からの作成通知メールを送信するかしないか。