api_post() メソッド
HighBond API に POST 要求を送信します。
構文
hcl.api_post("HighBond API 要求詳細", data = 要求ペイロード)
パラメーター
名前 | 説明 |
---|---|
HighBond API 要求詳細 |
Diligent One リソースの要求詳細。 hcl.api_post は要求詳細の標準部分を自動的にバックグラウンドで提供します。デフォルト値を上書きしたい場合を除き、これらの要求要素を明示的に指定する必要はありません。
特定の 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")