Organization level webhooks

This commit is contained in:
Unknwon 2014-09-07 19:39:26 -04:00
parent e79e4b1580
commit f8977f4847
6 changed files with 25 additions and 21 deletions

View file

@ -5,7 +5,7 @@ Gogs(Go Git Service) is a painless self-hosted Git Service written in Go.
![Demo](http://gowalker.org/public/gogs_demo.gif) ![Demo](http://gowalker.org/public/gogs_demo.gif)
##### Current version: 0.4.9 Beta ##### Current version: 0.5.0 Beta
### NOTICES ### NOTICES
@ -35,7 +35,8 @@ The goal of this project is to make the easiest, fastest and most painless way t
- Register/delete/rename account - Register/delete/rename account
- Create/manage/delete organization with team management - Create/manage/delete organization with team management
- Create/migrate/mirror/delete/watch/rename/transfer public/private repository - Create/migrate/mirror/delete/watch/rename/transfer public/private repository
- Repository viewer/release/issue tracker/webhooks - Repository viewer/release/issue tracker
- Repository and Organization level webhooks
- Add/remove repository collaborators - Add/remove repository collaborators
- Gravatar and cache support - Gravatar and cache support
- Mail service(register, issue) - Mail service(register, issue)

View file

@ -5,7 +5,7 @@ Gogs(Go Git Service) 是一个基于 Go 语言的自助 Git 服务。
![Demo](http://gowalker.org/public/gogs_demo.gif) ![Demo](http://gowalker.org/public/gogs_demo.gif)
##### 当前版本0.4.9 Beta ##### 当前版本0.5.0 Beta
## 开发目的 ## 开发目的
@ -26,7 +26,8 @@ Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自
- 注册/删除/重命名 用户 - 注册/删除/重命名 用户
- 创建/管理/删除 组织以及团队管理功能 - 创建/管理/删除 组织以及团队管理功能
- 创建/迁移/镜像/删除/关注/重命名/转移 公开/私有 仓库 - 创建/迁移/镜像/删除/关注/重命名/转移 公开/私有 仓库
- 仓库 浏览/发布/工单管理/Web 钩子 - 仓库 浏览/发布/工单管理
- 仓库和组织级别 Web 钩子
- 添加/删除 仓库协作者 - 添加/删除 仓库协作者
- Gravatar 以及缓存支持 - Gravatar 以及缓存支持
- 邮件服务注册、Issue - 邮件服务注册、Issue

View file

@ -24,16 +24,18 @@ var CmdDump = cli.Command{
Description: `Dump compresses all related files and database into zip file. Description: `Dump compresses all related files and database into zip file.
It can be used for backup and capture Gogs server image to send to maintainer`, It can be used for backup and capture Gogs server image to send to maintainer`,
Action: runDump, Action: runDump,
Flags: []cli.Flag{}, Flags: []cli.Flag{
cli.BoolFlag{"verbose, v", "show process details", ""},
},
} }
func runDump(*cli.Context) { func runDump(ctx *cli.Context) {
setting.NewConfigContext() setting.NewConfigContext()
models.LoadModelsConfig() models.LoadModelsConfig()
models.SetEngine() models.SetEngine()
log.Printf("Dumping local repositories...%s", setting.RepoRootPath) log.Printf("Dumping local repositories...%s", setting.RepoRootPath)
zip.Verbose = false zip.Verbose = ctx.Bool("verbose")
defer os.Remove("gogs-repo.zip") defer os.Remove("gogs-repo.zip")
if err := zip.PackTo(setting.RepoRootPath, "gogs-repo.zip", true); err != nil { if err := zip.PackTo(setting.RepoRootPath, "gogs-repo.zip", true); err != nil {
log.Fatalf("Fail to dump local repositories: %v", err) log.Fatalf("Fail to dump local repositories: %v", err)

View file

@ -69,9 +69,9 @@ func newMacaron() *macaron.Macaron {
SkipLogging: !setting.DisableRouterLog, SkipLogging: !setting.DisableRouterLog,
}, },
)) ))
if setting.EnableGzip { // if setting.EnableGzip {
m.Use(macaron.Gzip()) // m.Use(macaron.Gzip())
} // }
m.Use(macaron.Renderer(macaron.RenderOptions{ m.Use(macaron.Renderer(macaron.RenderOptions{
Directory: path.Join(setting.StaticRootPath, "templates"), Directory: path.Join(setting.StaticRootPath, "templates"),
Funcs: []template.FuncMap{base.TemplateFuncs}, Funcs: []template.FuncMap{base.TemplateFuncs},

View file

@ -29,7 +29,7 @@ KEY_FILE = custom/https/key.pem
; default is the path where Gogs is executed ; default is the path where Gogs is executed
STATIC_ROOT_PATH = STATIC_ROOT_PATH =
; Application level GZIP support ; Application level GZIP support
ENABLE_GZIP = false #ENABLE_GZIP = false
[database] [database]
; Either "mysql", "postgres" or "sqlite3", it's your choice ; Either "mysql", "postgres" or "sqlite3", it's your choice

View file

@ -16,16 +16,16 @@
<ul class="panel-body setting-list"> <ul class="panel-body setting-list">
<li>{{.i18n.Tr "org.settings.hooks_desc" | Str2html}}</li> <li>{{.i18n.Tr "org.settings.hooks_desc" | Str2html}}</li>
{{range .Webhooks}} {{range .Webhooks}}
<li> <li>
{{if .IsActive}} {{if .IsActive}}
<span class="left text-success"><i class="octicon octicon-check"></i></span> <span class="left text-success"><i class="octicon octicon-check"></i></span>
{{else}} {{else}}
<span class="left text-grey"><i class="octicon octicon-primitive-dot"></i></span> <span class="left text-grey"><i class="octicon octicon-primitive-dot"></i></span>
{{end}} {{end}}
<a class="link" href="{{$.OrgLink}}/settings/hooks/{{.Id}}">{{.Url}}</a> <a class="link" href="{{$.OrgLink}}/settings/hooks/{{.Id}}">{{.Url}}</a>
<a href="{{$.OrgLink}}/settings/hooks?remove={{.Id}}" class="text-red right"><i class="fa fa-times"></i></a> <a href="{{$.OrgLink}}/settings/hooks?remove={{.Id}}" class="text-red right"><i class="fa fa-times"></i></a>
<a href="{{$.OrgLink}}/settings/hooks/{{.Id}}" class="text-blue right"><i class="fa fa-pencil"></i></a> <a href="{{$.OrgLink}}/settings/hooks/{{.Id}}" class="text-blue right"><i class="fa fa-pencil"></i></a>
</li> </li>
{{end}} {{end}}
</ul> </ul>
</div> </div>