SiriからGitHub Issueを作成する(iOSショートカット)¶
📁 docs/bot-scheduler/artifact/siri-github-issue.md
概要¶
iOSショートカット + GitHub REST APIを使い、Siriに話しかけるだけでMyLabにissueを追加する。
事前準備:GitHub Personal Access Token(PAT)¶
- GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic)
- Generate new token (classic)
- 設定:
- Note:
siri-github-issue - Expiration: 任意(無期限非推奨)
- Scope: repo にチェック
- 生成したトークンをコピー(
ghp_xxxx...の形式) Credentials/github_pat.jsonに保存済みであれば使い回し可
iOSショートカットの作成手順¶
ショートカットアプリで新規作成¶
- ショートカット アプリを開く
- 右上の 「+」 をタップ
- ショートカット名を 「GitHub Issue追加」 に設定(Siriの起動ワードになる)
アクションの追加(順番通りに)¶
ステップ1:タイトル入力¶
- アクション追加 → 「入力を要求」(Ask for Input)
- プロンプト:
Issueのタイトルを入力してください - 入力タイプ: テキスト
- 結果を 「タイトル」 という変数に保存
ステップ2:本文入力(任意)¶
- アクション追加 → 「入力を要求」(Ask for Input)
- プロンプト:
Issueの詳細(スキップ可) - 入力タイプ: テキスト
- 結果を 「本文」 という変数に保存
ステップ3:GitHub APIを呼び出す¶
- アクション追加 → 「URLのコンテンツを取得」(Get Contents of URL)
- URL:
https://api.github.com/repos/KZ55230/MyLab/issues - メソッド: POST
-
ヘッダー:
キー 値 Authorization Bearer ghp_xxxxxxxxxxxxxxxxxxxxxxContent-Type application/jsonAccept application/vnd.github+jsonX-GitHub-Api-Version 2022-11-28 -
リクエストボディ: JSON
- キー
title→ タイトル変数 - キー
body→ 本文変数
- キー
ポイント: リクエストボディは「テキスト」ではなく 「JSON」 を選択すること。 JSON形式を選ぶと、タイトル・本文に引用符や改行が含まれていても自動でエスケープされる。
ステップ4:結果を通知¶
- アクション追加 → 「辞書の値を取得」
- キー:
number - 辞書: 「URLのコンテンツを取得」の結果
- アクション追加 → 「通知を表示」
- タイトル:
Issue作成完了 - 本文:
#[number変数] [タイトル変数]
Siriから起動する¶
- 「Hey Siri、GitHub Issue追加」と話しかける
- タイトルを音声で入力
- 本文を音声で入力(不要ならそのまま「完了」)
- 通知で作成されたIssue番号を確認
ラベルを付けるには(オプション)¶
ショートカットのステップ1とステップ3の間に以下を追加する。
- アクション追加 → 「リストから選択」(Choose from List)
- リストの項目:
仕事副業知的好奇心(ラベルなし)
- プロンプト:
ラベルを選択 - 結果を 「ラベル」 という変数に保存
ステップ3のリクエストボディに追加: - キー labels → 配列で [ラベル変数]
ラベル名はGitHubに存在するラベルと完全一致させること。
トークンの注意点¶
- PATはショートカット内に直書きになるため、スコープは必要最低限(
repo)に留める - PATが漏洩した場合はすぐに revoke → 再発行
- iPhoneを紛失した場合も即revoke
動作確認(PC側)¶
APIが正しく機能するかローカルで確認: