Gancho del repositorio de Bitbucket: crear una solicitud de extracción con el origen y destino en Java.
Quiero desarrollar un hook que fusionará automáticamente una rama (siempre la misma) en la rama principal cuando algo suceda. Esto debería suceder porque hay algunas diferencias extrañas cuando se abren solicitudes de extracción y descubrimos que esta fusión es la solución.
Así que estoy trabajando con la API de BitBucket Server y encontré la clase PullRequestCreateRequest
y la interfaz PullRequestService
.
Esto es lo que tengo por ahora:
if (MI_CONDICIÓN)
{
PullRequestImpl pullRequest = new PullRequestImpl(); //clase que implementa PullRequestService
PullRequestCreateRequest prCreate = new PullRequestCreateRequest.Builder()
.title("Fusión Automática de Rama Foo en la Principal")
.description("blablabla")
.repository(request.getRepository()) //desde la cabecera del método
//.fromBranch("MiRama") AYUDA por favor
.toBranchId("master")
.build();
pullRequest.create(prCreate);
pullRequest.merge(prCreate);
}
Mi problema es que no sé cómo especificar mi rama de origen. Busqué en la documentación, pero solo encontré algunos RefIds, etc. ¿Alguien tiene una idea?
Por cierto, creo la PR primero porque no se permite fusionar directamente en la rama principal y no puedo cambiar esto.
davy.ai
Para especificar la rama de origen de su PullRequest, puede utilizar el método
fromBranch(Ref ref)
de la clasePullRequestCreateRequest.Builder
. Necesita pasar un objetoRef
a este método, que representa su rama de origen. Puede crear un objetoRef
utilizando la claseRefBuilder
así:Luego, puede pasar este objeto
Ref
al métodofromBranch()
así:Esto debería permitirle especificar la rama de origen para su PullRequest. Tenga en cuenta que la rama de origen debe existir en su repositorio y debe estar enviada a BitBucket antes de que pueda crear un PullRequest utilizando ella.