
PagerDutyの Incident Custom Fields と Service Custom Fields の違いをまとめてみた
こんにちは。たかやまです。
最近PagerDutyでサービスやインシデントに独自の情報を持たせたい場面があり、Custom Fieldsの設定を調べていました。
ただPagerDutyにはCustom Fieldsが2種類あります。
2つのCustom Fieldsの使い分けについて迷ったので調べた内容を整理しました。
このブログではService Custom FieldsとIncident Custom Fieldsの違いと使い分けをまとめていきます。
さきにまとめ
一例になりますが、以下のような使い分けでどちらを使うかを判断することができます。
| 記録したい情報 | 向いている方 |
|---|---|
| 環境(production/staging)、リージョン、技術オーナー、重要度 | Service |
| サービス分類・Service Directory検索・サービス単位レポート | Service |
| Major / Securityなど種別ごとに異なる対応記録 | Incident |
| インシデント対応中に変わる情報、1件ごとの判断 | Incident |
| オペレータがインシデント画面から入力・変更する情報 | Incident |
Custom Fieldsとは
PagerDutyのCustom Fieldsは、サービスやインシデントに独自の情報を持たせるための機能です。
たとえばサービスに「本番環境か検証環境か」「どのチームがオーナーか」といった属性を付けたり、インシデントに「対応種別」「影響範囲」といった記録を残すことが可能です。
Custom Fieldsは付与対象によって2種類に分かれています。
Custom Fields on Incidents
インシデントに付与するCustom Fieldsです。
- 付与対象はインシデントで、値はインシデントごとに1セット持つ
- フィールド定義はIncident Type単位で行う(親Typeからの継承あり)
- インシデント対応中に変わる情報や、種別ごとに異なる対応記録に向いている
Custom Fields on Services
Service Directoryのサービスに付与するCustom Fieldsです。2025年8月に一般提供(GA)が開始された比較的新しい機能のようです。
- 付与対象はサービスで、値はサービスごとに1セット持つ
- フィールド定義はアカウント内の全サービスに共通で付与される
- 環境(production/staging)、リージョン、技術オーナーといったサービスのメタデータ管理に向いている
Custom Fieldsの比較一覧
以下ではService Custom FieldsとIncident Custom Fieldsの違いを比較していきます。
基本
| 観点 | Service Custom Fields | Incident Custom Fields |
|---|---|---|
| 付与対象 | サービス(Service Directory) | インシデント |
| 値の単位 | サービスごとに1セット | インシデントごとに1セット |
| 定義のスコープ | アカウント内の全サービス共通 | Incident Type単位(継承あり) |
| 相互連携 | 別システム。自動同期・自動表示なし | 同上 |
UIでの管理・閲覧場所
| 操作 | Service Custom Fields | Incident Custom Fields |
|---|---|---|
| フィールド定義の作成 | 「Services」→「Service Custom Fields」 | 「Incidents」→「Incident Types」→ 対象Type →「Fields」 |
| 値の閲覧・編集 | Service Directoryのサービス詳細 →「Custom Fields」タブ | インシデント詳細 →「Custom Fields」セクション →「Edit Fields」 |
| 一覧検索 | Service Directoryの検索バー | Insights / Incident Activityなど |
Service Custom Fields
ベースの設定は 「Services」→「Service Custom Fields」から行います。

設定がされると全てのServiceに対してフィールドの入力が可能になります。

Incident Custom Fields
ベースの設定は 「Incidents」→「Incident Types」→ 対象Type →「Fields」から行います。

こちらも設定がされると全てのIncident Typeに対してフィールドの入力が可能になります。

権限
| 操作 | Service Custom Fields | Incident Custom Fields |
|---|---|---|
| 定義の作成・編集・削除 | Account Owner / Global Admin | Account Owner / Admin |
| 値の閲覧・編集 | サービスの閲覧・編集権限を持つユーザー | インシデントの閲覧・編集権限を持つユーザー |
プラン・上限
Service Custom Fieldsの上限です。
| プラン | 有効フィールド上限 |
|---|---|
| Business | 15 |
| Enterprise for Incident Management | 30 |
enabledとdisabledの合計は35までで、disabledは有効上限にカウントされません。
Incident Custom Fieldsの上限です。
| プラン | Base Incident Type | アカウント合計 |
|---|---|---|
| Business / Ops Cloud Essentials | 15 | 45 |
| Enterprise for Incident Management / Ops Cloud Plus・Ultimate | 100 | 130 |
Incident Typeあたりの上限は最大15です。Service側と異なり、disabledのフィールドも上限にカウントされます。
フィールド型
利用できる型はほぼ共通ですが、ParagraphだけIncident側のみ対応しています。
| 型 | Service | Incident |
|---|---|---|
| Text | ○ | ○ |
| Single Select | ○ | ○ |
| Multiple Select | ○ | ○ |
| Tag | ○ | ○ |
| URL | ○ | ○ |
| Checkbox | ○ | ○ |
| Datetime | ○ | ○ |
| Decimal | ○ | ○ |
| Integer | ○ | ○ |
| Paragraph | × | ○ |
モバイルアプリ
| Service | Incident | |
|---|---|---|
| 閲覧 | 非対応 | ○ |
| 編集 | 非対応 | ○ |
Service Custom Fieldsはモバイルアプリに対応していません。公式FAQでは将来対応予定とされています。
Analytics / レポート
| Service | Incident | |
|---|---|---|
| 主な利用先 | 「Analytics」→「Insights」→ Service Performanceフィルタ | Incident Activityレポート(列追加・フィルタ) |
自動化・連携
| 機能 | Service | Incident |
|---|---|---|
| REST API | ○ | ○ |
| Terraform | pagerduty_service_custom_field など |
pagerduty_incident_custom_field など |
| Event Orchestrationで値設定 | ×(インシデント値の設定はIncident側) | ○ |
| Incident Workflow条件 | 同一の値を持つサービス群の指定など | ○(Business: Single Selectのみ / Enterprise: 全フィールド) |
| ServiceNow双方向sync | 開発中 | ○(Custom Field Mappings) |
| Slack / Teamsで値更新 | × | ○ |
| Webhookイベント | × | ○(incident.custom_field_values.updated) |
現時点(2026/7)では自動化・外部連携まわりはIncident Custom Fieldsの方が充実している印象です。
なお、メールやSMSなどの通知にCustom Fieldsの値を選択して表示することは、どちらも対応していません。
運用上の注意点
作成後に変更できない属性がある
両方に共通して、以下の属性は作成後に変更できません。
- Field Name(API参照名。小文字・数字・アンダースコアのみ)
- Field Type(データ型)
命名規則とデータ型は作成前に決めておく必要があります。
DisableとDeleteの挙動
Deleteを実行すると、Service側は全サービスから、Incident側は全Incident Typeと既存インシデントからフィールドと値が永久削除されます。復元できないため、まずはDisableで運用を止めて様子を見るのが安全です。
| 操作 | 挙動 |
|---|---|
| Disable | 編集不可になるが、既存値は詳細画面に表示されたまま |
| Delete | フィールドと値が全対象から永久削除される |
最後に
PagerDutyの2種類のCustom Fields(Service / Incident)の違いと使い分けをまとめました。
名前が似ていて混同しやすいですが、付与対象・定義スコープ・上限・連携機能まで異なる別の機能です。
この記事がどなたかの参考になれば幸いです。
以上、たかやま(@nyan_kotaroo)でした。








