Я пытаюсь создать хук BitBucket, который бы отклонял push, если он содержал файл, не соответствующий соглашению об именах.Пока что я могу создать реализацию PreRepositoryHook, которая регистрирует следующий обратный вызов.
public class MyPreRepositoryHook implements PreRepositoryHook<RepositoryHookRequest> {
public MyPreRepositoryHook () {
}
@Nonnull
@Override
public RepositoryHookResult preUpdate(@Nonnull PreRepositoryHookContext context,
@Nonnull RepositoryHookRequest request) {
// hook only wants commits added to the repository
context.registerCommitCallback(
new MyPreCommitCallback(),
RepositoryHookCommitFilter.ADDED_TO_REPOSITORY);
// return accepted() here, the callback gets a chance to reject the change when getResult() is called
return RepositoryHookResult.accepted();
}
В MyPreCommitCallback:
@Override
public boolean onCommitAdded(@Nonnull CommitAddedDetails commitDetails) {
Commit commit = commitDetails.getCommit();
SimpleChangeset.Builder builder = new SimpleChangeset.Builder(commit);
SimpleChangeset simpleChangeset = builder.build();
Page<Change> changes = simpleChangeset.getChanges();
}
Но я не могу получить список файлов, поскольку при вызове simpleChangeset.getChanges всегда возвращается ноль.
Любая помощьв получении списка имен файлов будет приветствоваться.Спасибо.