@roadiehq/backstage-plugin-travis-ci
Version:
116 lines (110 loc) • 3.4 kB
TypeScript
import * as react_jsx_runtime from 'react/jsx-runtime';
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
import { DiscoveryApi, IdentityApi } from '@backstage/core-plugin-api';
import { Entity } from '@backstage/catalog-model';
import { FC } from 'react';
declare const travisciPlugin: _backstage_core_plugin_api.BackstagePlugin<{
entityContent: _backstage_core_plugin_api.RouteRef<undefined>;
}, {}, {}>;
declare const EntityTravisCIContent: () => react_jsx_runtime.JSX.Element;
declare const EntityTravisCIOverviewCard: () => react_jsx_runtime.JSX.Element;
type TravisCIBuildResponse = {
'@type': string;
'@href': string;
'@representation': string;
'@permissions': {
read: boolean;
cancel: boolean;
restart: boolean;
};
id: number;
number: string;
state: string;
duration: number;
event_type: string;
previous_state: string;
pull_request_title?: string;
pull_request_number?: number;
started_at: string;
finished_at: string;
private: boolean;
repository: {
'@type': string;
'@href': string;
'@representation': string;
id: number;
name: string;
slug: string;
};
branch: {
'@type': string;
'@href': string;
'@representation': string;
name: string;
};
tag?: any;
commit: {
'@type': string;
'@representation': string;
id: number;
sha: string;
ref: string;
message: string;
compare_url: string;
committed_at: string;
};
jobs: [
{
'@type': string;
'@href': string;
'@representation': string;
id: number;
}
];
stages: any[];
created_by: {
'@type': string;
'@href': string;
'@representation': string;
id: number;
login: string;
};
updated_at: string;
};
type FetchParams = {
limit: number;
offset: number;
repoSlug: string;
};
interface TravisCIApi {
retry(buildNumber: number): Promise<Response>;
getBuilds(options: {
limit: number;
offset: number;
repoSlug: string;
}): Promise<any>;
getUser(): any;
getBuild(buildId: number): Promise<TravisCIBuildResponse>;
}
declare const travisCIApiRef: _backstage_core_plugin_api.ApiRef<TravisCIApi>;
declare class TravisCIApiClient implements TravisCIApi {
baseUrl: string;
discoveryApi: DiscoveryApi;
identityApi: IdentityApi;
constructor(options: {
discoveryApi: DiscoveryApi;
identityApi: IdentityApi;
});
retry(buildNumber: number): Promise<Response>;
getBuilds({ limit, offset, repoSlug }: FetchParams): Promise<any>;
getUser(): Promise<any>;
getBuild(buildId: number): Promise<TravisCIBuildResponse>;
private getApiUrl;
}
declare const isTravisciAvailable: (entity: Entity) => boolean;
declare const Router: () => react_jsx_runtime.JSX.Element;
type Props = {
entity: Entity;
};
declare const RecentTravisCIBuildsWidget: FC<Props>;
export { EntityTravisCIContent, EntityTravisCIOverviewCard, RecentTravisCIBuildsWidget, Router, type TravisCIApi, TravisCIApiClient, type TravisCIBuildResponse, isTravisciAvailable as isPluginApplicableToEntity, isTravisciAvailable, travisciPlugin as plugin, travisCIApiRef, travisciPlugin };