開発者向け機能:サーバスクリプト:items.GetSiteByGroupName
## 概要
[itemsオブジェクト](/ja/manual/server-script-items)の「GetSiteByGroupNameメソッド」です。指定したサイトグループ名をもとにサイト情報を取得します。
## 構文
```
items.GetSiteByGroupName(groupName)
```
## パラメータ
|パラメータ|型|必須|説明|
|:----------|:----------|:---:|:---------------------------|
|groupName|object|○|サイトグループ名を指定|
## 戻り値
該当するサイトの[apiModel](/ja/manual/server-script-api-model)の配列を返却します。
## 使用例
以下の例では、サイト名が "SiteAdministrationGroup" のサイト情報を取得します。
```
const sites = Array.from(items.GetSiteByGroupName('SiteAdministrationGroup'));
if (sites.length) {
sites.forEach(site => {
context.Log(site.SiteId);
context.Log(site.Title);
context.Log(site.ReferenceType);
});
}
```
## サンプルコード
<details>
<summary>1. 指定したサイトグループ名で支店ごとの未着手の件数を一覧表示する</summary>
サイトグループ名が一致する全サイトを一括取得し、支店ごとの「未着手」の件数を集計します。
### 実務での使いどころ
複数拠点・複数案件のように同じ構成のサイトが増えていく運用で、リンク設定やサイトIDの管理をせずに集計対象を束ねられます。
新しい支店サイトを追加した場合も、サイトグループ名を設定するだけで自動的に集計対象へ加わります。
本部サイトから横断的に状況を集計したいダッシュボード的な用途に向いています。
### 前提条件
あらかじめ、集計対象にしたい各サイトの「サイトの設定」→「その他」→「サイトグループ名」に、共通の値を設定しておく必要があります。
同じグループ名を他の用途で使い回すと、意図しないサイトまで集計対象に含まれてしまうため、目的が分かる名前を付けてください(例:本部集計_サマリ用)。
##### JavaScript
```
// 実行条件:一覧表示前
const GROUP_NAME = '本部集計_サマリ用';
const STATUS_UNPROCESSED = 100; // 未着手
const sites = Array.from(items.GetSiteByGroupName(GROUP_NAME));
if (!sites.length) {
logs.LogUserError(`${GROUP_NAME} に該当するサイトが見つかりませんでした`, 'GroupSummary');
} else {
sites.forEach((site) => {
const view = {
View: {
ColumnFilterHash: {
Status: `["${STATUS_UNPROCESSED}"]`
}
}
};
const records = items.Get(site.SiteId, JSON.stringify(view));
context.Log(`${site.Title}(${site.SiteId})の未着手: ${records.Length}件`);
});
}
```
##### 実行結果
```
東京支店(16491)の未着手: 11件
大阪支店(16492)の未着手: 24件
福岡支店(16493)の未着手: 8件
```
</details>
## 関連情報
・[テーブルの管理:サーバスクリプト](/manual/table-management-server-script)
・[オブジェクトごとの実行タイミング](/manual/server-script-conditions)
・[itemsオブジェクト](/manual/server-script-items)



