{
  // Default server (service) code, internal identification
  "primaryServerCode": "apache",
  /* Teamcity Integration Parameters */
  "tcServers": [
    {
      /* Service Code for internal identification */
      "code": "apache",
      /** Teamcity Host, HTTPs is highly recommended because of Basic Auth used.*/
      "host": "https://ci.ignite.apache.org/",
      /** Downloaded build logs relative path. */
      "logsDir": "apache_logs",
      /** Default tracked branch name in internal identification of TC bot. */
      "defaultTrackedBranch": "master",
      /** Build parameters, which may be used for filtering Run history and tagging builds. */
      "filteringParameters": [
        {
          "name": "env.JAVA_HOME",
          "selection": [
            {"value":"%env.JDK_ORA_18%", "label":"JDK8"},
            {"value":"%env.JDK_ORA_9%", "label":"JDK9"},
            {"value":"%env.JDK_ORA_10%", "label":"JDK10"},
            {"value":"%env.JDK_OPEN_11%", "label":"JDK11"}
          ]
        }
      ],
      /** Build type IDs, which should trigger notifications about any non build problem, and should be blocker in this case. **/
      "trustedSuites": []
    }
  ],
  /* Set of JIRA servers/projects configured */
  "jiraServers": [
    {
      /* Server code will be referenced in all tracked branches, URLs, etc */
      "code": "apache",
      /* JIRA project code for commenting tickets. Default project is "IGNITE". */
      "projectCode": "IGNITE",
      /* Following prefix is to be specified only if it is necessary to separate project code and branches markup in tickets. */
      // "branchNumPrefix": "IGNITE-",
      /* JIRA Url, HTTPs is highly recommended because of Basic Auth used. */
      "url": "https://issues.apache.org/jira/",
      /** JIRA Auth token to access,
        Base-64 pre-encoded username and password, which will be included into Basic Auth requests.
        Encoded token needs to be encrypted using org.apache.ignite.ci.tcbot.conf.PasswordEncoder,
        use PasswordEncoder#encodeJiraTok to get from clear username/password */
      "authTok": ""
      //todo     ^ specify token
    }
  ],
  /* Set of GitHub services configured: GitHub integration parameters.*/
  "gitHubConfigs": [
    {
      "code": "apache",
      /* More for preffering branches gives branch for PR to be default branch for triggering builds on TC. */
      "preferBranches": false,

      /** Branch identification rules: PR-less contribution branch name mandatory prefix */
      "branchPrefix": "ignite-",

      /*
        Specify GitHub Auth token (if needed), go to User->Settings->Developers options->create new.
        Created token needs to be encrypted using org.apache.ignite.ci.tcbot.conf.PasswordEncoder,
        use {@link org.apache.ignite.ci.conf.PasswordEncoder#encodeJiraTok} to set up value in a config.
        Git Auth token encoded to access non-public GitHub repos. For public GitHub repos token gives more velocity.
       */
      "authTok": "",
      //todo     ^ specify token

      /* REST API Url for GitHub. Includes owner (apache) and project (ignite). */
      "apiUrl": "https://api.github.com/repos/apache/ignite/"
    }
  ],
  "notifications": {
    /* Email sending settings, only smtp.gmail.com is now supported. */
    "email": {
      /* Username, equal to from: field */
      "username": "ignitetcbot@gmail.com",
      /** Email password encoded using Password Encoder.  */
      "pwd": ""
      //todo ^ specify password
    },
    "channels": [
      {
        "email": "dev@ignite.apache.org",
        "subscribed": [
          "master", "master-nightly"
        ]
      }
    ]
  },
  "branches": [
    {
      "id": "master",
      "chains": [
        {
          "serverId": "apache",
          "suiteId": "IgniteTests24Java8_RunAll",
          "branchForRest": "\u003cdefault\u003e"
        }
      ],
      /* Disable notifications for the following issue types. See {@link IssueType#code()}. */
      "disableIssueTypes": []
    },
    {
      "id": "master-nightly",
      "chains": [
        {
          "serverId": "apache",
          "suiteId": "IgniteTests24Java8_RunAllNightly",
          "branchForRest": "\u003cdefault\u003e",
          "triggerBuild": true,
          /* Triggering quiet period in minutes. Protects from too-often triggering in case build is too fast, e.g. compilation failure. */
          "triggerBuildQuietPeriod": 30,
          /** List of build parameters should be specified for triggering build. Each parameter should have name and may have randomly selected or fixed value. */
          "triggerParameters": [
            {
              "name": "reverse.dep.*.env.JAVA_HOME",
              "randomValue": true,
              "selection": [
                {"value":"%env.JDK_ORA_18%", "label":"JDK8"},
                {"value":"%env.JDK_ORA_9%", "label":"JDK9"},
                {"value":"%env.JDK_ORA_10%", "label":"JDK10"},
                {"value":"%env.JDK_OPEN_11%", "label":"JDK11"}
              ]
            }
          ]
        }
      ],
      /* Disable notifications for the following issue types. See {@link IssueType#code()}. */
      "disableIssueTypes": []
    },
    {
      "id": "ignite-2.7.5",
      "chains": [
        {
          "serverId": "apache",
          "suiteId": "IgniteTests24Java8_RunAll",
          "branchForRest": "ignite-2.7.5",
          "baseBranchForTc": "\u003cdefault\u003e"
        }
      ],
      /* Disable notifications for the following issue types. See {@link IssueType#code()}. */
      "disableIssueTypes": []
    },
    {
      "id": "ignite-2.7.5-nightly",
      "chains": [
        {
          "serverId": "apache",
          "suiteId": "IgniteTests24Java8_RunAllNightly",
          "branchForRest": "ignite-2.7.5",
          "baseBranchForTc": "\u003cdefault\u003e",
          "triggerBuild": true,
          "triggerBuildQuietPeriod": 30 //triggering quiet period in minutes
        }
      ],
      /* Disable notifications for the following issue types. See {@link IssueType#code()}. */
      "disableIssueTypes": []
    }
  ]
}
