47 lines
1.1 KiB
Go
47 lines
1.1 KiB
Go
package gitadapters
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"net/http"
|
|
|
|
"bitbucket.bit.admin.ch/scm/~u80859501/pierre-bot/internal/pierre"
|
|
)
|
|
|
|
type BitbucketAdapter struct {
|
|
baseHTTP
|
|
}
|
|
|
|
func NewBitbucket(baseURL string, bearerToken string) *BitbucketAdapter {
|
|
return &BitbucketAdapter{
|
|
baseHTTP{
|
|
baseURL: baseURL,
|
|
bearerToken: bearerToken,
|
|
},
|
|
}
|
|
}
|
|
|
|
func (b *BitbucketAdapter) GetDiff(projectKey, repositorySlug string, pullRequestID int) (diff io.Reader, err error) {
|
|
r, err := b.createRequest(
|
|
http.MethodGet,
|
|
nil,
|
|
"/rest/api/1.0/projects/", projectKey, "repos", repositorySlug, "pull-requests", fmt.Sprintf("%d.diff", pullRequestID),
|
|
)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
response, err := http.DefaultClient.Do(r)
|
|
if err != nil {
|
|
return
|
|
}
|
|
diff = response.Body
|
|
return
|
|
}
|
|
|
|
func (b *BitbucketAdapter) AddComment(projectKey, repositorySlug string, pullRequestID int, comment pierre.Comment) error {
|
|
fmt.Printf("[MOCK BITBUCKET] Adding comment to PR %s/%s #%d: %s at %s:%d\n",
|
|
projectKey, repositorySlug, pullRequestID, comment.Message, comment.File, comment.Line)
|
|
return nil
|
|
}
|