# Configuration for probot-no-response - https://github.com/probot/no-response

# Number of days of inactivity before an issue is closed for lack of response.
daysUntilClose: 14

# Label requiring a response.
responseRequiredLabel: "waiting for customer response"

# Comment to post when closing an Issue for lack of response. Set to `false` to disable
closeComment: >-
  Without additional information we're unfortunately not sure how to resolve
  this issue. We're going to close this bug for now, but please don't hesitate
  to comment on the bug if you have any more information for us; we're happy to
  reopen. Thanks for your contribution!
