Page cover

๐Ÿ“ฌNotification Schemes

Get Notification schemes

GET /rest/api/{2-3}/notificationscheme

Search returns a paginated list of notification schemes ordered by the display name.

package main

import (
	"context"
	"fmt"
	_ "github.com/ctreminiom/go-atlassian/v2/jira/v2"
	"github.com/ctreminiom/go-atlassian/v2/jira/v3"
	"github.com/ctreminiom/go-atlassian/pkg/infra/models"
	"log"
	"os"
)

func main() {

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

	jira, err := v3.New(nil, host)
	if err != nil {
		return
	}

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

	options := &models.NotificationSchemeSearchOptions{
		NotificationSchemeIDs: []string{"10000"},
		ProjectIDs:            nil,
		OnlyDefault:           false,
		Expand:                nil,
	}

	notificationSchemes, response, err := jira.NotificationScheme.Search(context.Background(), options, 0, 50)
	if err != nil {
		if response != nil {
			log.Println("Response HTTP Response", response.Bytes.String())
		}
		log.Fatal(err)
	}

	for _, notificationScheme := range notificationSchemes.Values {
		fmt.Println(notificationScheme)
	}
}

Create Notification scheme

POST /rest/api/{2-3}/notificationscheme

Create creates a notification scheme with notifications. You can create up to 1000 notifications per request.

Get Project notification schemes

GET /rest/api/{2-3}/notificationscheme/project

Projects returns a paginated mapping of project that have notification scheme assigned. You can provide either one or multiple notification scheme IDs or project IDs to filter by.

If you don't provide any, this will return a list of all mappings. Note that only company-managed (classic) projects are supported. This is because team-managed projects don't have a concept of a default notification scheme. The mappings are ordered by projectId.

Get Notification scheme

GET /rest/api/{2-3}/notificationscheme/{id}

Get returns a notification scheme, including the list of events and the recipients who will receive notifications for those events.

Update Notification scheme

PUT /rest/api/{2-3}/notificationscheme/{id}

Update updates a notification scheme.

Delete Notification scheme

DELETE /rest/api/{2-3}/notificationscheme/{notificationSchemeId}

Delete deletes a notification scheme.

Append Notifications to scheme

PUT /rest/api/{2-3}/notificationscheme/{id}/notification

Append adds notifications to a notification scheme. You can add up to 1000 notifications per request.

Remove Notifications to scheme

DELETE /rest/api/{2-3}/notificationscheme/{notificationSchemeId}/notification/{notificationId}

Remove removes a notification from a notification scheme.

Last updated

Was this helpful?