LogoLogo
  • ๐Ÿ“‘Introduction
  • ๐Ÿ› ๏ธCookbooks
    • โฑ๏ธExport Issue History
    • ๐Ÿ‘พCreate Jira Issue
    • ๐ŸงฉExtract customfields from issue(s)
    • ๐ŸŒ„Upload Content Attachment
    • ๐ŸšฎCreate Jira ITSM Request
    • ๐ŸšœEdit Jira Issue (Explicit)
    • ๐Ÿš›Edit Jira Issue (Implicit)
    • ๐ŸšŽCreate Jira Workflow
    • ๐Ÿ—ƒ๏ธAdd CustomField to Screen
    • ๐ŸšŸSearch Project Boards
    • ๐Ÿ“…Get User Last-Login Info
    • ๐Ÿค’Remove User Access
    • ๐ŸคฏSuspend User Access
    • ๐ŸฅณRestore User Access
    • ๐Ÿš‹Extract Project Administrators
    • ๐ŸงบSearch Jira User By Email
    • ๐ŸšžSearch Contents By CQL
    • ๐ŸŒŠCascade Permissions from Parent to Child
    • ๐ŸŽญPage Permission Helper
    • ๐Ÿค–Atlassian SCIM Onboarding
    • ๐Ÿ˜ƒCreate User via SCIM
    • ๐Ÿ›ฐ๏ธIssue Permission Helper
  • Jira Software Cloud
    • ๐Ÿ—ƒ๏ธIntroduction
    • ๐Ÿ“ฎAnnouncement Banner
    • ๐Ÿ”Application Roles
    • ๐Ÿ›ก๏ธ Audit records
    • ๐Ÿ“ˆDashboards
    • ๐Ÿ—„๏ธFilters
      • ๐ŸคSharing
    • ๐Ÿ‘ซGroups
    • ๐ŸžIssues
      • ๐Ÿ“ŽAttachments
      • ๐Ÿ“ฌComments
      • ๐ŸƒFields
        • ๐Ÿ–ผ๏ธConfiguration
          • ๐ŸคItems
          • ๐Ÿ”ƒSchemes
        • ๐ŸณContext
          • ๐Ÿ•งOption
        • ๐Ÿ—‘๏ธTrash
      • ๐Ÿท๏ธ Labels
      • ๐Ÿ”—Link
        • ๐Ÿ”ƒRemote
        • ๐Ÿ–‡๏ธTypes
      • ๐Ÿš›Metadata
      • ๐ŸฃPriorities
      • ๐Ÿ€Resolutions
      • ๐Ÿ“ŒSearch
      • ๐Ÿ“ฆType
        • ๐ŸŽดScheme
        • ๐Ÿ›…Screen Scheme
      • ๐Ÿ“ Vote
      • ๐ŸŽฏWatcher
      • ๐Ÿ•ฐ๏ธWorklogs
      • ๐Ÿ“คProperties
      • ๐Ÿ“ญArchiving
    • ๐Ÿ”“Permissions
      • ๐Ÿ“œScheme
        • ๐Ÿ”‘Grant
    • ๐Ÿ“šProjects
      • ๐ŸงฉCategories
      • ๐Ÿ”ฎComponents
      • ๐ŸšงPermission Schemes
      • ๐Ÿ“ฌNotification Schemes
      • ๐Ÿ’ผRoles
        • ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘งActors
      • ๐ŸงตTypes
      • ๐ŸงฑVersions
      • ๐Ÿช”Validation
      • ๐Ÿ™ŒFeatures
      • ๐Ÿ“คProperties
    • ๐Ÿ““Screens
      • ๐Ÿ“‚Tabs
        • ๐ŸงฐFields
      • ๐Ÿ“ Schemes
    • โš™๏ธServer
    • ๐Ÿ”ฉJQL
    • โš—๏ธTasks
    • ๐Ÿค“Users
      • ๐Ÿ“ Search
    • ๐Ÿ–จ๏ธWorkflow
      • ๐Ÿš›Scheme
        • ๐Ÿ“ฏIssue Type
      • ๐Ÿ—บ๏ธStatus
    • โš–๏ธMyself
    • ๐Ÿ“Teams
  • Jira Agile
    • ๐Ÿœ๏ธIntroduction
    • ๐Ÿ“‰Boards
      • ๐Ÿ“ƒBacklog
    • ๐Ÿ—“๏ธSprints
    • ๐Ÿ“ˆEpics
  • Jira Service Management
    • ๐Ÿ—บ๏ธIntroduction
    • ๐Ÿ‘จโ€โš–๏ธCustomer
    • โ„น๏ธInfo
    • ๐Ÿ“šKnowledgebase
    • ๐Ÿ›‚Organization
    • ๐Ÿ“™Request
      • ๐ŸšซApproval
      • ๐Ÿ“‚Attachments
      • ๐Ÿ“ฌComments
      • ๐Ÿ“ฎFeedback
      • ๐Ÿ‘ฅParticipants
      • โฐSLA
      • ๐Ÿ’พTypes
      • โš™๏ธService Desk
        • ๐Ÿ›Ž๏ธQueue
    • ๐Ÿ“™Workspaces
  • Jira Assets
    • ๐Ÿ“ Introduction
    • ๐Ÿ‘พIcons
    • ๐Ÿ”ŽAql
    • ๐Ÿ›๏ธObject
      • ๐Ÿ“ Schema
      • ๐ŸงฐType
        • ๐Ÿ›Ž๏ธAttribute
  • Confluence Cloud
    • ๐ŸŽ‘Introduction
    • ๐Ÿ“‰Analytics
    • ๐Ÿ“ขContent
      • ๐ŸŽฎProperties
      • ๐Ÿ“‚Attachments
      • ๐Ÿ“ฌComments
      • ๐ŸšฉLabels
      • ๐ŸŽŽChildren/Descendants
      • ๐Ÿ›ก๏ธPermissions
      • ๐Ÿ”žRestrictions
        • ๐ŸŽ‘Operations
          • ๐Ÿซ‚Group
          • ๐Ÿ‘คUser
      • ๐Ÿ”ƒVersions
    • ๐Ÿ’พSpace
      • ๐Ÿ›ก๏ธPermissions
    • ๐Ÿ”ฐLabel
    • ๐Ÿ”ŽSearch
    • ๐Ÿ–ผ๏ธLong Task
    • ๐Ÿ—ƒ๏ธTemplate
    • ๐ŸŒŠV2
      • ๐Ÿ”๏ธIntroduction
      • ๐ŸงบAttachments
        • ๐Ÿ’ปVersions
      • ๐Ÿ“ƒPage
      • ๐ŸชŸSpace
      • ๐Ÿ—ƒ๏ธCustom Content
  • Atlassian Admin Cloud
    • ๐ŸŒŒIntroduction
    • โ„น๏ธOrganization
      • ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆDirectory
      • ๐Ÿ‘”Policy
    • ๐Ÿ‘ฅUser
      • ๐Ÿ”“Token
    • ๐ŸงฐSCIM
      • ๐Ÿง™โ€โ™‚๏ธUsers
      • โ›น๏ธโ€โ™‚๏ธGroups
      • ๐Ÿ”ฉSchemas
  • Bitbucket Cloud
    • ๐Ÿ‘จโ€๐Ÿ’ปIntroduction
    • ๐Ÿ“ฐWorkspace
      • ๐Ÿ›ก๏ธPermissions
      • ๐Ÿ’พWebhooks
Powered by GitBook
  1. Confluence Cloud

Template

PreviousLong TaskNextV2

Last updated 7 months ago

Was this helpful?

The Confluence REST API template section provides a flexible and dynamic way to interact programmatically with Confluence templates, enabling users to automate and streamline content creation, modification, and management. Through this API, you can:

โ€ข Create templates: Automate the creation of page templates that can be reused across spaces or within a specific space, ensuring consistency and efficiency in content generation.

โ€ข Retrieve existing templates: Access detailed information about available templates, including their content, layout, and associated metadata.

โ€ข Update templates: Modify existing templates programmatically, allowing teams to keep templates up-to-date and aligned with changing documentation standards or guidelines.

โ€ข Delete templates (TODO): Remove outdated or unused templates, keeping the Confluence environment clean and relevant.

Integrate Confluence templates into custom workflows using the Confluence REST API to streamline content management, ensure documentation consistency, and automate tasks.

Update content template

PUT /wiki/rest/api/template

Update modifies a content template. Note that blueprint templates cannot be updated through

package main

import (
	"context"
	"fmt"
	"github.com/ctreminiom/go-atlassian/confluence"
	"github.com/ctreminiom/go-atlassian/pkg/infra/models"
	"log"
)

func main() {

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

	atlassian, err := confluence.New(nil, host)
	if err != nil {
		return
	}

	atlassian.Auth.SetBasicAuth(mail, token)

	payload := &models.UpdateTemplateScheme{
		TemplateID:   "272760834",
		Name:         "Template #1 - UPDATED",
		TemplateType: "page",
		Body: &models.ContentTemplateBodyCreateScheme{
			Storage: &models.ContentBodyCreateScheme{
				Value:          "<at:declarations><at:list at:name=\"variable_name\"><at:option at:value=\"\" /></at:list></at:declarations><h1>H1 UPDATED</h1><p /><p><at:var at:name=\"variable_name\" /> </p><p />",
				Representation: "storage",
			},
		},
		Description: "Template description sample",
		Labels: []models.LabelValueScheme{
			{
				Name: "template-tracking",
			},
			{
				Name: "template-tracking-new",
			},
		},
		Space: &models.SpaceScheme{
			Key: "DUMMY",
		},
	}

	templateUpdated, response, err := atlassian.Template.Update(context.Background(), payload)
	if err != nil {
		log.Println(response.Bytes.String())
		log.Println(response.Status, response.Endpoint)
		log.Fatal(err)
	}

	fmt.Println(templateUpdated.TemplateID)
	fmt.Println(templateUpdated.TemplateType)
	fmt.Println(templateUpdated.Description)
	fmt.Println(templateUpdated.Labels)
	fmt.Println(templateUpdated.Name)
	fmt.Println(templateUpdated.ReferencingBlueprint)
	fmt.Println(templateUpdated.TemplateID)
}

Create content template

POST /wiki/rest/api/template

Create a new content template. Note: Blueprint templates cannot be created using the REST API.

package main

import (
	"context"
	"fmt"
	"github.com/ctreminiom/go-atlassian/confluence"
	"github.com/ctreminiom/go-atlassian/pkg/infra/models"
	"log"
)

func main() {

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

	atlassian, err := confluence.New(nil, host)
	if err != nil {
		return
	}

	atlassian.Auth.SetBasicAuth(mail, token)

	payload := &models.CreateTemplateScheme{
		Name:         "Template #1",
		TemplateType: "page",
		Body: &models.ContentTemplateBodyCreateScheme{
			Storage: &models.ContentBodyCreateScheme{
				Value:          "<at:declarations><at:list at:name=\"variable_name\"><at:option at:value=\"\" /></at:list></at:declarations><h1>asdsadsadsa</h1><p /><p><at:var at:name=\"variable_name\" /> </p><p />",
				Representation: "storage",
			},
		},
		Description: "Template description sample",
		Labels: []models.LabelValueScheme{
			{
				Name: "template-tracking",
			},
		},
		Space: &models.SpaceScheme{
			Key: "DUMMY",
		},
	}

	templateCreated, response, err := atlassian.Template.Create(context.Background(), payload)
	if err != nil {
		log.Println(response.Status, response.Endpoint)
		log.Fatal(err)
	}

	fmt.Println(templateCreated.TemplateID)
	fmt.Println(templateCreated.TemplateType)
	fmt.Println(templateCreated.Description)
	fmt.Println(templateCreated.Labels)
	fmt.Println(templateCreated.Name)
	fmt.Println(templateCreated.ReferencingBlueprint)
	fmt.Println(templateCreated.TemplateID)
}

Get content template

GET /wiki/rest/api/template/{contentTemplateId}

Retrieve a content template with detailed information, including the template's name, the associated space or blueprint, the template body,

package main

import (
	"context"
	"fmt"
	"github.com/ctreminiom/go-atlassian/confluence"
	"log"
)

func main() {

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

	atlassian, err := confluence.New(nil, host)
	if err != nil {
		return
	}

	atlassian.Auth.SetBasicAuth(mail, token)

	template, response, err := atlassian.Template.Get(context.Background(), "272760834")
	if err != nil {
		log.Println(response.Status, response.Endpoint)
		log.Println(response.Bytes.String())
		log.Fatal(err)
	}

	fmt.Println(template.TemplateID)
	fmt.Println(template.TemplateType)
	fmt.Println(template.Description)
	fmt.Println(template.Labels)
	fmt.Println(template.Name)
	fmt.Println(template.ReferencingBlueprint)
	fmt.Println(template.TemplateID)
}

Get content templates

Get blueprints content

Remove template

๐Ÿ—ƒ๏ธ
Page cover image

Note

This feature is currently not implemented. If you would like to request an implementation or contribute a feature pull request, please refer .

Note

This feature is currently not implemented. If you would like to request an implementation or contribute a feature pull request, please refer .

Note

This feature is currently not implemented. If you would like to request an implementation or contribute a feature pull request, please refer .

here
here
here