#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you 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.
#
notifications:
  commits:              commits@airavata.apache.org
  # Send all issue emails (new, closed, comments) to issues@
  issues:               issues@airavata.apache.org
  # Send new/closed PR notifications to dev@
  pullrequests_status:  issues@airavata.apache.org
  # Send individual PR comments/reviews to issues@
  pullrequests_comment: issues@airavata.apache.org
  
github:
  description: "Apache Airavata Django Portal Framework"
  homepage: https://airavata.apache.org/
  labels:
    - airavata
    - sciencegateways
    - gateways
    - cloudnative
    - microservices
    - java
    - workfloworchestrator
    - workflow
    - bigdata
