PowerShell で Redmine のチケットNoのフォルダを作成して配下に URLショートカット と PDF を作成する

Redmine でタスク管理を行っている。
対象チケットのフォルダをローカルに作成して、そこに必要なファイルを置いて作業している。

毎回、チケットNoのフォルダを作成して、その配下にチケットへのショートカット、チケットのPDFの取得とかしているので、一気にやっておく。
特に PDF はチケットを更新すると、ローカルのモノが古くなるので、スクリプトでサクッと取得できると助かる。

前提条件

  • Windows 10 Professional
  • $PSVersionTable PSVersion=5.1.15063.1387
  • ファイルを選択し右クリック → PowerShell で実行
  • チケットNo.は # を含む(#99999)

create_redmine_folder.ps1

$ticketNo = Read-Host "RedmineのチケットNo.を入力して下さい。"

$ticketFolder = "$PSScriptRoot\$ticketNo"
$ticketId = $ticketNo.remove(0, 1)
$ticketUrl = "http://{ドメイン名}/issues/$ticketId"
$apiAccessKey = "{APIアクセスキー}"

New-Item $ticketFolder -ItemType Directory -Force

$wShell = New-Object -ComObject WScript.Shell
$shortcut = $wShell.CreateShortcut("$ticketFolder\ショートカット_$ticketNo.url")
$shortcut.TargetPath = ($ticketUrl)
$shortcut.Save()

Invoke-WebRequest -Uri "$ticketUrl.pdf?key=$apiAccessKey" -OutFile "$ticketFolder\$ticketNo.pdf"