Page cover

๐Ÿ“ Schema

Get object schema list

GET /jsm/assets/workspace/{workspaceId}/v1/objectschema/list

The List method return all the object schemas available on Assets.

package main

import (
	"context"
	"fmt"
	"github.com/ctreminiom/go-atlassian/assets"
	"github.com/ctreminiom/go-atlassian/jira/sm"
	"log"
	"os"
)

func main() {

	var (
		host  = os.Getenv("HOST")
		mail  = os.Getenv("MAIL")
		token = os.Getenv("TOKEN")
	)

	serviceManagement, err := sm.New(nil, host)
	if err != nil {
		log.Fatal(err)
	}

	serviceManagement.Auth.SetBasicAuth(mail, token)
	serviceManagement.Auth.SetUserAgent("curl/7.54.0")

	// Get the workspace ID
	workspaces, response, err := serviceManagement.WorkSpace.Gets(context.Background())
	if err != nil {
		if response != nil {
			log.Println(response.Bytes.String())
			log.Println("Endpoint:", response.Endpoint)
		}
		log.Fatal(err)
	}

	workSpaceID := workspaces.Values[0].WorkspaceId

	// Instance the Assets Cloud client
	asset, err := assets.New(nil)
	if err != nil {
		log.Fatal(err)
	}

	asset.Auth.SetBasicAuth(mail, token)

	schemas, response, err := asset.ObjectSchema.List(context.Background(), workSpaceID)
	if err != nil {
		if response != nil {
			log.Println(response.Bytes.String())
			log.Println("Endpoint:", response.Endpoint)
		}
		log.Fatal(err)
	}

	for _, schema := range schemas.Values {

		fmt.Println("--------")
		fmt.Println(schema.Name)
		fmt.Println(schema.GlobalId)
		fmt.Println(schema.Id)
		fmt.Println(schema.Name)
		fmt.Println(schema.ObjectSchemaKey)
		fmt.Println(schema.Status)
		fmt.Println(schema.Description)
		fmt.Println(schema.Created)
		fmt.Println(schema.Updated)
		fmt.Println(schema.ObjectCount)
		fmt.Println(schema.ObjectTypeCount)
		fmt.Println(schema.CanManage)
		fmt.Println("--------")
	}
}

Create object schema

POST /jsm/assets/workspace/{workspaceId}/v1/objectschema/create

The Create method creates a new object schema

Get object schema

GET /jsm/assets/workspace/{workspaceId}/v1/objectschema/{id}

The Get method returns an object schema by ID

Update object schema

PUT /jsm/assets/workspace/{workspaceId}/v1/objectschema/{id}

The Update method updates an object schema

Delete object schema

DELETE /jsm/assets/workspace/{workspaceId}/v1/objectschema/{id}

The Delete method deletes a schema

Get object schema attributes

GET /jsm/assets/workspace/{workspaceId}/v1/objectschema/{id}/attributes

The Attributes method finds all the object type attributes for this object schema

Get object schema types

GET /jsm/assets/workspace/{workspaceId}/v1/objectschema/{id}/objecttypes

The ObjectTypes method returns all the object types for this object schema

Last updated

Was this helpful?