request-fulfillment について
request-fulfillmentは、サービスカタログの依頼を受付から履行、完了まで扱うServiceNowスキルです。履行担当者向けに、依頼の階層、タスク更新、承認、キャンセルや一部履行などの例外処理を案内します。
主な機能
- 01依頼・アイテム・タスクの階層
- 02保留中の依頼とタスクの検索
- 03依頼変数の確認
- 04タスク進捗と作業メモの更新
- 05承認状態の処理
- 06依頼とタスクの完了処理
活用シーン
- 01履行待ちの依頼を確認
- 02履行グループに割り当てられたタスクを追跡
- 03却下またはキャンセルされた依頼に対応
- 04子タスク完了後にアイテムを閉じる
MCP 対応
SN-Query-Table、SN-Update-Record、SN-Add-Work-NotesなどのMCPツールで、ServiceNowの依頼、アイテム、タスク、承認レコードを取得・更新します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ happy-technologies-llc/ happy-platform-skills --skill request-fulfillmentインストール後、Claude Code で/request-fulfillmentを入力して読み込まれたか確認します。
詳細
サービスカタログのリクエスト処理
概要
このスキルでは、サービスカタログのリクエスト処理に関するエンドツーエンドのプロセスを扱います。
- リクエストの構造(Request → Item → Task)の理解
- 受信したリクエストの処理
- 処理タスクの管理
- 承認ワークフロー
- リクエストの適切なクローズ
使用する場面: サービスカタログのリクエストを処理する場合、リクエストキューを管理する場合、または処理上の問題をトラブルシューティングする場合。
前提条件
- ロール:
catalog_admin、itil、または処理グループへの所属 - アクセス権: sc_request、sc_req_item、sc_task テーブル
- 知識: サービスカタログの構造、処理ワークフロー
手順
ステップ 1:リクエスト階層を理解する
ServiceNow では、次の 3 階層の階層構造を使用します。
sc_request (Request)
├── sc_req_item (Requested Item) - One per catalog item ordered
│ ├── sc_task (Catalog Task) - Fulfillment tasks
│ └── sc_task (Catalog Task) - Additional tasks
└── sc_req_item (Requested Item) - If multiple items ordered
└── sc_task (Catalog Task)
主なフィールド:
| テーブル | 主なフィールド |
|---|---|
| sc_request | number, requested_for, stage, approval |
| sc_req_item | request, cat_item, stage, variables |
| sc_task | request_item, assignment_group, state |
ステップ 2:保留中のリクエストを検索する
処理待ちのリクエストを検索する:
Tool: SN-Query-Table
Parameters:
table_name: sc_req_item
query: stage=requested^assignment_group=[your_group_sys_id]
fields: number,short_description,cat_item,requested_for,sys_created_on
limit: 50
自分のグループに割り当てられたタスクを検索する:
Tool: SN-Query-Table
Parameters:
table_name: sc_task
query: state=1^assignment_group=[your_group_sys_id]
fields: number,short_description,request_item,assigned_to,priority
limit: 50
ステップ 3:リクエストの詳細を確認する
変数を含むリクエスト項目の全情報を取得する:
Tool: SN-Query-Table
Parameters:
table_name: sc_req_item
query: number=RITM0012345
fields: sys_id,number,short_description,description,cat_item,requested_for,opened_by,variables
変数値は sc_item_option_mtom テーブルに保存されます。
Tool: SN-Query-Table
Parameters:
table_name: sc_item_option_mtom
query: request_item=[ritm_sys_id]
fields: sc_item_option,item_option_new.value,item_option_new.item_option_new.question_text
ステップ 4:処理タスクを進める
タスクを受け入れる/開始する:
Tool: SN-Update-Record
Parameters:
table_name: sc_task
sys_id: [task_sys_id]
data:
state: 2 # Work in Progress
assigned_to: [your_user_sys_id]
work_notes: "Starting fulfillment work"
進捗を記録する:
Tool: SN-Add-Work-Notes
Parameters:
sys_id: [task_sys_id]
table_name: sc_task
work_notes: |
Fulfillment Progress:
1. ✅ Verified request details
2. ✅ Checked inventory availability
3. 🔄 Provisioning in progress
4. ⏳ Pending: Delivery scheduling
ステップ 5:承認を処理する
承認状況を確認する:
Tool: SN-Query-Table
Parameters:
table_name: sysapproval_approver
query: sysapproval=[ritm_sys_id]
fields: approver,state,sys_updated_on,comments
承認状態:
not yet requested- 承認が開始されていませんrequested- 承認者の応答待ちですapproved- 承認済みですrejected- 却下されましたcancelled- キャンセルされました
却下された場合は、リクエスト者に通知する:
Tool: SN-Update-Record
Parameters:
table_name: sc_req_item
sys_id: [ritm_sys_id]
data:
stage: Request Cancelled
comments: "Your request was not approved. Reason: [rejection reason]. Please contact your manager for more information."
ステップ 6:処理を完了する
処理タスクをクローズする:
Tool: SN-Update-Record
Parameters:
table_name: sc_task
sys_id: [task_sys_id]
data:
state: 3 # Closed Complete
close_notes: |
Fulfillment Complete:
- Software installed on LAPTOP-12345
- User notified via email
- Verified user can access application
work_notes: "Task completed successfully"
リクエスト項目をクローズする: すべてのタスクが完了したら、RITM をクローズします。
Tool: SN-Update-Record
Parameters:
table_name: sc_req_item
sys_id: [ritm_sys_id]
data:
stage: Closed Complete
close_notes: "All fulfillment tasks completed. User has been notified."
親リクエストをクローズする: すべての RITM が完了したら、親リクエストをクローズします。
Tool: SN-Update-Record
Parameters:
table_name: sc_request
sys_id: [req_sys_id]
data:
stage: Closed Complete
request_state: closed_complete
ステップ 7:特殊なケースに対応する
リクエストのキャンセル:
Tool: SN-Update-Record
Parameters:
table_name: sc_req_item
sys_id: [ritm_sys_id]
data:
stage: Request Cancelled
close_notes: "Cancelled per user request via email dated 2026-02-06"
一部のみ処理する場合:
Tool: SN-Update-Record
Parameters:
table_name: sc_req_item
sys_id: [ritm_sys_id]
data:
stage: Closed Incomplete
close_notes: "Partial fulfillment: Software installed but license limit reached. Remaining 5 licenses on backorder."
リクエスト/項目のステージ
Request Stages:
Requested → Approved → Delivery → Closed Complete
↘ Rejected → Request Cancelled
RITM Stages:
Waiting for Approval → Fulfillment → Delivery → Closed Complete
↘ Request Cancelled
ツールの使用概要
| 操作 | MCP ツール | テーブル |
|---|---|---|
| リクエストの検索 | SN-Query-Table | sc_request |
| 項目の検索 | SN-Query-Table | sc_req_item |
| タスクの検索 | SN-Query-Table | sc_task |
| ステータスの更新 | SN-Update-Record | sc_task/sc_req_item |
| 作業メモの追加 | SN-Add-Work-Notes | sc_task |
| 承認の確認 | SN-Query-Table | sysapproval_approver |
ベストプラクティス
- 最初に承認を確認する: 承認されるまでは処理を開始しないでください
- 変数を記録する: 具体的に何がリクエストされたかを記録してください
- 定期的に更新する: 可視性を保つため、作業メモを最新の状態にしてください
- 完了を確認する: クローズする前にリクエスト者に確認してください
- 親レコードをクローズする: すべての RITM が完了したら、REQ がクローズされることを確認してください
- SLA を意識する: SLA の目標に対する処理時間を監視してください
トラブルシューティング
リクエストが「承認待ち」のまま進まない
原因: 承認者が応答していないか、承認ルールに問題があります
解決策:
- sysapproval_approver で承認者を確認する
- リマインダーを送信するか、エスカレーションする
- ワークフローにエラーがないか確認する
タスクが自動生成されない
原因: ワークフローが公開されていないか、実行時に問題が発生しています
解決策:
- ワークフローコンテキストにエラーがないか確認する
- ワークフローが公開済みであることを確認する
- 必要に応じてタスクを手動で作成する
RITM をクローズできない
原因: 子タスクが未完了です
解決策: まずすべての sc_task レコードをクローズしてから、RITM をクローズしてください
関連スキル
catalog/item-creation- カタログ項目の作成itsm/incident-lifecycle- リクエストがインシデントになった場合admin/workflow-creation- 処理ワークフロー