Skip to content

doximity/defect-dojo-client-go

Repository files navigation

defect-dojo-client-go

DefectDojo API client in Go

This client is generated automatically from the DefectDojo OpenAPI 3.0 spec, using github.com/deepmap/oapi-codegen. So it has some quirks.

API Documentation: https://pkg.go.dev/github.com/doximity/defect-dojo-client-go

Usage

Import the module:

import (
	dd "github.com/doximity/defect-dojo-client-go"
	"github.com/deepmap/oapi-codegen/pkg/securityprovider"
)

Create a client:

url := "https://demo.defectdojo.org"
token := os.Getenv("DOJO_APIKEY")

tokenProvider, err := securityprovider.NewSecurityProviderApiKey("header", "Authorization", fmt.Sprintf("Token %s", token))
if err != nil {
	panic(err)
}

client, err := dd.NewClientWithResponses(url, dd.WithRequestEditorFn(tokenProvider.Intercept))

Make a request (in this case create a product, i.e. POST /products/):

apiResp, err := client.ProductsCreateWithResponse(ctx, dd.ProductsCreateJSONRequestBody{
	Name:        "My Product",
	Description: "A description",
	ProdType:    1,
})

Access fields from the response:

if apiResp.StatusCode() == 201 {
	createdProductId := apiResp.JSON201.Id
	//...
}

Development

To build the client, run:

$ oapi-codegen Defect-Dojo-API-v2.x.x.json > defectdojo.gen.go

Contributing

Pull requests are welcome. By contributing to this repository you are agreeing to the Contributor License Agreement (CONTRIBUTING.md)

Licencse

Licensed under the Apache v2 license. See LICENSE.txt

About

DefectDojo API client in Go

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •