AtlatestRepositorysigil-forgejo
sigil-forgejo / tree / src / forgejoissues.sgl
1
;;; (forgejo issues) - Forgejo issue API.2
;;;3
;;; List, create, get, and comment on issues.5
(define-library (forgejo issues)6
(import (sigil core)7
(sigil string)8
(forgejo client))10
(export forgejo-list-issues11
forgejo-get-issue12
forgejo-create-issue13
forgejo-create-issue-comment14
forgejo-list-issue-comments)16
(begin18
;;; List issues for a repository.19
(define (forgejo-list-issues base-url token owner repo)20
(forgejo-get/json token21
(forgejo-api-url base-url "repos" owner repo "issues")))23
;;; Get a single issue by number.24
(define (forgejo-get-issue base-url token owner repo number)25
(forgejo-get/json token26
(forgejo-api-url base-url "repos" owner repo "issues"27
(number->string number))))29
;;; Create a new issue.30
(define (forgejo-create-issue base-url token owner repo title body)31
(forgejo-post/json token32
(forgejo-api-url base-url "repos" owner repo "issues")33
#{ title: title34
body: body }))36
;;; Add a comment to an issue.37
(define (forgejo-create-issue-comment base-url token owner repo number body)38
(forgejo-post/json token39
(forgejo-api-url base-url "repos" owner repo "issues"40
(number->string number) "comments")41
#{ body: body }))43
;;; List comments on an issue.44
(define (forgejo-list-issue-comments base-url token owner repo number)45
(forgejo-get/json token46
(forgejo-api-url base-url "repos" owner repo "issues"47
(number->string number) "comments")))49
))