> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qoder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 自動タスク

> Waker にスケジュール・イベント・API リクエストでバックグラウンドタスクを実行させます。日報、巡回点検、リポジトリイベント分析、外部チケット処理などの繰り返し作業に最適です。

自動タスクは、Waker にスケジュール・イベント・API リクエストに基づいてバックグラウンドで固定タスクを実行させる機能です。日報、巡回点検、リポジトリイベント分析、外部チケット処理などの繰り返し作業に適しています。

<Tip>
  **操作フロー：** Waker とワークスペースを準備 → タスクを作成 → スケジュール・イベント・API トリガーを選択 → 即時実行して検証。
</Tip>

作成前に、タスクを実行する Waker と利用可能なワークスペースがあることを確認してください。ローカルディレクトリを使用する場合、ローカルマシンの QoderWake を起動したままにする必要があります。外部システムを呼び出す場合は、対応する Skill またはコネクタを事前にインストールし検証してください。途中で人間の確認が必要なタスクは WakerFlow を使用してください。

## 自動タスクの作成

**操作手順：**

1. 「Waker 管理」から対象の Waker を開き、「自動タスク」に入ります。
2. 「新規作成」をクリックし、名前を入力してローカルディレクトリまたはプロジェクトを選択します。
3. タスク説明に入力範囲、処理要件、出力形式、禁止事項を明記します。
4. モデルを選択し、少なくとも 1 つのトリガー方式を設定します。
5. 必要に応じて最大実行回数または期限を設定し、「保存」をクリックします。
   <img src="https://mintcdn.com/qoder/WdEeuYQHmOxkGNIJ/images/qoderwake/fig-6-1-en.png?fit=max&auto=format&n=WdEeuYQHmOxkGNIJ&q=85&s=2773dc556eaaa98bc18e610fed3d0e21" alt="" width="1280" height="720" data-path="images/qoderwake/fig-6-1-en.png" />

名前は「対象 + アクション + 頻度」のパターンを推奨します（例：「メインリポジトリ毎日リスク巡回」）。タスク説明にはチェック範囲、処理手順、出力先、成功基準、禁止操作を含めてください。API トリガーの場合は `{{field}}` でリクエストフィールドを参照できます。

**完了判断：**

* リストに新しいタスクが表示され、名前、ワークスペース、モデル、トリガー方式が正しい。
* ステータスが「有効」になり、次回実行時刻または API/イベント情報が表示されている。

## スケジュールトリガーの設定

スケジュールトリガーは、日報、週報、定期巡回、定期集計に適しています。

1. 「スケジュール」を選択し、一回限りまたは定期的なルールを設定します。
2. ページに表示される「次回実行」時刻とシステムタイムゾーンを確認します。
3. 必要に応じて最大実行回数と期限を設定し、タスクを保存します。
4. 初回は数分後に実行するよう設定し、成功を確認してから本番のスケジュールに変更します。

ローカルディレクトリを使用する場合、予定時刻にコンピュータ、QoderWake、対象ディレクトリが利用可能でなければなりません。スケジュール実行には数分のスケジューリング遅延が発生する場合があります。

### シナリオ例：DWS MCP を使用した毎日のグループチャットサマリー作成

まず Waker 詳細 →「コネクタ」→「システム」で DWS の認可を完了し、通常の会話で読み取りと送信機能を検証します。初回はテストグループを使用し、タスク説明に対象グループ、時間範囲、サマリー形式、送信時刻を明記します。

<img src="https://mintcdn.com/qoder/WdEeuYQHmOxkGNIJ/images/qoderwake/fig-6-2-en.png?fit=max&auto=format&n=WdEeuYQHmOxkGNIJ&q=85&s=34da37d14d623a62ed31beda9f26f3c5" alt="" width="1280" height="720" data-path="images/qoderwake/fig-6-2-en.png" />

1. 新しいタスクを開き、有効ステータス、次回実行時刻、対象グループ、時間範囲、送信先を確認します。
2. 「今すぐ実行」をクリックし、実行履歴とテストグループのサマリーを確認します。
3. 正しいメッセージが 1 件だけ送信されたことを確認してから、本番グループと本番スケジュールに切り替えます。
   <img src="https://mintcdn.com/qoder/WdEeuYQHmOxkGNIJ/images/qoderwake/fig-6-3-en.png?fit=max&auto=format&n=WdEeuYQHmOxkGNIJ&q=85&s=529791d231b1fd8f9035633b648ed784" alt="" width="1269" height="714" data-path="images/qoderwake/fig-6-3-en.png" />
   <img src="https://mintcdn.com/qoder/WdEeuYQHmOxkGNIJ/images/qoderwake/fig-6-4-en.png?fit=max&auto=format&n=WdEeuYQHmOxkGNIJ&q=85&s=7b92241429fffad34b91f33296eea018" alt="" width="1280" height="720" data-path="images/qoderwake/fig-6-4-en.png" />

間違ったグループに送信された場合は、直ちにタスクを一時停止し、テストグループで再検証します。タスクがトリガーされない場合は時刻と有効ステータスを確認し、メッセージ呼び出しが失敗した場合は DWS の認可と接続状態を確認します。

## イベントトリガーの設定

イベントトリガーは、GitHub Issue、Pull Request、コメントの変更、または現在のページで提供されるその他のプラグインイベントに適しています。

1. 「イベント」とイベントソースを選択し、ページの指示に従って認可を完了します。
2. 関心対象、変更タイプ、リポジトリ・ブランチ・タグなどのフィルター条件を設定します。
3. タスクを保存して有効にします。ページに「テストチェック」がある場合は先に 1 回実行します。
4. 外部システムでテストイベントを作成し、「イベントアクティビティ」と「実行履歴」で結果を確認します。

Webhook アドレスは現在のページで生成された値をコピーしてください。手動で組み立てないでください。ステータスが「未割り当て」または「同期中」と表示される場合は、しばらく待ってからリフレッシュしてください。

**完了判断：** 外部テストイベントが「イベントアクティビティ」に表示され、正しいソースの新しいレコードが実行履歴に追加され、セッション詳細の入力がテストイベントと一致している。

イベントが発生したがタスクが実行されない場合は、認可、フィルター条件、タスクの有効ステータスを確認してください。

## API トリガーの設定

API トリガーは、チケットプラットフォーム、CI/CD、またはビジネスシステムが Waker を能動的に呼び出す場合に適しています。

1. 「API」トリガー方式を追加してタスクを保存します。
2. 詳細ページでシステムが生成した POST アドレス、認証方式、リクエストボディをコピーします。手動で組み立てないでください。
3. 呼び出し元からテストリクエストを送信します。
4. 実行履歴でソースが API であることを確認し、セッション詳細を開いて結果を確認します。

Qoder パブリック API は個人アクセストークン（PAT）による Bearer 認証を使用します。Qoder コンソール →「個人設定」→「サービス統合」でトークンを作成できます。トークンは一度だけ表示されるため、呼び出しシステムの保護された資格情報に保存してください。例：

```bash theme={null}
curl -X POST 'https://api.qoder.com/v1/qoderwake/automation/invoke/<auto_generate_invoke_key>' \
  --header 'Authorization: Bearer pt-your-token-here' \
  --header 'Content-Type: application/json' \
  --data '{
    "prompt": "your appended prompt here"
  }'
```

呼び出しキーと PAT のプレースホルダー値を置き換え、常に現在の詳細ページのリクエスト例を参照してください。タスク説明で `{{field}}` を使って Payload フィールドを参照できます。フィールド名は大文字・小文字を区別します。同じビジネスセッションを再利用する場合は `wakeSessionUniqueId` を渡します。これは冪等キーではなく、異なる顧客やプロジェクト間で共有してはいけません。

**完了判断：** ソースが API の新しいレコードが実行履歴に表示され、セッションが正しい入力を受け取り、最終成果物がタスク説明に一致している。API リクエストの成功はビジネスロジックの実行完了を意味しません。実行履歴とセッション詳細の確認が引き続き必要です。

<Warning>
  **セキュリティに関する注意：** 実際の PAT をリポジトリ、タスク説明、スクリーンショット、ログに記載してはいけません。漏洩した場合は直ちに失効させて再作成してください。
</Warning>

## タスクの管理と実行結果の確認

タスクカードの「その他」メニューで、一時停止、再開、編集、コピー、削除、即時実行が可能です。削除前に履歴が不要であることを確認してください。一時停止中のタスクは通常、再開してからでないと即時実行できません。

タスク詳細に入ったら、以下に注目します：

| エリア            | 用途                |
| -------------- | ----------------- |
| タスク説明とワークスペース  | 実際のタスクとディレクトリを確認  |
| トリガー方式 / 次回実行  | トリガー設定と有効ステータスを確認 |
| イベントアクティビティ    | 外部イベントが受信されているか確認 |
| 実行履歴 / セッション詳細 | ソース、ステータス、配信内容を確認 |

**完了判断：** 実行ステータスが成功、ワークスペースと入力が正しい、成果物または外部アクションがタスク説明に一致、テスト内容が本番ディレクトリや実際の外部オブジェクトに入っていない。

## 自動タスク失敗時のトラブルシューティング

| 現象               | 確認順序                                                            |
| ---------------- | --------------------------------------------------------------- |
| 予定時刻に実行されない      | タスクが有効か → 次回実行時刻とタイムゾーン → 最大回数 / 期限 → ローカルマシンがオンラインか            |
| イベントがトリガーされない    | ソースの認可 → リポジトリまたはオブジェクト → 変更タイプとフィルター条件 → イベントアクティビティにレコードがあるか  |
| API 呼び出しが失敗      | ページの最新エンドポイントを使用 → 認証 → Content-Type と JSON → ゲートウェイの同期が完了しているか |
| タスク開始直後に失敗       | ワークスペースが存在するか → モデルが利用可能か → Waker がオンラインか → Skill / コネクタが準備完了か  |
| Payload が注入されない  | プレースホルダーのパスと大文字・小文字 → リクエストボディのフィールド                            |
| ビジネスコンテキストの混乱    | `wakeSessionUniqueId` が無関係なビジネスフローで再利用されていないか確認                 |
| 成功したが期待される成果物がない | タスク説明の出力先、形式、成功基準を確認                                            |

トラブルシューティング時は、まず「今すぐ実行」でトリガーの問題を切り分けます：手動実行が成功し自動トリガーが失敗する場合はトリガー設定に注目し、手動実行も失敗する場合はタスク説明、ワークスペース、モデル、機能、権限に注目します。
