Package org.jenkinsci.plugins.gitserver
Class HttpGitRepository
java.lang.Object
org.jenkinsci.plugins.gitserver.HttpGitRepository
- Direct Known Subclasses:
FileBackedHttpGitRepository
UI-bound object that exposes a Git repository via HTTP.
To expose a Git repository, bind this object to the URL space via stapler,
for example by adding a getter to your Action object.
- Author:
- Kohsuke Kawaguchi
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidto make sure the user has the permission to pull.org.eclipse.jgit.transport.ReceivePackcreateReceivePack(jakarta.servlet.http.HttpServletRequest context, org.eclipse.jgit.lib.Repository db) Returns theReceivePackthat handles "git push" from client.org.eclipse.jgit.transport.ReceivePackcreateReceivePack(javax.servlet.http.HttpServletRequest context, org.eclipse.jgit.lib.Repository db) Deprecated.org.eclipse.jgit.transport.UploadPackcreateUploadPack(jakarta.servlet.http.HttpServletRequest context, org.eclipse.jgit.lib.Repository db) Returns theUploadPackthat handles "git fetch" from client.org.eclipse.jgit.transport.UploadPackcreateUploadPack(javax.servlet.http.HttpServletRequest context, org.eclipse.jgit.lib.Repository db) Deprecated.OverridecreateUploadPack(HttpServletRequest, Repository)instead.voiddoDynamic(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) Handles git smart HTTP protocol.protected org.eclipse.jgit.http.server.GitServletinit()abstract org.eclipse.jgit.lib.RepositoryOpens the repository this UI-bound object holds on to.
-
Constructor Details
-
HttpGitRepository
protected HttpGitRepository()
-
-
Method Details
-
openRepository
Opens the repository this UI-bound object holds on to.- Throws:
IOException
-
createReceivePack
public org.eclipse.jgit.transport.ReceivePack createReceivePack(jakarta.servlet.http.HttpServletRequest context, org.eclipse.jgit.lib.Repository db) throws org.eclipse.jgit.transport.resolver.ServiceNotEnabledException, org.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException Returns theReceivePackthat handles "git push" from client.The most basic implementation is the following, which allows anyone to push to this repository, so normally you want some kind of access check before that.
DefaultReceivePackFactoryisn't suitable here because it requires that the user has non-empty name, which isn't necessarily true in Jenkins (for example, when the security is off entirely.)return new ReceivePack(db);
- Throws:
org.eclipse.jgit.transport.resolver.ServiceNotEnabledExceptionorg.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException- See Also:
-
ReceivePackFactory.create(Object, Repository)
-
createReceivePack
@Deprecated(since="134") public org.eclipse.jgit.transport.ReceivePack createReceivePack(javax.servlet.http.HttpServletRequest context, org.eclipse.jgit.lib.Repository db) throws org.eclipse.jgit.transport.resolver.ServiceNotEnabledException, org.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException Deprecated.OverridecreateReceivePack(HttpServletRequest, Repository)instead.- Throws:
org.eclipse.jgit.transport.resolver.ServiceNotEnabledExceptionorg.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException
-
createUploadPack
public org.eclipse.jgit.transport.UploadPack createUploadPack(jakarta.servlet.http.HttpServletRequest context, org.eclipse.jgit.lib.Repository db) throws org.eclipse.jgit.transport.resolver.ServiceNotEnabledException, org.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException Returns theUploadPackthat handles "git fetch" from client.The most basic implementation is the following, which exposes this repository to everyone.
return new DefaultUploadPackFactory().create(context,db);
- Throws:
org.eclipse.jgit.transport.resolver.ServiceNotEnabledExceptionorg.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException- See Also:
-
UploadPackFactory.create(Object, Repository)
-
createUploadPack
@Deprecated(since="134") public org.eclipse.jgit.transport.UploadPack createUploadPack(javax.servlet.http.HttpServletRequest context, org.eclipse.jgit.lib.Repository db) throws org.eclipse.jgit.transport.resolver.ServiceNotEnabledException, org.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException Deprecated.OverridecreateUploadPack(HttpServletRequest, Repository)instead.- Throws:
org.eclipse.jgit.transport.resolver.ServiceNotEnabledExceptionorg.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException
-
checkPullPermission
public void checkPullPermission()to make sure the user has the permission to pull. -
init
protected org.eclipse.jgit.http.server.GitServlet init() -
doDynamic
public void doDynamic(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) throws IOException, jakarta.servlet.ServletException Handles git smart HTTP protocol.- Throws:
IOExceptionjakarta.servlet.ServletException
-
createReceivePack(HttpServletRequest, Repository)instead.