UNPKG

@spacelift-io/backstage-integration-frontend

Version:

Backstage plugin for integrating Spacelift.io with Backstage

30 lines (27 loc) 843 B
import { useApi } from '@backstage/core-plugin-api'; import { useState, useCallback } from 'react'; import { spaceliftApiRef } from '../api/SpaceliftApiClient.esm.js'; const useTriggerRun = () => { const [loading, setLoading] = useState(false); const [error, setError] = useState(null); const spaceliftApi = useApi(spaceliftApiRef); const triggerRun = useCallback( async (stackId) => { setLoading(true); setError(null); try { const response = await spaceliftApi.triggerRun(stackId); return response; } catch (err) { setError(err); return null; } finally { setLoading(false); } }, [spaceliftApi] ); return { triggerRun, loading, error, clear: () => setError(null) }; }; export { useTriggerRun }; //# sourceMappingURL=useTriggerRun.esm.js.map