com.atlassian.bamboo.notification
Interface NotificationManager

All Known Implementing Classes:
NotificationManagerImpl

public interface NotificationManager

Provide methods to manage notifications.


Method Summary
 NotificationSet cloneNotificationSet(NotificationSet oldSet)
          Clone notification set and rules for use when cloning Plan
 NotificationRule createNotificationRule(Class<? extends NotificationType> notificationTypeClass, String conditionData, Class<? extends NotificationRecipient> recipientTypeClass, String recipientString)
          Creates a new NotificationRule from the NotificationType and NotificationRecipient specificed.
 NotificationRule createNotificationRule(String conditionKey, String conditionData, String recipientString, String recipientType)
          Create notification rule and provide required managers.
 NotificationRule createNotificationRuleFromAction(String notificationTypeKey, String notificationRecipientType, Map<String,String[]> actionParameters)
          Creates a notification rule based on the keys and params passed in from the action
 NotificationSet createOrGetSystemNotificationSet()
          Get the system notification set for this bamboo and if one doesn't exist create it!
 List<NotificationRecipient> getAllNotificationRecipients()
           
 List<NotificationType> getAllNotificationTypes()
           
 List<NotificationType> getChainNotificationTypes()
          Return notification types marked explicitly as "chain" notification in plugin xml description
 List<NotificationType> getDeploymentNotificationTypes()
           
 NotificationRecipient getNotificationRecipientFromKey(String notificationRecipientKey)
           
 NotificationRule getNotificationRuleById(long notificationId)
          Get a specific notification rule
 Set<NotificationRule> getNotificationRules(ImmutablePlan plan)
          Extract notification rules for a plan.
 Set<NotificationRule> getNotificationRules(Plan plan)
          Deprecated. since 5.4 use getNotificationRules(com.atlassian.bamboo.plan.cache.ImmutablePlan) instead
 List<UsersNotification> getNotificationRulesForUser(BambooUser user)
          Retrieves all notification rules associated with a given user searches for notification rules: * assigned to the user * assigned to a group the user belongs to * assigned to the user's email or user's im address * assigned to watchers of a build the user has marked as their favourite
 NotificationType getNotificationTypeFromKey(String key)
          Retrieve a specific NotificationType plugin module based on the given key.
 List<NotificationType> getPlanNotificationTypes()
           
 List<NotificationType> getSystemNotificationTypes()
           
 boolean isRecipientUserBase(NotificationRule notificationRule)
          Determines whether or not a notification rule recipient evaluates to a bamboo user and therefore comply with the users notification preference.
 void saveNotificationSet(NotificationSet nSet)
          Saves a notification set without requiring a build.
 void saveSystemNotificationRule(NotificationRule notificationRule)
          Do not use this method.
 

Method Detail

createNotificationRule

NotificationRule createNotificationRule(String conditionKey,
                                        String conditionData,
                                        String recipientString,
                                        String recipientType)
Create notification rule and provide required managers.

Parameters:
conditionKey - - key representation of the notification type
conditionData - - any data the notification type requires
recipientString - - data the recipient type requires (e.g user or group name)
recipientType - - key representing the type of recipient
Returns:
a newly created notification rule

createNotificationRule

@NotNull
NotificationRule createNotificationRule(@NotNull
                                                Class<? extends NotificationType> notificationTypeClass,
                                                @Nullable
                                                String conditionData,
                                                @NotNull
                                                Class<? extends NotificationRecipient> recipientTypeClass,
                                                @Nullable
                                                String recipientString)
Creates a new NotificationRule from the NotificationType and NotificationRecipient specificed.

Parameters:
notificationTypeClass - NotificationType
conditionData - - any data the notification type requires
recipientTypeClass - NotificationRecipient
recipientString - - data the recipient type requires (e.g user or group name)
Returns:
a newly created notification rule

createNotificationRuleFromAction

NotificationRule createNotificationRuleFromAction(String notificationTypeKey,
                                                  String notificationRecipientType,
                                                  Map<String,String[]> actionParameters)
                                                  throws IllegalArgumentException
Creates a notification rule based on the keys and params passed in from the action

Parameters:
notificationTypeKey - - the plugin key for the notification type selected
notificationRecipientType - - the plugin key for the notification recipient type selected
actionParameters - - the action params.
Returns:
a new notification rule
Throws:
IllegalArgumentException - if either of the keys provided is invalid

getNotificationRules

@NotNull
Set<NotificationRule> getNotificationRules(@Nullable
                                                   ImmutablePlan plan)
Extract notification rules for a plan.

Parameters:
plan - to get notifications for
Returns:
a set of notification rules belonging to the given plan.

getNotificationRules

@Deprecated
Set<NotificationRule> getNotificationRules(@Nullable
                                                      Plan plan)
Deprecated. since 5.4 use getNotificationRules(com.atlassian.bamboo.plan.cache.ImmutablePlan) instead


cloneNotificationSet

NotificationSet cloneNotificationSet(NotificationSet oldSet)
Clone notification set and rules for use when cloning Plan

Parameters:
oldSet - - the notification set to clone
Returns:
a new notification set containing the same notifications as in the original set.

getAllNotificationTypes

List<NotificationType> getAllNotificationTypes()
Returns:
a list of all enabled NotificationType plugin modules regardless of scope.

getSystemNotificationTypes

List<NotificationType> getSystemNotificationTypes()
Returns:
a list of all enabled NotificationType plugin modules which have the "system" scope

getDeploymentNotificationTypes

List<NotificationType> getDeploymentNotificationTypes()
Returns:
a list of all enabled NotificationType plugin modules which have the "deployment" scope

getPlanNotificationTypes

List<NotificationType> getPlanNotificationTypes()
Returns:
a list of all enabled NotificationType plugin modules which have the "plan" scope

getChainNotificationTypes

List<NotificationType> getChainNotificationTypes()
Return notification types marked explicitly as "chain" notification in plugin xml description

Returns:
a list of all enabled NotificationType plugin modules which have the "chain" scope

getNotificationTypeFromKey

NotificationType getNotificationTypeFromKey(String key)
Retrieve a specific NotificationType plugin module based on the given key.

Parameters:
key - of the notification type
Returns:
a specific NotificationType plugin module based on the given key.

getAllNotificationRecipients

List<NotificationRecipient> getAllNotificationRecipients()
Returns:
a list of all enabled NotificationRecipient plugin modules

getNotificationRecipientFromKey

NotificationRecipient getNotificationRecipientFromKey(String notificationRecipientKey)
Parameters:
notificationRecipientKey - represntenting the NotificationRecipient required
Returns:
a specific NotificationRecipient plugin module based on the given key.

saveNotificationSet

void saveNotificationSet(NotificationSet nSet)
Saves a notification set without requiring a build.

Parameters:
nSet - the notification set to save

getNotificationRulesForUser

@NotNull
List<UsersNotification> getNotificationRulesForUser(@NotNull
                                                            BambooUser user)
Retrieves all notification rules associated with a given user searches for notification rules: * assigned to the user * assigned to a group the user belongs to * assigned to the user's email or user's im address * assigned to watchers of a build the user has marked as their favourite

Parameters:
user - BambooUser to look up notifications for
Returns:
all notification rules associated with a given user following the above rules

isRecipientUserBase

boolean isRecipientUserBase(NotificationRule notificationRule)
Determines whether or not a notification rule recipient evaluates to a bamboo user and therefore comply with the users notification preference.

Parameters:
notificationRule - to check
Returns:
true if the recipient evaluates to a user

saveSystemNotificationRule

void saveSystemNotificationRule(@NotNull
                                NotificationRule notificationRule)
Do not use this method. Use SystemNotificationService.saveSystemNotificationRule(); Save an individual system notification rule.

Parameters:
notificationRule - to be added

getNotificationRuleById

@Nullable
NotificationRule getNotificationRuleById(long notificationId)
Get a specific notification rule

Parameters:
notificationId - of the notification to get.
Returns:
the notification rule with the given ID, or null if one doesn't eixst

createOrGetSystemNotificationSet

@NotNull
NotificationSet createOrGetSystemNotificationSet()
Get the system notification set for this bamboo and if one doesn't exist create it!

Returns:


Copyright © 2015 Atlassian Software Systems Pty Ltd. All rights reserved.