Get Notification schemes
GET /rest/api/{2-3}/notificationscheme
Search returns a paginated list of notification schemes ordered by the display name.
Copy package main
import (
"context"
"fmt"
_ "github.com/ctreminiom/go-atlassian/jira/v2"
"github.com/ctreminiom/go-atlassian/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.
Copy
package main
import (
"context"
"fmt"
_ "github.com/ctreminiom/go-atlassian/jira/v2"
"github.com/ctreminiom/go-atlassian/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" )
payload := & models . NotificationSchemePayloadScheme {
Description: "Notification Scheme #2" ,
Name: "Notification Scheme Description sample" ,
Events: [] * models . NotificationSchemePayloadEventScheme {
{
Event: & models . NotificationSchemeEventTypeScheme {
ID: "1" ,
},
Notifications: [] * models . NotificationSchemeEventNotificationScheme {
{
NotificationType: "Group" ,
Parameter: "jira-administrators" ,
},
},
},
},
}
notificationScheme, response, err := jira.NotificationScheme. Create (context. Background (), payload)
if err != nil {
if response != nil {
log. Println ( "Response HTTP Response" , response.Bytes. String ())
}
log. Fatal (err)
}
fmt. Println (notificationScheme.Id)
}
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.
Copy package main
import (
"context"
"fmt"
_ "github.com/ctreminiom/go-atlassian/jira/v2"
"github.com/ctreminiom/go-atlassian/jira/v3"
"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" )
mapping, response, err := jira.NotificationScheme. Projects (context. Background (), nil , nil , 0 , 50 )
if err != nil {
if response != nil {
log. Println ( "Response HTTP Response" , response.Bytes. String ())
}
log. Fatal (err)
}
for _, element := range mapping.Values {
fmt. Println (element.NotificationSchemeId, element.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.
Copy package main
import (
"context"
_ "github.com/ctreminiom/go-atlassian/jira/v2"
"github.com/ctreminiom/go-atlassian/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" )
payload := & models . NotificationSchemePayloadScheme {
Description: "description update sample" ,
Name: "new notification scheme name" ,
}
response, err := jira.NotificationScheme. Update (context. Background (), "10002" , payload)
if err != nil {
if response != nil {
log. Println ( "Response HTTP Response" , response.Bytes. String ())
}
log. Fatal (err)
}
}
Update Notification scheme
PUT /rest/api/{2-3}/notificationscheme/{id}
Update updates a notification scheme.
Copy package main
import (
"context"
"fmt"
_ "github.com/ctreminiom/go-atlassian/jira/v2"
"github.com/ctreminiom/go-atlassian/jira/v3"
"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" )
notificationScheme, response, err := jira.NotificationScheme. Get (context. Background (), "10000" , [] string { "all" })
if err != nil {
if response != nil {
log. Println ( "Response HTTP Response" , response.Bytes. String ())
}
log. Fatal (err)
}
fmt. Println (notificationScheme.Self)
fmt. Println (notificationScheme.Name)
fmt. Println (notificationScheme.ID)
fmt. Println (notificationScheme.Description)
fmt. Println (notificationScheme.Scope)
fmt. Println (notificationScheme.NotificationSchemeEvents)
}
Delete Notification scheme
DELETE /rest/api/{2-3}/notificationscheme/{notificationSchemeId}
Delete deletes a notification scheme.
Copy package main
import (
"context"
_ "github.com/ctreminiom/go-atlassian/jira/v2"
"github.com/ctreminiom/go-atlassian/jira/v3"
"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" )
response, err := jira.NotificationScheme. Delete (context. Background (), "10002" )
if err != nil {
if response != nil {
log. Println ( "Response HTTP Response" , response.Bytes. String ())
}
log. Fatal (err)
}
}
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.
Copy package main
import (
"context"
_ "github.com/ctreminiom/go-atlassian/jira/v2"
"github.com/ctreminiom/go-atlassian/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" )
payload := & models . NotificationSchemeEventsPayloadScheme {
NotificationSchemeEvents: [] * models . NotificationSchemePayloadEventScheme {
{
Event: & models . NotificationSchemeEventTypeScheme {
ID: "1" ,
},
Notifications: [] * models . NotificationSchemeEventNotificationScheme {
{
NotificationType: "Group" ,
Parameter: "jira-administrators" ,
},
},
},
},
}
response, err := jira.NotificationScheme. Append (context. Background (), "10002" , payload)
if err != nil {
if response != nil {
log. Println ( "Response HTTP Response" , response.Bytes. String ())
}
log. Fatal (err)
}
}
Remove Notifications to scheme
DELETE /rest/api/{2-3}/notificationscheme/{notificationSchemeId}/notification/{notificationId}
Remove removes a notification from a notification scheme.
Copy package main
import (
"context"
_ "github.com/ctreminiom/go-atlassian/jira/v2"
"github.com/ctreminiom/go-atlassian/jira/v3"
"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" )
response, err := jira.NotificationScheme. Remove (context. Background (), "10002" , "10000" )
if err != nil {
if response != nil {
log. Println ( "Response HTTP Response" , response.Bytes. String ())
}
log. Fatal (err)
}
}