Assuming there is already an instance of Concourse up, the next step is to attach the OverOps Resource to your existing pipeline. Configure the example overops-resource.yml
and then run fly -t OO-example set-pipeline -c pipeline.yml -p oo-test
to add it into your Build. Please replace the OO-example
with your own names and make sure the configuration is the correct yml file.
example file name: overops-resource.yml
resource_types:
- name: overops-resource
type: docker-image
source:
repository: overops/concourse-resource
tag: latest
resources:
- name: overops-report
type: overops-resource
source:
overops_url: https://api.overops.com
overops_sid: S111111
overops_api_key: ((overops_api_key))
application_name: App1
deployment_name: Dep1
mark_unstable: true
new_events: true
resurfaced_errors: true
debug: false
jobs:
- name: demo
serial: true
plan:
- task: make-a-version-file
config:
platform: linux
image_resource:
type: registry-image
source: { repository: busybox }
run:
path: sh
args:
- -exc
- date +%s > ./files/created_file
outputs:
- name: files
- put: overops-report
inputs:
- files
params:
deployment_name:
file: ./files/created_file
get_params:
mark_unstable: false
debug: false
Any parameter can be read from existing file on filesystem with following construction:
- put: overops-report
inputs:
- files
get_params:
param_name:
file: files/my/file
Where inputs
are existing output from previous steps
deployment_name
is a parameter that used to version the resources and best to provide it dynamically from file (as example above)
into params
section.
All of the following parameters can be provided globally in the Resource source
section as well as can be overwritten on per step basis
in the get_params
section of put
step.
deployment_name
is an exception and need to be provided in the params
section of put
step, as described in the example above.
Parameter | Required | Default Value | Description |
---|---|---|---|
overops_url | true | --- | The OverOps API Endpoint(Saas: https://api.overops.com) |
overops_sid | true | --- | The OverOps environment identifier (e.g S4567) to inspect data for this build |
overops_api_key | true | --- | API Key for interaction with OverOps API |
application_name | true | --- | Application Name as specified in OverOps |
deployment_name | true | --- | Deployment Name as specified in OverOps |
regex_filter | false | A way to filter out specific event types from affecting the outcome of the OverOps Reliability report. | |
mark_unstable | false | false | If set to true the build will be failed if any of the above gates are met |
print_top_issues | false | 5 | Prints the top X events (as provided by this parameter) with the highest volume of errors detected within the active time window, This is useful when used in conjunction with Max Error Volume to identify the errors which caused a build to fail |
new_events | false | false | If any new errors is detected, the build will be marked as failed |
resurfaced_errors | false | false | If any resurfaced errors is detected, the build will be marked as failed |
max_error_volume | false | 0 | Set the max total error volume allowed. If exceeded the build will be marked as failed |
max_unique_errors | false | 0 | Set the max total error volume allowed. If exceeded the build will be marked as failed |
critical_exception_types | false | A comma delimited list of exception types that are deemed as severe regardless of their volume. - If any events of any exceptions listed have a count greater than zero, the build will be marked as unstable. Blank to skip this test. (For example: NullPointerException,IndexOutOfBoundsException ) |
|
active_timespan | false | 0 | The time window inspected to search for new issues and regressions. Set to zero to use the Deployment Name (which would be the current build). (For example: 1d [d - day, h - hour, m - minute] would be one day active time window) |
baseline_timespan | false | 0 | The time window against which events in the active window are compared to test for regressions. If this gate is used, baseline time window is required. (For example: 14d [d - day, h - hour, m - minute] would be a two week baseline time window.) |
min_volume_threshold | false | 0 | The minimal number of times an event of a non-critical type (e.g. uncaught) must take place to be considered severe. - If a New event has a count greater than the set value, it will be evaluated as severe and could break the build if its event rate is above the Event Rate Threshold. - If an Existing event has a count greater than the set value, it will be evaluated as severe and could break the build if its event rate is above the Event Rate Threshold and the Critical Regression Threshold. - If any event has a count less than the set value, it will not be evaluated as severe and will not break the build. |
min_error_rate_threshold | false | 0 | Value in range 0-1 . The minimum rate at which event of a non-critical type (e.g. uncaught) must take place to be considered severe. A rate of 0.1 means the events is allowed to take place <= 10% of the time.- If a New event has a rate greater than the set value, it will be evaluated as severe and could break the build if its event volume is above the Event Volume Threshold. - If an Existing event has a rate greater than the set value, it will be evaluated as severe and could break the build if its event volume is above the Event Volume Threshold and the Critical Regression Threshold. - If an event has a rate less than the set value, it will not be evaluated as severe and will not break the build. |
regression_delta | false | 0 | Value in range 0-1 . The change in percentage between an event's rate in the active time span compared to the baseline to be considered a regression. The active time span is the Active Time Window or the Deployment Name (whichever is populated). A rate of 0.1 means the events is allowed to take place <= 10% of the time.- If an Existing event has an error rate delta (active window compared to baseline) greater than the set value, it will be marked as a regression, but will not break the build. |
critical_regression_delta | false | 0 | The change in percentage between an event's rate in the active time span compared to the baseline to be considered a critical regression. The active time span is the Active Time Window or the Deployment Name (whichever is populated). A rate of 0.1 means the events is allowed to take place <= 10% of the time. - If an Existing event has an error rate delta (active window compared to baseline) greater than the set value, it will be marked as a severe regression and will break the build. |
apply_seasonality | false | false | If peaks have been seen in baseline window, then this would be considered normal and not a regression. Should the plugin identify an equal or matching peak in the baseline time window, or two peaks of greater than 50% of the volume seen in the active window, the event will not be marked as a regression. |
debug | false | false | For advanced debugging purposes only |
The ARC Links inside of the UI display after a build with the OverOps resource are not clickable they must be copy and pasted to be used.
Checks OverOps API responsiveness
Creates resource version and triggers the in
script.
Always trigger resource via put
step
Generates the report based on OverOps events, if mark_unstable
is set to true
then fails the build, until reported issues are fixed.