# Chapter 42. The Announce Plugin

The Gradle announce allows to send custom announcements during a build. The following notification systems are supported:

- Twitter
- notify-send (Ubuntu)
- Snarl (Windows)
- Growl (Mac OS X)

## 42.1. Usage

To use the announce plugin, apply it to your build script:

Example 42.1. Using the announce plugin

`build.gradle`

    apply plugin: 'announce'

Next, configure your notification service(s) of choice (see table below for which configuration properties are available):

Example 42.2. Configure the announce plugin

`build.gradle`

    announce {
      username = 'myId'
      password = 'myPassword'
    }

Finally, send announcements with the `announce` method:

Example 42.3. Using the announce plugin

`build.gradle`

    task helloWorld << {
        println "Hello, world!"
    }

    helloWorld.doLast {
        announce.announce("helloWorld completed!", "twitter")
        announce.announce("helloWorld completed!", "local")
    }

The `announce` method takes two String arguments: The message to be sent, and the notification service to be used. The following table lists supported notification services and their configuration properties.

Table 42.1. Announce Plugin Notification Services

Notification Service | Operating System | Configuration Properties | Further Information
twitter | Any | username, password |
snarl | Windows |  |
growl | Mac OS X |  |
notify-send | Ubuntu |  | Requires the notify-send package to be installed. Use `sudo apt-get install libnotify-bin` to install it.
local | Windows, Mac OS X, Ubuntu |  | Automatically chooses between snarl, growl, and notify-send depending on the current operating system.

## 42.2. Configuration

See `AnnouncePluginExtension`.