aboutsummaryrefslogtreecommitdiffstats
path: root/routers/api/v1
diff options
context:
space:
mode:
authorJohn Olheiser <john.olheiser@gmail.com>2020-09-11 09:48:39 -0500
committerGitHub <noreply@github.com>2020-09-11 10:48:39 -0400
commit26c4a049da178993e5ccddcb50e7edc70a6bde5d (patch)
tree494106117720ff3ad5f9e77a380c9397c3cfe10b /routers/api/v1
parentdd1a651b5895cfdb8a141a56aa824ed4d082c41a (diff)
downloadgitea-26c4a049da178993e5ccddcb50e7edc70a6bde5d.tar.gz
gitea-26c4a049da178993e5ccddcb50e7edc70a6bde5d.zip
Issue templates directory (#11450)
* Issue templates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add some comments, appease the linter Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add docs and re-use dir candidates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add default labels to issue templates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Generate swagger Signed-off-by: jolheiser <john.olheiser@gmail.com> * Suggested changes Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update issue.go * Suggestions Signed-off-by: jolheiser <john.olheiser@gmail.com> * Extract metadata from legacy if possible Signed-off-by: jolheiser <john.olheiser@gmail.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Diffstat (limited to 'routers/api/v1')
-rw-r--r--routers/api/v1/api.go1
-rw-r--r--routers/api/v1/repo/repo.go25
-rw-r--r--routers/api/v1/swagger/issue.go7
3 files changed, 33 insertions, 0 deletions
diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go
index 9e85625770..8b3a7545c6 100644
--- a/routers/api/v1/api.go
+++ b/routers/api/v1/api.go
@@ -866,6 +866,7 @@ func RegisterRoutes(m *macaron.Macaron) {
Delete(reqToken(), repo.DeleteTopic)
}, reqAdmin())
}, reqAnyRepoReader())
+ m.Get("/issue_templates", context.ReferencesGitRepo(false), repo.GetIssueTemplates)
m.Get("/languages", reqRepoReader(models.UnitTypeCode), repo.GetLanguages)
}, repoAssignment())
})
diff --git a/routers/api/v1/repo/repo.go b/routers/api/v1/repo/repo.go
index 5ebc7f251b..35062500f7 100644
--- a/routers/api/v1/repo/repo.go
+++ b/routers/api/v1/repo/repo.go
@@ -812,3 +812,28 @@ func Delete(ctx *context.APIContext) {
log.Trace("Repository deleted: %s/%s", owner.Name, repo.Name)
ctx.Status(http.StatusNoContent)
}
+
+// GetIssueTemplates returns the issue templates for a repository
+func GetIssueTemplates(ctx *context.APIContext) {
+ // swagger:operation GET /repos/{owner}/{repo}/issue_templates repository repoGetIssueTemplates
+ // ---
+ // summary: Get available issue templates for a repository
+ // produces:
+ // - application/json
+ // parameters:
+ // - name: owner
+ // in: path
+ // description: owner of the repo
+ // type: string
+ // required: true
+ // - name: repo
+ // in: path
+ // description: name of the repo
+ // type: string
+ // required: true
+ // responses:
+ // "200":
+ // "$ref": "#/responses/IssueTemplates"
+
+ ctx.JSON(http.StatusOK, ctx.IssueTemplatesFromDefaultBranch())
+}
diff --git a/routers/api/v1/swagger/issue.go b/routers/api/v1/swagger/issue.go
index b12ea0096a..0f2f572020 100644
--- a/routers/api/v1/swagger/issue.go
+++ b/routers/api/v1/swagger/issue.go
@@ -85,6 +85,13 @@ type swaggerIssueDeadline struct {
Body api.IssueDeadline `json:"body"`
}
+// IssueTemplates
+// swagger:response IssueTemplates
+type swaggerIssueTemplates struct {
+ // in:body
+ Body []api.IssueTemplate `json:"body"`
+}
+
// StopWatch
// swagger:response StopWatch
type swaggerResponseStopWatch struct {