EN
AI-Led SDLC Enablement

SDLC on ServiceNow

ServiceNow SDK、Git、ReleaseOps、CI/CD パイプラインを使って ServiceNow アプリをビルド・テスト・リリースするための、エンドツーエンドの SDLC ガイドです。

Fluent + SDK でビルド
ATF + Test Agent でテスト
ReleaseOps でリリース

← → で移動  ·  Ashwin Patti, Shelby Cohen

Legal

セーフハーバー条項

[プレースホルダー:本スライドの日本語版セーフハーバー条項(将来の見通しに関する記述についての注意事項)は法務・IR承認前の暫定版です。発表前に、法務承認済みの正式な日本語文言に置き換えてください。]

PLACEHOLDER — PENDING LEGAL/IR-APPROVED JAPANESE TRANSLATION. SEE COMMENT ABOVE FOR ENGLISH SOURCE TEXT.

アジェンダ

今日を、最初から最後まで

👋 ようこそ — 10:00〜17:00。今日一日で、実際のアプリのビルド・テスト・ソース管理・リリースまでを一貫して体験します。

基礎知識

このモデルにおける「アプリ」とは?

「あなたが所有し、ServiceNow プラットフォーム上で構築するすべてを収める永続的なコンテナ。名前、バージョン、スコープを持つ。」

対象範囲

グローバルアプリ、非グローバルアプリ、そして「move and edit」で構築された ITSM 実装 — すべてが同一モデルの下にある。

対象外

「move」による所有権を持たない非グローバルなカスタマイズ — そのメタデータには永続的なコンテナがなく、ServiceNow の所有権のままとなる。

重要な理由

新規構築であっても既存のカスタマイズであっても、開発モデルは一つに統一される。

基礎知識

推奨されるスタック

🛠️

SDK

ビルドエンジン。デプロイ可能なアーティファクトへコンパイル

💻

Studio

IDE / プロダクションコードモード

🌿

Git

ブランチ、PR、マージ

📦

サンドボックス

分離された開発用インスタンス

🤖

Build Agent

AI 支援による実装

ATF

自動テストフレームワーク

🗄️

App Repo

不変のアーティファクトストア

🚀

ReleaseOps

アセス(評価)、承認、リリース

基礎知識

SDK + Fluent = ソース駆動開発

Fluent

TypeScript ベースの DSL — .now.ts ファイルでメタデータを定義し、フォームをクリックして回る代わりに、コンパイル時の型チェックと診断が得られる。

JS モジュール + React

ビジネスロジックは型付きの @servicenow/glide インポートとして記述。UI Page は React、Svelte、Vue、Preact で構築。

インナーループ

$now-sdk build # .now.ts ファイルの診断結果が即座に表示される

続いてインストールとテスト

$now-sdk install --sandbox
基礎知識

Git は正式なソース・オブ・トゥルース

Git

ブランチ分岐、プルリクエスト、行単位のレビュー、3-way コンフリクト解決、任意の時点への正確なロールバック。

Update Set

XML トランスポート用のアーティファクトに過ぎない — コラボレーション、ブランチ分岐、人間が読める diff のために作られたものではない。

この対比については、後ほどソース管理のモジュールで詳しく掘り下げます。

Setup

ソース管理を準備しましょう

休憩

9:55 – 10:10 · Build-ready な要件定義から再開します

Build-ready な要件定義

曖昧なストーリー vs. Build-ready なストーリー

曖昧

「設備担当ユーザーとして、修理してもらうために設備のメンテナンスを依頼したい。」

Build-ready

エンティティ: Maintenance Request、Equipment
ロール: Requester(自分の依頼を作成・参照)、Technician(割り当てられた依頼を参照し、ステータスを更新)
Given–When–Then: Requester が稼働中の Equipment に対して依頼を送信した場合(Given)、送信すると(When)、ルーティングルールに従って「New」状態の Maintenance Request が作成され割り当てられる(Then)。

アクティビティ

あなたの番です:書き直してみましょう

サンドボックスを使う理由

1つのインスタンス、複数の開発者、衝突ゼロ

エージェント型ツールは、大量のメタデータを高速に変更します。共有インスタンス上では、開発者間で最後に書き込んだものが勝つ(last-write-wins)状態になりますが、サンドボックスが影響範囲を閉じ込め、Git がそれを統合します。
🏢

開発用インスタンス

共有、非本番

📦

あなたのサンドボックス

フィーチャーブランチはここに存在

🧪

テスト用インスタンス

開発用とは別

🏭

本番環境

テスト用とは別

開始前にサンドボックスを割り当て、その中でフィーチャーブランチを作成し、作業が終わったら廃棄しましょう。

セットアップ

サンドボックスを準備しましょう

  • 割り当てられたインスタンスにログインできることを確認
  • 開発用サンドボックスが割り当てられていることを確認
  • main からフィーチャーブランチを作成
$git checkout -b feature/maintenance-app
Build Agent

Build Agent とは?

平易な言葉によるプロンプトから、動作するアプリへ — 今日ビルドするのと同じセッション、同じインスタンス上で。

対話的

やりたいことを平易な言葉で説明すると、Build Agent がエンティティ・ロール・ロジックを提案します — フォームをクリックして回る必要はありません。

プラットフォームネイティブ

あなたのアプリのスコープ内に、実際の Fluent メタデータオブジェクトを構築します — 後で捨てる使い捨てのプロトタイプではありません。

フルループ

同じセッションでアプリその ATF テストの両方を生成します — これが次にビルドしていく内容です。

Build Agent

ServiceNow Studio 内の Build Agent

ServiceNow Studio 内の Build Agent チャットパネル。フローのロジックを平易な言葉で説明し、見つかったバグとスケーリング問題の修正案を提示している画面(英語版 UI)

アプリの既存のメタデータを読み取り、フローが実際に何をしているかを平易な言葉で説明し、具体的な修正案を提示します — 汎用的な回答ではなく、あなたのインスタンスに基づいたものです。

Build Agent + ATF

テストは後付けではなく開発ループの中に存在する

テストはアプリのスコープ内に存在し、ビルドしながら作成されます — 後から追加するものではありません。
ビルド+テスト(演習)

メンテナンスアプリのビルド+テスト

  • 👀まず、完成したアプリ — 目指すべきゴール — を見てみましょう。
  • 💬ホワイトペーパーの自然言語による説明を使って Build Agent にプロンプトを与えます。
  • 🧑‍🏫私たちは各テーブルを巡回します — いつでもお気軽にお呼びください。

任意・アーキテクト向け

// Build Agent が裏で生成する Fluent コード
export const MaintenanceRequest = Table({
  label: 'Maintenance Request',
  fields: { equipment: Reference('equipment') }
});
Q&A

質問はありますか?

11:30 – 12:00

ランチ

🍽️

再開まで少々お待ちください

振り返り

ここまでの進捗

ビルド

完了

テスト

完了

🗂️

管理

PR、マージ、公開

🚀

リリース

ReleaseOps、デプロイ

アプリはビルドとテストが完了しました。次はソース管理とリリースです。

Q&A

質問はありますか?

1:45 – 2:00

オフインスタンス開発(演習)

同じアプリを、プラットフォームの外で

ソース管理(演習)

演習:Git でリリースする

📌 押さえておきたい点

Git はブランチ分岐・レビュー・行単位のコンフリクト解決ができます。Update Set にはできません。

休憩

3:00 – 3:15 · ReleaseOps から再開します

ReleaseOps

ReleaseOps:2つのオブジェクト、1つのパイプライン

Deployment Request

ペイロードを格納するコンテナ。Update Set を Deployment Request にプロモートし、「Ready to Assess」にマークすると — アセスメントの手順(Instance Scan → Move to Test → Run ATF)がそれに対して実行されます。

Release

クリアされた Deployment Request を本番環境へ移すレコード — On Demand(即時)または Scheduled(指定日時にまとめて実行)。ReleaseOps のコントローラー環境(通常は本番環境)上に存在します。

ここに到達する経路は2つあります:Update Set を Deployment Request にプロモートする方法(本ラボの方法)、または承認ゲート付きで Git から CI/CD REST API 経由でトリガーする方法(choose-your-own-adventure を参照)。

ReleaseOps(演習)

品質管理のモデル

🔍

Instance Scan

開発用インスタンス上での静的ポリシーチェック

📥

Move to Test

アセスメント開始

Run ATF

機能面のカバレッジ

🚀

Ready for Deploy

リリースの準備完了

ラボ:Deployment Request を作成し、「Ready to Assess」にマークして実行を確認しましょう

Retest

そのままアセスメントを再実行。

Need Code Change

アセスメントは無効化されます — Deployment Request は Draft に戻り、新しいペイロードが必要になります。

Sign Off

手動承認で先に進めます。

Q&A

質問はありますか?

3:45 – 4:00

本番環境へのプッシュ(デモのみ)

プロモート、デプロイ、そして必要であればロールバック

Choose your own adventure(演習)

トラックを選んで深く掘る

Fluent 深掘り

より多くのメタデータ型、UI ビルダーからの transform/sync

テスト深掘り

Test Agent によるトリアージ、Cloud Runner、回帰スイート

CI/CD API

now-sdk cicd、Git トリガーのパイプライン、承認ゲート

MCP 連携

Connect Hub 経由で Figma/Miro を連携し、仕様から直接ビルド

カスタムルール

Build Agent の出力の言葉・用語を変更するルール

ReleaseOps

Deployment Request、アセスメントのプレイブック、Ready for Deploy

興味のあるトラックを自由に探索してください — ご質問はいつでもどうぞ。始め方のヒントは演習を参照してください。

まとめ

1枚の絵にたどる、あなたのアプリ

📝

計画

🛠️

ビルド

🧪

テスト

🗂️

管理

🚀

リリース

Update Set は作業をまとめて運ぶだけのものです — それ以上ではありません。ソース管理ではなく、マージもできません。

ご質問は Ashwin Patti、Shelby Cohen まで。

ありがとうございました

🙏

SDLC ガイド全文、リファレンス、トラブルシューティング:
servicenow.github.io/sdk/guides/sdlc-guide

ボーナス

Build Agent — 統合された SNS & AutoEng Mode

BONUS SLIDE — PENDING/ROADMAP CONTENT PER LEGAL(SLIDE 2). PRESENTER TO FILL IN BEFORE SESSION.

ボーナス

9月リリースで追加される内容

BONUS SLIDE — PENDING/ROADMAP CONTENT PER LEGAL(SLIDE 2). PRESENTER TO FILL IN BEFORE SESSION.

ボーナス

AutoEng Mode における ATF

BONUS SLIDE — PENDING/ROADMAP CONTENT PER LEGAL(SLIDE 2). PRESENTER TO FILL IN BEFORE SESSION.

ボーナス

既存のレガシーアプリへの ATF テスト生成

BONUS SLIDE — PENDING/ROADMAP CONTENT PER LEGAL(SLIDE 2). PRESENTER TO FILL IN BEFORE SESSION.

ボーナス

Build Agent + MCP

プロンプトで手作業により再度説明する代わりに、すでに使っているツール(Figma、Miro)から直接仕様を取り込みます。
🔌

Connect Hub

管理者が Figma/Miro アプリを設定

🛡️

AI Control Tower

管理者が承認

⚙️

あなたの設定

MCP サーバーを有効化(MCP タブ)

🤖

Build Agent

ツールから直接仕様を読み取る

一度だけの管理者設定(Connect Hub + AI Control Tower の承認)を行えば、あとは各開発者が自分の Build Agent 設定で有効化できます。

ボーナス

カスタムルール — 言葉づかいを変える

BONUS SLIDE — PENDING/ROADMAP CONTENT PER LEGAL(SLIDE 2). PRESENTER TO FILL IN BEFORE SESSION.

ボーナス

先取り:次に来るもの

このスライドの内容はすべて方向性を示すものであり、確約ではありません — スライド2のセーフハーバー条項を参照してください。

BONUS SLIDE — PENDING/ROADMAP CONTENT PER LEGAL(SLIDE 2). PRESENTER TO FILL IN BEFORE SESSION.

ボーナス(デモのみ)

Warpspeed デモ

備品リクエスト、休暇申請、請求書処理、アクセス権限付与といった業務プロセスを効率化するワークフロー自動化プラットフォームです。