プロジェクトメモ一覧ガイド
プロジェクト(CSN)とサーバー(lssn)単位で自由形式のメモ(キー・値・メモ)を照会・追加・編集・削除する方法を説明します。ログインが必要なページです。
📋 概要
プロジェクトメモは、特定のプロジェクト(CSN)と論理サーバー(lssn)に紐づくメモを1画面で管理するページです。接続情報・チェックリスト・参照URLなど運用に必要なメモを自由形式(キー / 値 / 詳細メモ)で保存できます。
各メモは次のフィールドで構成されます。
| フィールド | 意味 |
|---|---|
lcSn | メモ通し番号(PK)。編集・削除に使用 |
csn | プロジェクトコード |
lssn | 紐づく論理サーバー番号(任意) |
lcKey | メモのキー(例: ssh-port, admin-url) |
lcVal | メモの値(例: 2222, https://...) |
lcMemo | 自由記述メモ |
🔍 主な機能
1. サーバー(lssn)指定・LSVR選択
上部の lssn 欄に直接サーバー番号を入力するか、[LSVR選択] で現在のプロジェクトのサーバー一覧から選べます。選んだサーバー番号はメモ追加時に一緒に渡されます。
2. プロジェクト(CSN)連携
CSNはURLの ?csn= パラメータ、または現在のセッションのプロジェクトから自動入力されます。上部でプロジェクトを切り替えると、一覧も新しいプロジェクト基準で再照会されます。
3. 照会(Fetch)
[Fetch] を押すと指定プロジェクトのメモが照会されます。結果はデスクトップでは表、モバイルではカードで表示されます。
- URL自動リンク: 値(lcVal)が
http(s)://で始まる場合、新しいタブで開くリンクとして表示されます。 - サーバーリンク: サーバー(lssn)列は該当サーバー詳細(
lsvrdetail)へのリンクになります。
4. 追加 / 編集 / 削除
- 追加: [メモ追加] で現在のCSN・lssnを持ってメモ追加ページ(
prjMemoPut)へ移動します。表内の編集モーダルから直接追加もできます。 - 編集: 各行の [Edit] で該当メモ(lcKey / lcVal / lcMemo)を読み込んだモーダルが開きます。保存時に
lcSnが送られ既存メモが更新されます。 - 削除: 各行の [Delete] で確認ダイアログが表示され、確認するとメモが削除され一覧が再照会されます。削除は元に戻せません。
5. マシン詳細へ移動
[マシン詳細] で入力したlssnのサーバー詳細ページ(lsvrdetail)へ移動します。
🛠️ 利用手順(要約)
- 上部で lssn を入力、または [LSVR選択] でサーバーを選ぶ。
- [Fetch] で現在のプロジェクトのメモを照会する。
- [メモ追加] または行の [Edit] でメモを作成/更新し保存する。
- 不要なメモは行の [Delete] で削除する(確認後すぐに反映)。
🔌 API利用ガイド
この画面はGIIP共用APIエンドポイント(/api/giipApi)に3つのコマンドを呼び出して動作します。ブラウザではログインセッショントークンが自動送信され、外部から直接呼ぶ場合は AK(アクセストークン) を使います。
以下の例は、実ライブ環境(CSN 47)で照会→追加→削除のラウンドトリップとして動作検証した呼び出しと同一です。
共通仕様
- エンドポイント:
POST https://giipfaw.azurewebsites.net/api/giipApi - Content-Type:
application/x-www-form-urlencoded - 認証: フォームフィールド
token/usertokenにAK(ログインユーザーのアクセストークン)を入れます。 - 呼び出し形式:
textにコマンド パラメータ名…(値ではなく パラメータ名)を、jsondataに実際の値をJSONで入れます。- これはcorpMemoなど他のメモ画面と同じ規約です。
| コマンド | 役割 | text | jsondata フィールド |
|---|---|---|---|
prjMemoList | プロジェクトメモ一覧照会 | prjMemoList csn | csn |
prjMemoPut | 追加/更新(upsert) | prjMemoPut csn lssn lcKey lcVal lcMemo(更新時は末尾に lcSn) | csn, lssn, lcKey, lcVal, lcMemo, lcSn? |
prjMemoDel | メモ削除 | prjMemoDel csn lcSn | csn, lcSn |
権限: AKユーザーが該当
csnのメンバー(tCorpUserRel)である必要があります。そうでなければ403 Forbiddenが返ります。AKが無効なら401 Unauthorized。
1) 一覧照会 — prjMemoList
curl -X POST "https://giipfaw.azurewebsites.net/api/giipApi" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "token=YOUR_AK" \
--data-urlencode "usertoken=YOUR_AK" \
--data-urlencode "text=prjMemoList csn" \
--data-urlencode 'jsondata={"csn":47}'
応答(例) — 各行にメモフィールドと tags(タグのJSON配列、無ければ null)が含まれます。
[
{ "lcSn": 12, "csn": 47, "lssn": 71198, "lcKey": "ssh-port", "lcVal": "2222", "lcMemo": "点検用ポート", "tags": null }
]
メモが無い場合は空の応答が返ります。
2) 追加 / 更新 — prjMemoPut
lcSn を 省略すると新規追加、lcSn を 一緒に送ると更新(upsert)です。更新時は text の末尾に lcSn を付けます。
# 追加(insert)
curl -X POST "https://giipfaw.azurewebsites.net/api/giipApi" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "token=YOUR_AK" \
--data-urlencode "usertoken=YOUR_AK" \
--data-urlencode "text=prjMemoPut csn lssn lcKey lcVal lcMemo" \
--data-urlencode 'jsondata={"csn":47,"lssn":71198,"lcKey":"admin-url","lcVal":"https://portal.example.com","lcMemo":"管理コンソール"}'
# 更新(update) — lcSn を含める
$body = @{
token = "YOUR_AK"
usertoken = "YOUR_AK"
text = "prjMemoPut csn lssn lcKey lcVal lcMemo lcSn"
jsondata = '{"csn":47,"lssn":71198,"lcKey":"admin-url","lcVal":"https://portal2.example.com","lcMemo":"URL変更","lcSn":12}'
}
Invoke-RestMethod -Method Post -Uri "https://giipfaw.azurewebsites.net/api/giipApi" `
-ContentType "application/x-www-form-urlencoded" -Body $body
応答(例) — 保存後の更新済み一覧と、生成/更新された lcSn を返します。
[ [ { "lcSn": 12, "csn": 47, "lcKey": "admin-url", "lcVal": "https://portal.example.com", "tags": null } ], [ { "lcSn": 12 } ] ]
3) 削除 — prjMemoDel
curl -X POST "https://giipfaw.azurewebsites.net/api/giipApi" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "token=YOUR_AK" \
--data-urlencode "usertoken=YOUR_AK" \
--data-urlencode "text=prjMemoDel csn lcSn" \
--data-urlencode 'jsondata={"csn":47,"lcSn":12}'
応答(例)
{ "status": "Success", "lcSn": 12 }
結果コード(RstVal)
| RstVal | 意味 | 対処 |
|---|---|---|
| (正常) | 成功。データ行または status:"Success" を返す | — |
| 401 | Unauthorized — AK無し/無効 | token/usertoken に正しいAKを入れる |
| 403 | Forbidden — 該当CSNの権限なし | AKユーザーがそのプロジェクトのメンバーか確認 |
全結果コード定義は API結果コードガイド(RstVal) を参照してください。
💡 注意事項
- CSNが空だと照会結果が表示されないことがあります。先にプロジェクトを指定してください。
- 削除は確認後すぐ反映され、復元できません。
lcValにURLを入れると一覧から直接クリックでき、リンク保管庫のように使えます。
🔧 トラブルシューティング
| 症状 | 原因 | 解決 |
|---|---|---|
| メモが照会されない | CSNが空/誤り | 上部で正しいプロジェクトを指定し [Fetch] |
| APIが401を返す | AK無し/無効 | token/usertoken に有効なAKを送る |
| APIが403を返す | AKユーザーが該当CSNの非メンバー | プロジェクトメンバーシップ(tCorpUserRel)を確認 |
| 更新が新規メモとして保存される | リクエストに lcSn 欠落 | text 末尾に lcSn を付け、jsondataに lcSn を含める |
| 削除が失敗する | 結果に lcSn が無い/セッション期限切れ | 一覧を再照会、または再ログイン後に再試行 |
バージョン: 1.0
最終更新: 2026-07-24
ソースファイル: giipv3/public/help/prjmemolist.ja.md