mirror of
https://github.com/OneUptime/oneuptime
synced 2024-11-22 15:24:55 +00:00
80 lines
3.1 KiB
TypeScript
Executable File
80 lines
3.1 KiB
TypeScript
Executable File
import authentication from './authentication';
|
|
// Import triggers
|
|
import resolvedTrigger from './triggers/resolved';
|
|
import incidentTrigger from './triggers/incident';
|
|
import monitorTrigger from './triggers/monitors';
|
|
import acknowledgeTrigger from './triggers/acknowledge';
|
|
import incidentsTrigger from './triggers/incidents';
|
|
import incidentNoteTrigger from './triggers/incidentNote';
|
|
// Import actions
|
|
import createIncidentAction from './actions/createIncident';
|
|
import acknowledgeLastIncidentAction from './actions/acknowledgeLastIncident';
|
|
import resolveLastIncidentAction from './actions/resolveLastIncident';
|
|
import acknowledgeAllIncidentsAction from './actions/acknowledgeAllIncidents';
|
|
import resolveAllIncidentsAction from './actions/resolveAllIncidents';
|
|
import acknowledgeIncidentAction from './actions/acknowledgeIncident';
|
|
import resolveIncidentAction from './actions/resolveIncident';
|
|
import createIncidentNoteAction from './actions/createIncidentNote';
|
|
|
|
/*
|
|
* To include the API key on all outbound requests, simply define a function here.
|
|
* It runs runs before each request is sent out, allowing you to make tweaks to the request in a centralized spot.
|
|
*/
|
|
const includeApiKey: Function = (
|
|
request: $TSFixMe,
|
|
z: $TSFixMe,
|
|
bundle: $TSFixMe
|
|
): void => {
|
|
if (bundle.authData.apiKey && bundle.authData.projectId) {
|
|
request.params = request.params || {};
|
|
request.params.apiKey = bundle.authData.apiKey;
|
|
request.params.projectId = bundle.authData.projectId;
|
|
}
|
|
return request;
|
|
};
|
|
|
|
const App: $TSFixMe = {
|
|
/*
|
|
* This is just shorthand to reference the installed dependencies you have. Zapier will
|
|
* Need to know these before we can upload
|
|
*/
|
|
version: require('./package.json').version,
|
|
platformVersion: require('zapier-platform-core').version,
|
|
|
|
authentication: authentication,
|
|
|
|
beforeRequest: [includeApiKey],
|
|
|
|
afterResponse: [],
|
|
|
|
resources: {},
|
|
|
|
// If you want your trigger to show up, you better include it here!
|
|
triggers: {
|
|
[incidentTrigger.key]: incidentTrigger,
|
|
[resolvedTrigger.key]: resolvedTrigger,
|
|
[monitorTrigger.key]: monitorTrigger,
|
|
[acknowledgeTrigger.key]: acknowledgeTrigger,
|
|
[incidentsTrigger.key]: incidentsTrigger,
|
|
[incidentNoteTrigger.key]: incidentNoteTrigger,
|
|
},
|
|
|
|
// If you want your searches to show up, you better include it here!
|
|
searches: {},
|
|
|
|
// If you want your creates to show up, you better include it here!
|
|
creates: {
|
|
[createIncidentAction.key]: createIncidentAction,
|
|
[acknowledgeLastIncidentAction.key]: acknowledgeLastIncidentAction,
|
|
[resolveLastIncidentAction.key]: resolveLastIncidentAction,
|
|
[acknowledgeAllIncidentsAction.key]: acknowledgeAllIncidentsAction,
|
|
[resolveAllIncidentsAction.key]: resolveAllIncidentsAction,
|
|
[acknowledgeIncidentAction.key]: acknowledgeIncidentAction,
|
|
[resolveIncidentAction.key]: resolveIncidentAction,
|
|
[createIncidentNoteAction.key]: createIncidentNoteAction,
|
|
},
|
|
};
|
|
|
|
// Finally, export the app.
|
|
export default App;
|