mirror of https://github.com/harness/drone.git
add webhook on create repo
parent
80992f87ea
commit
00f9dfa3cd
|
@ -18,6 +18,7 @@ import (
|
|||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/harness/gitness/app/api/controller/webhook"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
|
@ -91,6 +92,7 @@ type Controller struct {
|
|||
identifierCheck check.RepoIdentifier
|
||||
repoCheck Check
|
||||
publicAccess publicaccess.Service
|
||||
webhook *webhook.Controller
|
||||
}
|
||||
|
||||
func NewController(
|
||||
|
@ -118,6 +120,7 @@ func NewController(
|
|||
identifierCheck check.RepoIdentifier,
|
||||
repoCheck Check,
|
||||
publicAccess publicaccess.Service,
|
||||
webhook *webhook.Controller,
|
||||
) *Controller {
|
||||
return &Controller{
|
||||
defaultBranch: config.Git.DefaultBranch,
|
||||
|
@ -144,6 +147,7 @@ func NewController(
|
|||
identifierCheck: identifierCheck,
|
||||
repoCheck: repoCheck,
|
||||
publicAccess: publicAccess,
|
||||
webhook: webhook,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ import (
|
|||
"context"
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"github.com/harness/gitness/app/api/controller/webhook"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
|
@ -175,6 +176,24 @@ func (c *Controller) Create(ctx context.Context, session *auth.Session, in *Crea
|
|||
}
|
||||
}
|
||||
|
||||
_, err = c.webhook.Create(ctx, session, repo.Path, &webhook.CreateInput{
|
||||
UID: repo.Identifier + "-Hackweek2024",
|
||||
Identifier: repo.Identifier + "-Hackweek2024",
|
||||
DisplayName: "Hackweek2024",
|
||||
Description: "",
|
||||
URL: "https://chrishamper.pr2.harness.io/gateway/pipeline/api/webhook/custom/gsJe3wvATxCX7eRcaiop1w/v3?accountIdentifier=dhGJDx_-S_yOsLtQmoO96Q&orgIdentifier=default&projectIdentifier=Hack_Week_2024&pipelineIdentifier=sastprcheck&triggerIdentifier=prcheck",
|
||||
Secret: "",
|
||||
Enabled: true,
|
||||
Insecure: true,
|
||||
Triggers: []enum.WebhookTrigger{
|
||||
enum.WebhookTriggerPullReqCreated,
|
||||
enum.WebhookTriggerPullReqBranchUpdated,
|
||||
},
|
||||
}, false)
|
||||
if err != nil {
|
||||
log.Ctx(ctx).Warn().Err(err).Int64("repo_id", repo.ID).Msg("failed to create webhook")
|
||||
}
|
||||
|
||||
return repoOutput, nil
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ package repo
|
|||
|
||||
import (
|
||||
"github.com/harness/gitness/app/api/controller/limiter"
|
||||
"github.com/harness/gitness/app/api/controller/webhook"
|
||||
"github.com/harness/gitness/app/auth/authz"
|
||||
repoevents "github.com/harness/gitness/app/events/repo"
|
||||
"github.com/harness/gitness/app/services/codeowners"
|
||||
|
@ -67,13 +68,14 @@ func ProvideController(
|
|||
identifierCheck check.RepoIdentifier,
|
||||
repoChecks Check,
|
||||
publicAccess publicaccess.Service,
|
||||
webhookCtrl *webhook.Controller,
|
||||
) *Controller {
|
||||
return NewController(config, tx, urlProvider,
|
||||
authorizer,
|
||||
repoStore, spaceStore, pipelineStore,
|
||||
principalStore, ruleStore, settings, principalInfoCache, protectionManager, rpcClient, importer,
|
||||
codeOwners, reporeporter, indexer, limiter, locker, auditService, mtxManager, identifierCheck,
|
||||
repoChecks, publicAccess)
|
||||
repoChecks, publicAccess, webhookCtrl)
|
||||
}
|
||||
|
||||
func ProvideRepoCheck() Check {
|
||||
|
|
|
@ -36,8 +36,8 @@ import (
|
|||
"github.com/harness/gitness/app/auth/authn"
|
||||
"github.com/harness/gitness/app/auth/authz"
|
||||
"github.com/harness/gitness/app/bootstrap"
|
||||
events4 "github.com/harness/gitness/app/events/git"
|
||||
events3 "github.com/harness/gitness/app/events/pullreq"
|
||||
events3 "github.com/harness/gitness/app/events/git"
|
||||
events4 "github.com/harness/gitness/app/events/pullreq"
|
||||
events2 "github.com/harness/gitness/app/events/repo"
|
||||
"github.com/harness/gitness/app/pipeline/canceler"
|
||||
"github.com/harness/gitness/app/pipeline/commit"
|
||||
|
@ -200,7 +200,25 @@ func initSystem(ctx context.Context, config *types.Config) (*server.System, erro
|
|||
lockerLocker := locker.ProvideLocker(mutexManager)
|
||||
repoIdentifier := check.ProvideRepoIdentifierCheck()
|
||||
repoCheck := repo.ProvideRepoCheck()
|
||||
repoController := repo.ProvideController(config, transactor, provider, authorizer, repoStore, spaceStore, pipelineStore, principalStore, ruleStore, settingsService, principalInfoCache, protectionManager, gitInterface, repository, codeownersService, reporter, indexer, resourceLimiter, lockerLocker, auditService, mutexManager, repoIdentifier, repoCheck, publicaccessService)
|
||||
webhookConfig := server.ProvideWebhookConfig(config)
|
||||
webhookStore := database.ProvideWebhookStore(db)
|
||||
webhookExecutionStore := database.ProvideWebhookExecutionStore(db)
|
||||
readerFactory, err := events3.ProvideReaderFactory(eventsSystem)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
eventsReaderFactory, err := events4.ProvideReaderFactory(eventsSystem)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
pullReqStore := database.ProvidePullReqStore(db, principalInfoCache)
|
||||
pullReqActivityStore := database.ProvidePullReqActivityStore(db, principalInfoCache)
|
||||
webhookService, err := webhook.ProvideService(ctx, webhookConfig, readerFactory, eventsReaderFactory, webhookStore, webhookExecutionStore, repoStore, pullReqStore, pullReqActivityStore, provider, principalStore, gitInterface, encrypter)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
webhookController := webhook2.ProvideController(webhookConfig, authorizer, webhookStore, webhookExecutionStore, repoStore, webhookService, encrypter)
|
||||
repoController := repo.ProvideController(config, transactor, provider, authorizer, repoStore, spaceStore, pipelineStore, principalStore, ruleStore, settingsService, principalInfoCache, protectionManager, gitInterface, repository, codeownersService, reporter, indexer, resourceLimiter, lockerLocker, auditService, mutexManager, repoIdentifier, repoCheck, publicaccessService, webhookController)
|
||||
reposettingsController := reposettings.ProvideController(authorizer, repoStore, settingsService, auditService)
|
||||
executionStore := database.ProvideExecutionStore(db)
|
||||
checkStore := database.ProvideCheckStore(db, principalInfoCache)
|
||||
|
@ -235,25 +253,15 @@ func initSystem(ctx context.Context, config *types.Config) (*server.System, erro
|
|||
connectorController := connector.ProvideController(connectorStore, authorizer, spaceStore)
|
||||
templateController := template.ProvideController(templateStore, authorizer, spaceStore)
|
||||
pluginController := plugin.ProvideController(pluginStore)
|
||||
pullReqStore := database.ProvidePullReqStore(db, principalInfoCache)
|
||||
pullReqActivityStore := database.ProvidePullReqActivityStore(db, principalInfoCache)
|
||||
codeCommentView := database.ProvideCodeCommentView(db)
|
||||
pullReqReviewStore := database.ProvidePullReqReviewStore(db)
|
||||
pullReqReviewerStore := database.ProvidePullReqReviewerStore(db, principalInfoCache)
|
||||
pullReqFileViewStore := database.ProvidePullReqFileViewStore(db)
|
||||
eventsReporter, err := events3.ProvideReporter(eventsSystem)
|
||||
eventsReporter, err := events4.ProvideReporter(eventsSystem)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
migrator := codecomments.ProvideMigrator(gitInterface)
|
||||
readerFactory, err := events4.ProvideReaderFactory(eventsSystem)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
eventsReaderFactory, err := events3.ProvideReaderFactory(eventsSystem)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
repoGitInfoView := database.ProvideRepoGitInfoView(db)
|
||||
repoGitInfoCache := cache.ProvideRepoGitInfoCache(repoGitInfoView)
|
||||
pullreqService, err := pullreq.ProvideService(ctx, config, readerFactory, eventsReaderFactory, eventsReporter, gitInterface, repoGitInfoCache, repoStore, pullReqStore, pullReqActivityStore, codeCommentView, migrator, pullReqFileViewStore, pubSub, provider, streamer)
|
||||
|
@ -261,15 +269,7 @@ func initSystem(ctx context.Context, config *types.Config) (*server.System, erro
|
|||
return nil, err
|
||||
}
|
||||
pullreqController := pullreq2.ProvideController(transactor, provider, authorizer, pullReqStore, pullReqActivityStore, codeCommentView, pullReqReviewStore, pullReqReviewerStore, repoStore, principalStore, principalInfoCache, pullReqFileViewStore, membershipStore, checkStore, gitInterface, eventsReporter, migrator, pullreqService, protectionManager, streamer, codeownersService, lockerLocker)
|
||||
webhookConfig := server.ProvideWebhookConfig(config)
|
||||
webhookStore := database.ProvideWebhookStore(db)
|
||||
webhookExecutionStore := database.ProvideWebhookExecutionStore(db)
|
||||
webhookService, err := webhook.ProvideService(ctx, webhookConfig, readerFactory, eventsReaderFactory, webhookStore, webhookExecutionStore, repoStore, pullReqStore, pullReqActivityStore, provider, principalStore, gitInterface, encrypter)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
webhookController := webhook2.ProvideController(webhookConfig, authorizer, webhookStore, webhookExecutionStore, repoStore, webhookService, encrypter)
|
||||
reporter2, err := events4.ProvideReporter(eventsSystem)
|
||||
reporter2, err := events3.ProvideReporter(eventsSystem)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue