in TeamCity.BitBucketIssues-server/src/main/java/jetbrains/buildServer/issueTracker/bitbucket/BitBucketIssueProvider.java [119:146]
public Collection<InvalidProperty> process(Map<String, String> map) {
final List<InvalidProperty> result = new ArrayList<>();
if (checkNotEmptyParam(result, map, PARAM_AUTH_TYPE, "Authentication type must be specified")) {
// we have auth type. check against it
final String authTypeParam = map.get(PARAM_AUTH_TYPE);
if (authTypeParam.equals(AUTH_LOGIN_PASSWORD)) {
checkNotEmptyParam(result, map, PARAM_USERNAME, "Username must be specified");
checkNotEmptyParam(result, map, PARAM_PASSWORD, "Password must be specified");
}
if (checkNotEmptyParam(result, map, PARAM_PATTERN, "Issue pattern must not be empty")) {
try {
String patternString = map.get(PARAM_PATTERN);
Pattern.compile(patternString);
} catch (PatternSyntaxException e) {
result.add(new InvalidProperty(PARAM_PATTERN, "Syntax of issue pattern is not correct"));
}
}
if (checkNotEmptyParam(result, map, PARAM_REPOSITORY, "Repository must be specified")) {
URL url = getFullUrl(map);
if (url == null) {
result.add(new InvalidProperty(PARAM_REPOSITORY, "Either a valid URL or owner/repo must be specified"));
}
}
}
return result;
}