タイトルのとおり、ググるのに苦戦したのでメモ。
PostmanのWorkspaceやCollectionをAPIで作れないのかな?と思って調べたのですが「Postman Web API」でググってもWeb APIを呼び出すツールとしてのPostman情報しか引っかかりませんでした。まぁ仕方ないですよね。
最終的にみつけたのがこちらのドキュメントです。
docs.api.getpostman.com
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;
public class App {
public static void 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());
}
}