screwdriver-api
Version:
API server for the Screwdriver.cd service
60 lines (41 loc) • 1.21 kB
Markdown
# Events Plugin
> Hapi events plugin for the Screwdriver API
## Usage
```javascript
const Hapi = require('@hapi/hapi');
const server = new Hapi.Server();
const eventsPlugin = require('./');
server.connection({ port: 3000 });
server.register({
register: eventsPlugin,
options: {}
}, () => {
server.start((err) => {
if (err) {
throw err;
}
console.log('Server running at:', server.info.uri);
});
});
```
### Routes
#### Returns a single event
`GET /events/{id}`
#### Returns a list of builds associated with the event
`GET /events/{id}/builds`
`GET /events/{id}/builds?fetchSteps=false&readOnly=true`
#### Get build metrics for a single event
`GET /events/{id}/metrics`
`GET /events/{id}/metrics?startTime=2019-02-01T12:00:00.000Z`
`GET /events/{id}/metrics?startTime=2019-02-01T12:00:00.000Z&endTime=2019-03-01T12:00:00.000`
#### Stops all builds associated with the event
`PUT /events/{id}/stop`
### Access to Factory methods
The server supplies factories to plugins in the form of server app values:
```js
// handler eventsPlugin.js
handler: async (request, h) => {
const factory = request.server.app.eventFactory;
// ...
}
```