<!--
  ~ Copyright 2017-present Open Networking Foundation
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
<jenkins.plugins.slack.SlackNotifier plugin="slack@2.0.1">
  <teamDomain>opencord</teamDomain>
  <authToken>kkueX3fmLtcGV6vM4Sp4NVFz</authToken>
  <buildServerUrl>http://jenkins.opencord.org/</buildServerUrl>
  <room>notifications</room>
  <startNotification>false</startNotification>
  <notifySuccess>true</notifySuccess>
  <notifyAborted>false</notifyAborted>
  <notifyNotBuilt>false</notifyNotBuilt>
  <notifyUnstable>false</notifyUnstable>
  <notifyFailure>true</notifyFailure>
  <notifyBackToNormal>false</notifyBackToNormal>
  <notifyRepeatedFailure>false</notifyRepeatedFailure>
  <includeTestSummary>false</includeTestSummary>
  <commitInfoChoice>AUTHORS_AND_TITLES</commitInfoChoice>
  <includeCustomMessage>true</includeCustomMessage>
  <customMessage>cord-onos-publisher</customMessage>
</jenkins.plugins.slack.SlackNotifier>
