mirror of
https://github.com/outbackdingo/ghorg.git
synced 2026-01-27 10:19:03 +00:00
Bump github.com/xanzy/go-gitlab from 0.114.0 to 0.115.0 (#480)
Bumps [github.com/xanzy/go-gitlab](https://github.com/xanzy/go-gitlab) from 0.114.0 to 0.115.0. - [Release notes](https://github.com/xanzy/go-gitlab/releases) - [Changelog](https://github.com/xanzy/go-gitlab/blob/main/releases_test.go) - [Commits](https://github.com/xanzy/go-gitlab/compare/v0.114.0...v0.115.0) --- updated-dependencies: - dependency-name: github.com/xanzy/go-gitlab dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
2
go.mod
2
go.mod
@@ -15,7 +15,7 @@ require (
|
||||
github.com/mitchellh/go-homedir v1.1.0
|
||||
github.com/spf13/cobra v1.8.1
|
||||
github.com/spf13/viper v1.19.0
|
||||
github.com/xanzy/go-gitlab v0.114.0
|
||||
github.com/xanzy/go-gitlab v0.115.0
|
||||
golang.org/x/oauth2 v0.24.0
|
||||
gopkg.in/yaml.v2 v2.4.0
|
||||
)
|
||||
|
||||
4
go.sum
4
go.sum
@@ -154,8 +154,8 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT
|
||||
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
|
||||
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
|
||||
github.com/xanzy/go-gitlab v0.114.0 h1:0wQr/KBckwrZPfEMjRqpUz0HmsKKON9UhCYv9KDy19M=
|
||||
github.com/xanzy/go-gitlab v0.114.0/go.mod h1:wKNKh3GkYDMOsGmnfuX+ITCmDuSDWFO0G+C4AygL9RY=
|
||||
github.com/xanzy/go-gitlab v0.115.0 h1:6DmtItNcVe+At/liXSgfE/DZNZrGfalQmBRmOcJjOn8=
|
||||
github.com/xanzy/go-gitlab v0.115.0/go.mod h1:5XCDtM7AM6WMKmfDdOiEpyRWUqui2iS9ILfvCZ2gJ5M=
|
||||
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||
go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=
|
||||
go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
||||
|
||||
6
vendor/github.com/xanzy/go-gitlab/.golangci.yml
generated
vendored
6
vendor/github.com/xanzy/go-gitlab/.golangci.yml
generated
vendored
@@ -19,6 +19,10 @@ linters-settings:
|
||||
locale: US
|
||||
ignore-words:
|
||||
- noteable
|
||||
revive:
|
||||
enable-all-rules: false
|
||||
rules:
|
||||
- name: deep-exit
|
||||
|
||||
linters:
|
||||
enable:
|
||||
@@ -30,10 +34,10 @@ linters:
|
||||
- gosimple
|
||||
- govet
|
||||
- ineffassign
|
||||
- megacheck
|
||||
- misspell
|
||||
- nakedret
|
||||
- nolintlint
|
||||
- revive
|
||||
- staticcheck
|
||||
- typecheck
|
||||
- unconvert
|
||||
|
||||
26
vendor/github.com/xanzy/go-gitlab/README.md
generated
vendored
26
vendor/github.com/xanzy/go-gitlab/README.md
generated
vendored
@@ -1,4 +1,25 @@
|
||||
# go-gitlab
|
||||
# (deprecated) go-gitlab (migrated to https://gitlab.com/gitlab-org/api/client-go)
|
||||
|
||||
🚧 **Project moved to https://gitlab.com/gitlab-org/api/client-go** 🚧
|
||||
|
||||
This package, `github.com/xanzy/go-gitlab`, has been moved to
|
||||
[`gitlab.com/gitlab-org/api/client-go`](https://gitlab.com/gitlab-org/api/client-go).
|
||||
|
||||
The project will continue to be a primarily community-maintained project,
|
||||
more about it [here](https://gitlab.com/gitlab-org/client.go/-/blob/main/README.md#maintenance).
|
||||
|
||||
**References**:
|
||||
|
||||
- [GitLab Project](https://gitlab.com/gitlab-org/api/client-go)
|
||||
- [Issue Tracker](https://gitlab.com/gitlab-org/api/client-go/-/issues)
|
||||
|
||||
## Migration Steps
|
||||
|
||||
- Replace `github.com/xanzy/go-gitlab` with `gitlab.com/gitlab-org/api/client-go` in your code base.
|
||||
- Profit 🎉
|
||||
- *(the code is fully backwards-compatible, no breaking changes are expected)*
|
||||
|
||||
<details><summary>Former README contents</summary>
|
||||
|
||||
A GitLab API client enabling Go programs to interact with GitLab in a simple and uniform way
|
||||
|
||||
@@ -26,6 +47,7 @@ to add new and/or missing endpoints. Currently, the following services are suppo
|
||||
- [x] Commits
|
||||
- [x] Container Registry
|
||||
- [x] Custom Attributes
|
||||
- [x] Dependency List Export
|
||||
- [x] Deploy Keys
|
||||
- [x] Deployments
|
||||
- [x] Discussions (threaded comments)
|
||||
@@ -206,3 +228,5 @@ Contributions are always welcome. For more information, check out the [contribut
|
||||
## License
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at <http://www.apache.org/licenses/LICENSE-2.0>
|
||||
|
||||
</details>
|
||||
|
||||
122
vendor/github.com/xanzy/go-gitlab/dependency_list_export.go
generated
vendored
Normal file
122
vendor/github.com/xanzy/go-gitlab/dependency_list_export.go
generated
vendored
Normal file
@@ -0,0 +1,122 @@
|
||||
package gitlab
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
type DependencyListExportService struct {
|
||||
client *Client
|
||||
}
|
||||
|
||||
// CreateDependencyListExportOptions represents the available CreateDependencyListExport()
|
||||
// options.
|
||||
//
|
||||
// GitLab API docs:
|
||||
// https://docs.gitlab.com/ee/api/dependency_list_export.html#create-a-pipeline-level-dependency-list-export
|
||||
type CreateDependencyListExportOptions struct {
|
||||
ExportType *string `url:"export_type" json:"export_type"`
|
||||
}
|
||||
|
||||
// DependencyListExport represents a request for a GitLab project's dependency list.
|
||||
//
|
||||
// GitLab API docs:
|
||||
// https://docs.gitlab.com/ee/api/dependency_list_export.html#create-a-pipeline-level-dependency-list-export
|
||||
type DependencyListExport struct {
|
||||
ID int `json:"id"`
|
||||
HasFinished bool `json:"has_finished"`
|
||||
Self string `json:"self"`
|
||||
Download string `json:"download"`
|
||||
}
|
||||
|
||||
const defaultExportType = "sbom"
|
||||
|
||||
// CreateDependencyListExport creates a new CycloneDX JSON export for all the project dependencies
|
||||
// detected in a pipeline.
|
||||
//
|
||||
// If an authenticated user does not have permission to read_dependency, this request returns a 403
|
||||
// Forbidden status code.
|
||||
//
|
||||
// SBOM exports can be only accessed by the export’s author.
|
||||
//
|
||||
// GitLab docs:
|
||||
// https://docs.gitlab.com/ee/api/dependency_list_export.html#create-a-pipeline-level-dependency-list-export
|
||||
func (s *DependencyListExportService) CreateDependencyListExport(pipelineID int, opt *CreateDependencyListExportOptions, options ...RequestOptionFunc) (*DependencyListExport, *Response, error) {
|
||||
// POST /pipelines/:id/dependency_list_exports
|
||||
createExportPath := fmt.Sprintf("pipelines/%d/dependency_list_exports", pipelineID)
|
||||
|
||||
if opt == nil {
|
||||
opt = &CreateDependencyListExportOptions{}
|
||||
}
|
||||
if opt.ExportType == nil {
|
||||
opt.ExportType = Ptr(defaultExportType)
|
||||
}
|
||||
|
||||
req, err := s.client.NewRequest(http.MethodPost, createExportPath, opt, options)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
export := new(DependencyListExport)
|
||||
resp, err := s.client.Do(req, &export)
|
||||
if err != nil {
|
||||
return nil, resp, err
|
||||
}
|
||||
|
||||
return export, resp, nil
|
||||
}
|
||||
|
||||
// GetDependencyListExport gets metadata about a single dependency list export.
|
||||
//
|
||||
// GitLab docs:
|
||||
// https://docs.gitlab.com/ee/api/dependency_list_export.html#get-single-dependency-list-export
|
||||
func (s *DependencyListExportService) GetDependencyListExport(id int, options ...RequestOptionFunc) (*DependencyListExport, *Response, error) {
|
||||
// GET /dependency_list_exports/:id
|
||||
getExportPath := fmt.Sprintf("dependency_list_exports/%d", id)
|
||||
|
||||
req, err := s.client.NewRequest(http.MethodGet, getExportPath, nil, options)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
export := new(DependencyListExport)
|
||||
resp, err := s.client.Do(req, &export)
|
||||
if err != nil {
|
||||
return nil, resp, err
|
||||
}
|
||||
|
||||
return export, resp, nil
|
||||
}
|
||||
|
||||
// DownloadDependencyListExport downloads a single dependency list export.
|
||||
//
|
||||
// The github.com/CycloneDX/cyclonedx-go package can be used to parse the data from the returned io.Reader.
|
||||
//
|
||||
// sbom := new(cdx.BOM)
|
||||
// decoder := cdx.NewBOMDecoder(reader, cdx.BOMFileFormatJSON)
|
||||
//
|
||||
// if err = decoder.Decode(sbom); err != nil {
|
||||
// panic(err)
|
||||
// }
|
||||
//
|
||||
// GitLab docs:
|
||||
// https://docs.gitlab.com/ee/api/dependency_list_export.html#download-dependency-list-export
|
||||
func (s *DependencyListExportService) DownloadDependencyListExport(id int, options ...RequestOptionFunc) (io.Reader, *Response, error) {
|
||||
// GET /dependency_list_exports/:id/download
|
||||
downloadExportPath := fmt.Sprintf("dependency_list_exports/%d/download", id)
|
||||
|
||||
req, err := s.client.NewRequest(http.MethodGet, downloadExportPath, nil, options)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
var sbomBuffer bytes.Buffer
|
||||
resp, err := s.client.Do(req, &sbomBuffer)
|
||||
if err != nil {
|
||||
return nil, resp, err
|
||||
}
|
||||
|
||||
return &sbomBuffer, resp, nil
|
||||
}
|
||||
6
vendor/github.com/xanzy/go-gitlab/event_parsing.go
generated
vendored
6
vendor/github.com/xanzy/go-gitlab/event_parsing.go
generated
vendored
@@ -91,7 +91,7 @@ func HookEventType(r *http.Request) EventType {
|
||||
// Example usage:
|
||||
//
|
||||
// func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
// payload, err := ioutil.ReadAll(r.Body)
|
||||
// payload, err := io.ReadAll(r.Body)
|
||||
// if err != nil { ... }
|
||||
// event, err := gitlab.ParseHook(gitlab.HookEventType(r), payload)
|
||||
// if err != nil { ... }
|
||||
@@ -119,7 +119,7 @@ func ParseHook(eventType EventType, payload []byte) (event interface{}, err erro
|
||||
// Example usage:
|
||||
//
|
||||
// func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
// payload, err := ioutil.ReadAll(r.Body)
|
||||
// payload, err := io.ReadAll(r.Body)
|
||||
// if err != nil { ... }
|
||||
// event, err := gitlab.ParseSystemhook(payload)
|
||||
// if err != nil { ... }
|
||||
@@ -203,7 +203,7 @@ func WebhookEventType(r *http.Request) EventType {
|
||||
// Example usage:
|
||||
//
|
||||
// func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
// payload, err := ioutil.ReadAll(r.Body)
|
||||
// payload, err := io.ReadAll(r.Body)
|
||||
// if err != nil { ... }
|
||||
// event, err := gitlab.ParseWebhook(gitlab.HookEventType(r), payload)
|
||||
// if err != nil { ... }
|
||||
|
||||
29
vendor/github.com/xanzy/go-gitlab/gitlab.go
generated
vendored
29
vendor/github.com/xanzy/go-gitlab/gitlab.go
generated
vendored
@@ -70,6 +70,11 @@ const (
|
||||
var ErrNotFound = errors.New("404 Not Found")
|
||||
|
||||
// A Client manages communication with the GitLab API.
|
||||
//
|
||||
// Deprecated: use gitlab.com/gitlab-org/api/client-go instead.
|
||||
// See https://gitlab.com/gitlab-org/api/client-go
|
||||
//
|
||||
// This package is completely frozen, nothing will be added, removed or changed.
|
||||
type Client struct {
|
||||
// HTTP client used to communicate with the API.
|
||||
client *retryablehttp.Client
|
||||
@@ -122,6 +127,7 @@ type Client struct {
|
||||
Commits *CommitsService
|
||||
ContainerRegistry *ContainerRegistryService
|
||||
CustomAttribute *CustomAttributesService
|
||||
DependencyListExport *DependencyListExportService
|
||||
DeployKeys *DeployKeysService
|
||||
DeployTokens *DeployTokensService
|
||||
DeploymentMergeRequests *DeploymentMergeRequestsService
|
||||
@@ -195,6 +201,7 @@ type Client struct {
|
||||
ProjectFeatureFlags *ProjectFeatureFlagService
|
||||
ProjectImportExport *ProjectImportExportService
|
||||
ProjectIterations *ProjectIterationsService
|
||||
ProjectMarkdownUploads *ProjectMarkdownUploadsService
|
||||
ProjectMembers *ProjectMembersService
|
||||
ProjectMirrors *ProjectMirrorService
|
||||
ProjectRepositoryStorageMove *ProjectRepositoryStorageMoveService
|
||||
@@ -258,6 +265,11 @@ type RateLimiter interface {
|
||||
|
||||
// NewClient returns a new GitLab API client. To use API methods which require
|
||||
// authentication, provide a valid private or personal token.
|
||||
//
|
||||
// Deprecated: This module has been migrated to gitlab.com/gitlab-org/api/client-go.
|
||||
// See https://gitlab.com/gitlab-org/api/client-go
|
||||
//
|
||||
// This package is completely frozen, nothing will be added, removed or changed.
|
||||
func NewClient(token string, options ...ClientOptionFunc) (*Client, error) {
|
||||
client, err := newClient(options...)
|
||||
if err != nil {
|
||||
@@ -270,6 +282,11 @@ func NewClient(token string, options ...ClientOptionFunc) (*Client, error) {
|
||||
|
||||
// NewBasicAuthClient returns a new GitLab API client. To use API methods which
|
||||
// require authentication, provide a valid username and password.
|
||||
//
|
||||
// Deprecated: This module has been migrated to gitlab.com/gitlab-org/api/client-go.
|
||||
// See https://gitlab.com/gitlab-org/api/client-go
|
||||
//
|
||||
// This package is completely frozen, nothing will be added, removed or changed.
|
||||
func NewBasicAuthClient(username, password string, options ...ClientOptionFunc) (*Client, error) {
|
||||
client, err := newClient(options...)
|
||||
if err != nil {
|
||||
@@ -285,6 +302,11 @@ func NewBasicAuthClient(username, password string, options ...ClientOptionFunc)
|
||||
|
||||
// NewJobClient returns a new GitLab API client. To use API methods which require
|
||||
// authentication, provide a valid job token.
|
||||
//
|
||||
// Deprecated: This module has been migrated to gitlab.com/gitlab-org/api/client-go.
|
||||
// See https://gitlab.com/gitlab-org/api/client-go
|
||||
//
|
||||
// This package is completely frozen, nothing will be added, removed or changed.
|
||||
func NewJobClient(token string, options ...ClientOptionFunc) (*Client, error) {
|
||||
client, err := newClient(options...)
|
||||
if err != nil {
|
||||
@@ -297,6 +319,11 @@ func NewJobClient(token string, options ...ClientOptionFunc) (*Client, error) {
|
||||
|
||||
// NewOAuthClient returns a new GitLab API client. To use API methods which
|
||||
// require authentication, provide a valid oauth token.
|
||||
//
|
||||
// Deprecated: This module has been migrated to gitlab.com/gitlab-org/api/client-go.
|
||||
// See https://gitlab.com/gitlab-org/api/client-go
|
||||
//
|
||||
// This package is completely frozen, nothing will be added, removed or changed.
|
||||
func NewOAuthClient(token string, options ...ClientOptionFunc) (*Client, error) {
|
||||
client, err := newClient(options...)
|
||||
if err != nil {
|
||||
@@ -360,6 +387,7 @@ func newClient(options ...ClientOptionFunc) (*Client, error) {
|
||||
c.Commits = &CommitsService{client: c}
|
||||
c.ContainerRegistry = &ContainerRegistryService{client: c}
|
||||
c.CustomAttribute = &CustomAttributesService{client: c}
|
||||
c.DependencyListExport = &DependencyListExportService{client: c}
|
||||
c.DeployKeys = &DeployKeysService{client: c}
|
||||
c.DeployTokens = &DeployTokensService{client: c}
|
||||
c.DeploymentMergeRequests = &DeploymentMergeRequestsService{client: c}
|
||||
@@ -433,6 +461,7 @@ func newClient(options ...ClientOptionFunc) (*Client, error) {
|
||||
c.ProjectFeatureFlags = &ProjectFeatureFlagService{client: c}
|
||||
c.ProjectImportExport = &ProjectImportExportService{client: c}
|
||||
c.ProjectIterations = &ProjectIterationsService{client: c}
|
||||
c.ProjectMarkdownUploads = &ProjectMarkdownUploadsService{client: c}
|
||||
c.ProjectMembers = &ProjectMembersService{client: c}
|
||||
c.ProjectMirrors = &ProjectMirrorService{client: c}
|
||||
c.ProjectRepositoryStorageMove = &ProjectRepositoryStorageMoveService{client: c}
|
||||
|
||||
2
vendor/github.com/xanzy/go-gitlab/group_variables.go
generated
vendored
2
vendor/github.com/xanzy/go-gitlab/group_variables.go
generated
vendored
@@ -41,6 +41,7 @@ type GroupVariable struct {
|
||||
VariableType VariableTypeValue `json:"variable_type"`
|
||||
Protected bool `json:"protected"`
|
||||
Masked bool `json:"masked"`
|
||||
Hidden bool `json:"hidden"`
|
||||
Raw bool `json:"raw"`
|
||||
EnvironmentScope string `json:"environment_scope"`
|
||||
Description string `json:"description"`
|
||||
@@ -127,6 +128,7 @@ type CreateGroupVariableOptions struct {
|
||||
Description *string `url:"description,omitempty" json:"description,omitempty"`
|
||||
EnvironmentScope *string `url:"environment_scope,omitempty" json:"environment_scope,omitempty"`
|
||||
Masked *bool `url:"masked,omitempty" json:"masked,omitempty"`
|
||||
MaskedAndHidden *bool `url:"masked_and_hidden,omitempty" json:"hidden,omitempty"`
|
||||
Protected *bool `url:"protected,omitempty" json:"protected,omitempty"`
|
||||
Raw *bool `url:"raw,omitempty" json:"raw,omitempty"`
|
||||
VariableType *VariableTypeValue `url:"variable_type,omitempty" json:"variable_type,omitempty"`
|
||||
|
||||
210
vendor/github.com/xanzy/go-gitlab/project_markdown_uploads.go
generated
vendored
Normal file
210
vendor/github.com/xanzy/go-gitlab/project_markdown_uploads.go
generated
vendored
Normal file
@@ -0,0 +1,210 @@
|
||||
//
|
||||
// Copyright 2024, Sander van Harmelen
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
package gitlab
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
"time"
|
||||
)
|
||||
|
||||
// ProjectMarkdownUploadsService handles communication with the project markdown uploads
|
||||
// related methods of the GitLab API.
|
||||
//
|
||||
// Gitlab API docs: https://docs.gitlab.com/ee/api/project_markdown_uploads.html
|
||||
type ProjectMarkdownUploadsService struct {
|
||||
client *Client
|
||||
}
|
||||
|
||||
// ProjectMarkdownUploadedFile represents a single project markdown uploaded file.
|
||||
//
|
||||
// Gitlab API docs: https://docs.gitlab.com/ee/api/project_markdown_uploads.html
|
||||
type ProjectMarkdownUploadedFile struct {
|
||||
ID int `json:"id"`
|
||||
Alt string `json:"alt"`
|
||||
URL string `json:"url"`
|
||||
FullPath string `json:"full_path"`
|
||||
Markdown string `json:"markdown"`
|
||||
}
|
||||
|
||||
// ProjectMarkdownUpload represents a single project markdown upload.
|
||||
//
|
||||
// Gitlab API docs: https://docs.gitlab.com/ee/api/project_markdown_uploads.html
|
||||
type ProjectMarkdownUpload struct {
|
||||
ID int `json:"id"`
|
||||
Size int `json:"size"`
|
||||
Filename string `json:"filename"`
|
||||
CreatedAt *time.Time `json:"created_at"`
|
||||
UploadedBy *User `json:"uploaded_by"`
|
||||
}
|
||||
|
||||
// Gets a string representation of a ProjectMarkdownUpload.
|
||||
//
|
||||
// GitLab API docs: https://docs.gitlab.com/ee/api/project_markdown_uploads.html
|
||||
func (m ProjectMarkdownUpload) String() string {
|
||||
return Stringify(m)
|
||||
}
|
||||
|
||||
// UploadProjectMarkdown uploads a markdown file to a project.
|
||||
//
|
||||
// GitLab docs:
|
||||
// https://docs.gitlab.com/ee/api/project_markdown_uploads.html#upload-a-file
|
||||
func (s *ProjectMarkdownUploadsService) UploadProjectMarkdown(pid interface{}, content io.Reader, options ...RequestOptionFunc) (*ProjectMarkdownUploadedFile, *Response, error) {
|
||||
project, err := parseID(pid)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
u := fmt.Sprintf("projects/%s/uploads", PathEscape(project))
|
||||
|
||||
// We need to create the request as a GET request to make sure the options
|
||||
// are set correctly. After the request is created we will overwrite both
|
||||
// the method and the body.
|
||||
req, err := s.client.NewRequest(http.MethodPost, u, nil, options)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
// Overwrite the method and body.
|
||||
req.Method = http.MethodPost
|
||||
req.SetBody(content)
|
||||
|
||||
f := new(ProjectMarkdownUploadedFile)
|
||||
resp, err := s.client.Do(req, f)
|
||||
if err != nil {
|
||||
return nil, resp, err
|
||||
}
|
||||
|
||||
return f, resp, nil
|
||||
}
|
||||
|
||||
// ListProjectMarkdownUploads gets all markdown uploads for a project.
|
||||
//
|
||||
// GitLab API Docs:
|
||||
// https://docs.gitlab.com/ee/api/project_markdown_uploads.html#list-uploads
|
||||
func (s *ProjectMarkdownUploadsService) ListProjectMarkdownUploads(pid interface{}, options ...RequestOptionFunc) ([]*ProjectMarkdownUpload, *Response, error) {
|
||||
project, err := parseID(pid)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
u := fmt.Sprintf("projects/%s/uploads", PathEscape(project))
|
||||
|
||||
req, err := s.client.NewRequest(http.MethodGet, u, nil, options)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
var uploads []*ProjectMarkdownUpload
|
||||
resp, err := s.client.Do(req, &uploads)
|
||||
if err != nil {
|
||||
return nil, resp, err
|
||||
}
|
||||
|
||||
return uploads, resp, err
|
||||
}
|
||||
|
||||
// DownloadProjectMarkdownUploadByID downloads a specific upload by ID.
|
||||
//
|
||||
// GitLab API Docs:
|
||||
// https://docs.gitlab.com/ee/api/project_markdown_uploads.html#download-an-uploaded-file-by-id
|
||||
func (s *ProjectMarkdownUploadsService) DownloadProjectMarkdownUploadByID(pid interface{}, uploadID int, options ...RequestOptionFunc) ([]byte, *Response, error) {
|
||||
project, err := parseID(pid)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
u := fmt.Sprintf("projects/%s/uploads/%d", PathEscape(project), uploadID)
|
||||
|
||||
req, err := s.client.NewRequest(http.MethodGet, u, nil, options)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
var f bytes.Buffer
|
||||
resp, err := s.client.Do(req, &f)
|
||||
if err != nil {
|
||||
return nil, resp, err
|
||||
}
|
||||
|
||||
return f.Bytes(), resp, err
|
||||
}
|
||||
|
||||
// DownloadProjectMarkdownUploadBySecretAndFilename downloads a specific upload
|
||||
// by secret and filename.
|
||||
//
|
||||
// GitLab API Docs:
|
||||
// https://docs.gitlab.com/ee/api/project_markdown_uploads.html#download-an-uploaded-file-by-secret-and-filename
|
||||
func (s *ProjectMarkdownUploadsService) DownloadProjectMarkdownUploadBySecretAndFilename(pid interface{}, secret string, filename string, options ...RequestOptionFunc) ([]byte, *Response, error) {
|
||||
project, err := parseID(pid)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
u := fmt.Sprintf("projects/%s/uploads/%s/%s", PathEscape(project), PathEscape(secret), PathEscape(filename))
|
||||
|
||||
req, err := s.client.NewRequest(http.MethodGet, u, nil, options)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
var f bytes.Buffer
|
||||
resp, err := s.client.Do(req, &f)
|
||||
if err != nil {
|
||||
return nil, resp, err
|
||||
}
|
||||
|
||||
return f.Bytes(), resp, err
|
||||
}
|
||||
|
||||
// DeleteProjectMarkdownUploadByID deletes an upload by ID.
|
||||
//
|
||||
// GitLab API Docs:
|
||||
// https://docs.gitlab.com/ee/api/project_markdown_uploads.html#delete-an-uploaded-file-by-id
|
||||
func (s *ProjectMarkdownUploadsService) DeleteProjectMarkdownUploadByID(pid interface{}, uploadID int, options ...RequestOptionFunc) (*Response, error) {
|
||||
project, err := parseID(pid)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
u := fmt.Sprintf("projects/%s/uploads/%d", PathEscape(project), uploadID)
|
||||
|
||||
req, err := s.client.NewRequest(http.MethodDelete, u, nil, options)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return s.client.Do(req, nil)
|
||||
}
|
||||
|
||||
// DeleteProjectMarkdownUploadBySecretAndFilename deletes an upload
|
||||
// by secret and filename.
|
||||
//
|
||||
// GitLab API Docs:
|
||||
// https://docs.gitlab.com/ee/api/project_markdown_uploads.html#delete-an-uploaded-file-by-secret-and-filename
|
||||
func (s *ProjectMarkdownUploadsService) DeleteProjectMarkdownUploadBySecretAndFilename(pid interface{}, secret string, filename string, options ...RequestOptionFunc) (*Response, error) {
|
||||
project, err := parseID(pid)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
u := fmt.Sprintf("projects/%s/uploads/%s/%s",
|
||||
PathEscape(project), PathEscape(secret), PathEscape(filename))
|
||||
|
||||
req, err := s.client.NewRequest(http.MethodDelete, u, nil, options)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return s.client.Do(req, nil)
|
||||
}
|
||||
2
vendor/github.com/xanzy/go-gitlab/project_variables.go
generated
vendored
2
vendor/github.com/xanzy/go-gitlab/project_variables.go
generated
vendored
@@ -41,6 +41,7 @@ type ProjectVariable struct {
|
||||
VariableType VariableTypeValue `json:"variable_type"`
|
||||
Protected bool `json:"protected"`
|
||||
Masked bool `json:"masked"`
|
||||
Hidden bool `json:"hidden"`
|
||||
Raw bool `json:"raw"`
|
||||
EnvironmentScope string `json:"environment_scope"`
|
||||
Description string `json:"description"`
|
||||
@@ -132,6 +133,7 @@ type CreateProjectVariableOptions struct {
|
||||
Description *string `url:"description,omitempty" json:"description,omitempty"`
|
||||
EnvironmentScope *string `url:"environment_scope,omitempty" json:"environment_scope,omitempty"`
|
||||
Masked *bool `url:"masked,omitempty" json:"masked,omitempty"`
|
||||
MaskedAndHidden *bool `url:"masked_and_hidden,omitempty" json:"masked_and_hidden,omitempty"`
|
||||
Protected *bool `url:"protected,omitempty" json:"protected,omitempty"`
|
||||
Raw *bool `url:"raw,omitempty" json:"raw,omitempty"`
|
||||
VariableType *VariableTypeValue `url:"variable_type,omitempty" json:"variable_type,omitempty"`
|
||||
|
||||
6
vendor/github.com/xanzy/go-gitlab/projects.go
generated
vendored
6
vendor/github.com/xanzy/go-gitlab/projects.go
generated
vendored
@@ -1270,6 +1270,8 @@ type HookCustomHeader struct {
|
||||
type ProjectHook struct {
|
||||
ID int `json:"id"`
|
||||
URL string `json:"url"`
|
||||
Name string `json:"name"`
|
||||
Description string `json:"description"`
|
||||
ConfidentialNoteEvents bool `json:"confidential_note_events"`
|
||||
ProjectID int `json:"project_id"`
|
||||
PushEvents bool `json:"push_events"`
|
||||
@@ -1352,6 +1354,8 @@ func (s *ProjectsService) GetProjectHook(pid interface{}, hook int, options ...R
|
||||
// GitLab API docs:
|
||||
// https://docs.gitlab.com/ee/api/projects.html#add-project-hook
|
||||
type AddProjectHookOptions struct {
|
||||
Name *string `url:"name,omitempty" json:"name,omitempty"`
|
||||
Description *string `url:"description,omitempty" json:"description,omitempty"`
|
||||
ConfidentialIssuesEvents *bool `url:"confidential_issues_events,omitempty" json:"confidential_issues_events,omitempty"`
|
||||
ConfidentialNoteEvents *bool `url:"confidential_note_events,omitempty" json:"confidential_note_events,omitempty"`
|
||||
DeploymentEvents *bool `url:"deployment_events,omitempty" json:"deployment_events,omitempty"`
|
||||
@@ -1403,6 +1407,8 @@ func (s *ProjectsService) AddProjectHook(pid interface{}, opt *AddProjectHookOpt
|
||||
// GitLab API docs:
|
||||
// https://docs.gitlab.com/ee/api/projects.html#edit-project-hook
|
||||
type EditProjectHookOptions struct {
|
||||
Name *string `url:"name,omitempty" json:"name,omitempty"`
|
||||
Description *string `url:"description,omitempty" json:"description,omitempty"`
|
||||
ConfidentialIssuesEvents *bool `url:"confidential_issues_events,omitempty" json:"confidential_issues_events,omitempty"`
|
||||
ConfidentialNoteEvents *bool `url:"confidential_note_events,omitempty" json:"confidential_note_events,omitempty"`
|
||||
DeploymentEvents *bool `url:"deployment_events,omitempty" json:"deployment_events,omitempty"`
|
||||
|
||||
13
vendor/github.com/xanzy/go-gitlab/users.go
generated
vendored
13
vendor/github.com/xanzy/go-gitlab/users.go
generated
vendored
@@ -1553,12 +1553,21 @@ func (s *UsersService) CreateUserRunner(opts *CreateUserRunnerOptions, options .
|
||||
return r, resp, nil
|
||||
}
|
||||
|
||||
|
||||
// CreateServiceAccountUserOptions represents the available CreateServiceAccountUser() options.
|
||||
//
|
||||
// GitLab API docs: https://docs.gitlab.com/ee/api/user_service_accounts.html#create-a-service-account-user
|
||||
type CreateServiceAccountUserOptions struct {
|
||||
Name *string `url:"name,omitempty" json:"name,omitempty"`
|
||||
Username *string `url:"username,omitempty" json:"username,omitempty"`
|
||||
}
|
||||
|
||||
// CreateServiceAccountUser creates a new service account user.
|
||||
//
|
||||
// GitLab API docs:
|
||||
// https://docs.gitlab.com/ee/api/users.html#create-service-account-user
|
||||
func (s *UsersService) CreateServiceAccountUser(options ...RequestOptionFunc) (*User, *Response, error) {
|
||||
req, err := s.client.NewRequest(http.MethodPost, "service_accounts", nil, options)
|
||||
func (s *UsersService) CreateServiceAccountUser(opts *CreateServiceAccountUserOptions, options ...RequestOptionFunc) (*User, *Response, error) {
|
||||
req, err := s.client.NewRequest(http.MethodPost, "service_accounts", opts, options)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
@@ -199,7 +199,7 @@ github.com/spf13/viper/internal/features
|
||||
# github.com/subosito/gotenv v1.6.0
|
||||
## explicit; go 1.18
|
||||
github.com/subosito/gotenv
|
||||
# github.com/xanzy/go-gitlab v0.114.0
|
||||
# github.com/xanzy/go-gitlab v0.115.0
|
||||
## explicit; go 1.19
|
||||
github.com/xanzy/go-gitlab
|
||||
# go.uber.org/atomic v1.9.0
|
||||
|
||||
Reference in New Issue
Block a user