operando/gradle-slack-plugin


Gradle plugin to send messages to Slack after each build

Download


Step 1. Add the JitPack repository to your build file

Add it in your root settings.gradle at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url 'https://jitpack.io' }
		}
	}

Add it in your settings.gradle.kts at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url = uri("https://jitpack.io") }
		}
	}

Add to pom.xml

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Add it in your build.sbt at the end of resolvers:

 
    resolvers += "jitpack" at "https://jitpack.io"
        
    

Add it in your project.clj at the end of repositories:

 
    :repositories [["jitpack" "https://jitpack.io"]]
        
    

Step 2. Add the dependency

	dependencies {
		implementation 'com.github.operando:gradle-slack-plugin:1.2.0'
	}
	dependencies {
		implementation("com.github.operando:gradle-slack-plugin:1.2.0")
	}
	<dependency>
	    <groupId>com.github.operando</groupId>
	    <artifactId>gradle-slack-plugin</artifactId>
	    <version>1.2.0</version>
	</dependency>

                            
    libraryDependencies += "com.github.operando" % "gradle-slack-plugin" % "1.2.0"
        
        

                            
    :dependencies [[com.github.operando/gradle-slack-plugin "1.2.0"]]
        
        

Readme


gradle-slack-plugin

Gradle plugin to send Slack messages according to your build lifecycle. Useful to integrate with a CI server, to notify everyone that some gradle task has failed.

Build Passing Build Failing

Disable git information Slack messages.

disable git info

Usage

The plugin is available in JitPack. Just add the following to your buildscript dependencies:

buildscript {

    repositories {
    	....
        maven {
            url "https://jitpack.io"
        }
    }
    
    dependencies {
    	...
        classpath 'com.github.operando:gradle-slack-plugin:1.2.0'
    }
}

Apply it:

apply plugin: 'com.mindera.gradle.slack'

Configuration

First you need to setup slack to receive incoming messages:

  1. Go to your_team.slack.com/services/new/incoming-webhook
  2. Press Add Incoming WebHooks Integration
  3. Grab your WebHook URL

Then in your build.gradle file:

slack {
    url 'your WebHook URL'
}

By default, everytime a build fails a slack message will be sent to the channel you configured. If a build succeeds nothing happens.

There are more optional fields that enable you to configure the slack integration:

slack {
    url 'your WebHook URL'
    dependsOnTasks 'testDebug', 'publishApkRelease'
    title 'my app name'
    enabled = isCDMachine()
    gitInfo true or false
}
  • dependsOnTasks: let you specify a list of tasks that will trigger a message to slack, in case of error and success;
  • title: the title of the slack message, can be the name of your app for instance;
  • enabled: a boolean to define if the slack integration is active or not, useful to avoid sending messages on your local builds.
  • gitInfo: a boolean to define if the git information is send or not.

Credits

Slack WebHook Java API by gpedro

License

gradle-slack-plugin is available under the MIT license. See the LICENSE file for more info.