タイトルのとおり、ググるのに苦戦したのでメモ。
PostmanのWorkspaceやCollectionをAPIで作れないのかな?と思って調べたのですが「Postman Web API」でググってもWeb APIを呼び出すツールとしてのPostman情報しか引っかかりませんでした。まぁ仕方ないですよね。
最終的にみつけたのがこちらのドキュメントです。
API Keyを発行すれば簡単に呼び出せるじゃん!と思って早速やろうとしたのですが、今度はどこからAPI Keyを作るのか辿り着くのに時間がかかりました…。
今だに画面のメニューからの辿り方がわからないのですが(ご存知の方、教えてください)、API Key作成画面のURLはこちら。
https://web.postman.co/integrations/services/pm_pro_api
ドキュメントでは次の赤線部分から辿れます。
遷移先の画面で「Get API Key」を押せばAPI Keyが発行されます。
こんな感じでJava標準のHttpClientでPostmanのWorkspaceを作成できました。
package tech.kikutaro; import java.io.IOException; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.net.http.HttpRequest.BodyPublishers; import java.net.http.HttpResponse.BodyHandler; import java.net.http.HttpResponse.BodyHandlers; publicclass App { publicstaticvoid main(String[] args) throws IOException, InterruptedException { HttpClient client = HttpClient.newHttpClient(); HttpRequest req = HttpRequest.newBuilder(URI.create("https://api.getpostman.com/workspaces")) .header("Content-Type", "application/json") .header("x-api-key", "xxxxx") .POST(BodyPublishers.ofString("{\"workspace\": {\"name\": \"test\",\"type\": \"personal\",\"description\": \"Some description\"}}")) .build(); HttpResponse<String> res = client.send(req, BodyHandlers.ofString()); System.out.println(res.statusCode()); System.out.println(res.body()); } }