Skip to content

APIHelper API ​

Utilities for GitHub and Backstage API interactions.

Import ​

typescript
import { APIHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers";

Static Methods (GitHub) ​

createGitHubRepo() ​

typescript
static async createGitHubRepo(
  owner: string,
  name: string,
  options?: { private?: boolean; description?: string }
): Promise<void>

deleteGitHubRepo() ​

typescript
static async deleteGitHubRepo(owner: string, name: string): Promise<void>

getGitHubPRs() ​

typescript
static async getGitHubPRs(
  owner: string,
  repo: string,
  state?: "open" | "closed" | "all"
): Promise<PullRequest[]>

createPullRequest() ​

typescript
static async createPullRequest(
  owner: string,
  repo: string,
  options: { title: string; head: string; base: string; body?: string }
): Promise<void>

mergePullRequest() ​

typescript
static async mergePullRequest(
  owner: string,
  repo: string,
  prNumber: number
): Promise<void>

Instance Methods (Backstage) ​

Constructor ​

typescript
new APIHelper()

setBaseUrl() ​

typescript
async setBaseUrl(url: string): Promise<void>

setStaticToken() ​

typescript
async setStaticToken(token: string): Promise<void>

getAllCatalogUsersFromAPI() ​

typescript
async getAllCatalogUsersFromAPI(): Promise<User[]>

getAllCatalogGroupsFromAPI() ​

typescript
async getAllCatalogGroupsFromAPI(): Promise<Group[]>

getAllCatalogLocationsFromAPI() ​

typescript
async getAllCatalogLocationsFromAPI(): Promise<Location[]>

getEntityByName() ​

typescript
async getEntityByName(
  kind: string,
  namespace: string,
  name: string
): Promise<Entity>

scheduleEntityRefreshFromAPI() ​

typescript
async scheduleEntityRefreshFromAPI(
  name: string,
  kind: string,
  token?: string
): Promise<void>

deleteEntityFromCatalog() ​

typescript
async deleteEntityFromCatalog(
  kind: string,
  namespace: string,
  name: string
): Promise<void>

Example ​

typescript
import { APIHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers";

// GitHub operations
await APIHelper.createGitHubRepo("my-org", "test-repo");
await APIHelper.deleteGitHubRepo("my-org", "test-repo");

// Backstage operations
const apiHelper = new APIHelper();
await apiHelper.setBaseUrl("https://backstage.example.com");
await apiHelper.setStaticToken(process.env.BACKEND_TOKEN!);

const users = await apiHelper.getAllCatalogUsersFromAPI();
console.log(`Found ${users.length} users`);

Released under the Apache-2.0 License.