api_post() メソッド

HighBond API に POST 要求を送信します。

構文

hcl.api_post("HighBond API 要求詳細", data = 要求ペイロード)

パラメーター

名前 説明
HighBond API 要求詳細

Diligent One リソースの要求詳細。

hcl.api_post は要求詳細の標準部分を自動的にバックグラウンドで提供します。デフォルト値を上書きしたい場合を除き、これらの要求要素を明示的に指定する必要はありません。

  • ホスト情報

  • Diligent One のリージョン

  • Diligent One インスタンス ID(組織 ID)

  • ヘッダー情報

特定の Diligent One リソースの要求構文については、HighBond API リファレンスを参照してください。

メモ

ホスト情報を明示的に指定する場合、HighBond API との接続には HTTPS プロトコルを使用する必要があります。例:https://apis-us.highbond.com

data = 要求ペイロード

Diligent One API サーバーに送信するデータ。

ペイロードデータは、JSON 形式である必要があります。

戻り値

HighBond API サーバーからの応答オブジェクト。

Diligent One プロジェクトで問題を作成する

JSON フォーマットを使用する要求ペイロードを構築し、そのペイロードを payload 変数に代入します。次に、hcl.api_post メソッドを使用し、メソッド内で payload 変数を参照し、ID 19756 を持つプロジェクトに問題を作成します。

ヒント

ペイロード構文をすばやく構築するには、適切なペイロード構文ブロックを HighBond API リファレンスからコピーします。ペイロード ブロックをコピーした後、空のままにする予定のキーと値のペアを削除します。

payload = {"data":
        { 
            "type": "issues",
            "attributes": {
                "description": "Description of issue",
                "owner": "Jane Sleaman",
                "deficiency_type": "Deficiency",
                "title": "Data retention and backup",
                "severity": "High",
                "published": True,
                "identified_at": "2021-11-01T18:15:30Z"
                    }
                }
            }

hcl.api_post("projects/19756/issues", data = payload)

備考

認証

すべての HighBond API 要求は認証が必要です。API にアクセスするには、少なくとも 1 つの Diligent One インスタンスのシステム管理者である必要があります。

認証するには、Launchpad を使用して、アカウントの HighBond API トークンを作成します。トークンは、認証を行い、安全に HighBond API にアクセスできるようにする文字列です。トークンの作成のヘルプについては、HighBond アクセストークンの作成と管理を参照してください。

HighBond API メソッドで HighBond API トークンを使用する

HighBond API メソッドで HighBond API トークンを使用するには、トークンを HCL 変数 v_hb_token に割り当てる必要があります。トークンが割り当てられた後は、自動的にバックグラウンドで認証に使用されます。Diligent One スクリプトで明示的に指定する必要はありません。変数へのトークンの割り当てについては、[変数]ウィンドウを使用して HCL 変数を定義するを参照してください。

システムユーザートークン

特定の Diligent One ツールキットを購入されたお客様は、特定のユーザーアカウントに関連付けられたトークンではなく、汎用システムユーザートークンを使用して認証することもできます。

リソース URL の一意の部分のみを指定する

HighBond API メソッドを使用するときには、Diligent One リソース URL の一意の部分(最後の部分)のみを指定する必要があります。共通部分(ベース URL)や作業している Diligent One インスタンスの ID を指定する必要はありません。この情報はバックグラウンドで自動的に入力されます。

たとえば、Diligent One インスタンス ID 1000236 で作業している場合は、これらの API 要求のいずれも同じ応答を返します。これらはいずれもプロジェクト 19756 のすべての問題の一覧を出力します。

hcl.api_get("projects/19756/issues")
hcl.api_get("https://apis.highbond.com/v1/orgs/1000236/projects/19756/issues")

HighBond API リファレンスを参照する

すべての Diligent One リソースの要求構文については、HighBond API リファレンスを参照してくださいたとえば、次に、プロジェクトの問題の一覧を取得する要求構文を示します。

HCL メソッドを使用して要求を作成している場合は、projects/... で構文の指定を開始できます。

Diligent One 外から要求を行っている場合は、リソース URL 全体を指定し、先頭にプロトコル (https://...) を指定する必要はありません。

リソース URL で変数を使用する

リソース URL でリテラル ID を指定するのではなく、URL で変数を使用する必要があるコードを作成することがあります。リソース URL の書式は文字列であるため、文字列に変数を組み込むには、次に示す Python 手法のいずれかを使用する必要があります。

Python f 文字列を使用できます。

v_project_id = "19756"
hcl.api_get(f"projects/{v_project_id}/issues")

Python 文字列連結を使用できます。

v_project_id = "19756"
hcl.api_get("projects/" + v_project_id + "/issues")