Skip to content

Instantly share code, notes, and snippets.

@korniltsev
Last active February 16, 2016 11:31
Show Gist options
  • Save korniltsev/53b184d5cc9414733764 to your computer and use it in GitHub Desktop.
Save korniltsev/53b184d5cc9414733764 to your computer and use it in GitHub Desktop.
def createSlackTasks() {
mAndroidAppExtension.applicationVariants.all{
if (!it.buildType.debuggable){
def task = mProject.tasks.create("slack${it.name.capitalize()}", UploadSlackTask)
task.variant = it
task.dependsOn it.assemble
}
}
}
class UploadSlackTask extends DefaultTask {
@Input
ApplicationVariant variant;
@TaskAction
def upload(){
File apkFile = variant.outputs[0].outputFile
def http = new HTTPBuilder("https://slack.com/api/files.upload")
http.request(Method.POST) { req ->
requestContentType: "multipart/form-data"
MultipartEntity multiPartContent = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE)
multiPartContent.addPart("channels", new StringBody("android"))
multiPartContent.addPart("token", new StringBody("xoxp-"))
multiPartContent.addPart("file", new FileBody(apkFile))
req.setEntity(multiPartContent)
response.success = { resp, reader ->
if (resp.statusLine.statusCode == 200) {
println(reader.getText())
}
}
}
}
}
@ivanlunardi
Copy link

Hello,
could you provide a complete example ?
I can not integrate it in my script .
Thanks Ivan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment