Skip to content
This repository has been archived by the owner on Feb 13, 2020. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ikikko/typetalk-plugin
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: jenkinsci/typetalk-plugin
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Able to merge. These branches can be automatically merged.

Commits on Feb 2, 2014

  1. Copy the full SHA
    e2b237b View commit details

Commits on Feb 3, 2014

  1. Change group id to default

    ikikko committed Feb 3, 2014
    Copy the full SHA
    876101b View commit details

Commits on May 5, 2014

  1. Copy the full SHA
    2dde60b View commit details
  2. Support 'NOT_BUILT' result

    ikikko committed May 5, 2014
    Copy the full SHA
    27bc7fc View commit details
  3. i18n

    ikikko committed May 5, 2014
    Copy the full SHA
    3b43f40 View commit details
  4. Refactor

    ikikko committed May 5, 2014
    Copy the full SHA
    9fd1dc4 View commit details
  5. Add BuildWrapper to notify when the build starts/ends

    I remove a notifier field 'notifyWhenSuccess' because I want you to use a buildWrapper instead of it.
    So the plugin since this version is not compatible with previous version.
    ikikko committed May 5, 2014
    Copy the full SHA
    0039b8d View commit details
  6. Update project configurations

    ikikko committed May 5, 2014
    Copy the full SHA
    a896013 View commit details
  7. Copy the full SHA
    169f132 View commit details

Commits on May 11, 2014

  1. Tweak message resources

    ikikko committed May 11, 2014
    Copy the full SHA
    a82c40f View commit details
  2. prepare release typetalk-1.0.0

    ikikko committed May 11, 2014
    Copy the full SHA
    66a5441 View commit details
  3. Copy the full SHA
    3d0ec94 View commit details

Commits on Jan 2, 2015

  1. Copy the full SHA
    de5378b View commit details
  2. Copy the full SHA
    ec16ec6 View commit details
  3. Add tests

    ikikko committed Jan 2, 2015
    Copy the full SHA
    0cca538 View commit details
  4. Remove unneeded code

    ikikko committed Jan 2, 2015
    Copy the full SHA
    c0befd8 View commit details
  5. Copy the full SHA
    8e459d3 View commit details
  6. Copy the full SHA
    a6b34db View commit details
  7. Check BUILD permission

    ikikko committed Jan 2, 2015
    Copy the full SHA
    5ae7fc3 View commit details
  8. Update README.md

    ikikko committed Jan 2, 2015
    Copy the full SHA
    583b57c View commit details
  9. Tweak regex for parser

    ikikko committed Jan 2, 2015
    Copy the full SHA
    c412372 View commit details

Commits on Jan 5, 2015

  1. Tweak label to be descriptive

    ikikko committed Jan 5, 2015
    Copy the full SHA
    3db418b View commit details

Commits on Jan 24, 2015

  1. Copy the full SHA
    109748d View commit details

Commits on Jan 31, 2015

  1. Handle response back

    ikikko committed Jan 31, 2015
    Copy the full SHA
    96c5c9f View commit details

Commits on Feb 3, 2015

  1. Implement help executor

    ikikko committed Feb 3, 2015
    Copy the full SHA
    b9e8a2d View commit details
  2. Create parameter object

    ikikko committed Feb 3, 2015
    Copy the full SHA
    0d13024 View commit details

Commits on Feb 7, 2015

  1. Implement list executor

    ikikko committed Feb 7, 2015
    Copy the full SHA
    f29d99f View commit details
  2. Copy the full SHA
    ea06ef8 View commit details
  3. Refactor

    ikikko committed Feb 7, 2015
    Copy the full SHA
    1b37878 View commit details

Commits on Feb 10, 2015

  1. Copy the full SHA
    4e898c6 View commit details

Commits on Feb 11, 2015

  1. Extract support class

    ikikko committed Feb 11, 2015
    Copy the full SHA
    bf24a39 View commit details
  2. Copy the full SHA
    6657649 View commit details

Commits on Feb 15, 2015

  1. Copy the full SHA
    8fe1b9b View commit details

Commits on Feb 24, 2015

  1. prepare release typetalk-1.1.0

    ikikko committed Feb 24, 2015
    Copy the full SHA
    28e16b3 View commit details
  2. Update README

    ikikko committed Feb 24, 2015
    Copy the full SHA
    dc30d20 View commit details
  3. Tweak README

    ikikko committed Feb 24, 2015
    Copy the full SHA
    0a66031 View commit details
  4. Copy the full SHA
    c31d162 View commit details

Commits on May 28, 2016

  1. Remove unused argument

    ikikko committed May 28, 2016
    Copy the full SHA
    65b5cc6 View commit details
  2. Update gradle config

    ikikko committed May 28, 2016
    Copy the full SHA
    1fcb3d8 View commit details

Commits on Jun 11, 2016

  1. Add TypetalkSendStep

    ikikko committed Jun 11, 2016
    Copy the full SHA
    bd6144d View commit details
  2. Copy the full SHA
    743e4ee View commit details

Commits on Jun 12, 2016

  1. Add wrapper step

    ikikko committed Jun 12, 2016
    Copy the full SHA
    8f9c96a View commit details

Commits on Dec 31, 2016

  1. Refactor

    * Introduce delegate class
    * Move pipeline class to separate package
    ikikko committed Dec 31, 2016
    Copy the full SHA
    336e5fa View commit details
  2. Extract callback as a class

    ikikko committed Dec 31, 2016
    Copy the full SHA
    e52acdf View commit details
  3. Copy the full SHA
    88d2724 View commit details

Commits on Jan 22, 2017

  1. Copy the full SHA
    6ab08e3 View commit details

Commits on May 13, 2017

  1. Merge pull request #1 from jenkinsci/make-pipeline

    pipeline
    ikikko authored May 13, 2017
    Copy the full SHA
    40f0102 View commit details
  2. Update README

    nakamura committed May 13, 2017
    Copy the full SHA
    2dc4903 View commit details
  3. prepare release typetalk-1.2.0

    nakamura committed May 13, 2017
    Copy the full SHA
    d29eee0 View commit details
  4. prepare for next development iteration

    nakamura committed May 13, 2017
    Copy the full SHA
    5f39eae View commit details
Showing with 3,978 additions and 729 deletions.
  1. +10 −0 .github/dependabot.yml
  2. +1 −0 .github/release-drafter.yml
  3. +59 −0 .github/workflows/cd.yaml
  4. +70 −0 .github/workflows/codeql-analysis.yml
  5. +3 −0 .gitignore
  6. +7 −0 .mvn/extensions.xml
  7. +3 −0 .mvn/maven.config
  8. BIN .mvn/wrapper/maven-wrapper.jar
  9. +18 −0 .mvn/wrapper/maven-wrapper.properties
  10. +23 −0 CHANGELOG.md
  11. +31 −0 CONTRIBUTING.md
  12. +6 −0 Jenkinsfile
  13. +102 −13 README.md
  14. +0 −60 build.gradle
  15. BIN docs/images/build_environment.png
  16. BIN docs/images/chatops-build_en.gif
  17. BIN docs/images/chatops-help_en.gif
  18. BIN docs/images/chatops-list_en.gif
  19. BIN docs/images/global_configuration.png
  20. BIN docs/images/post_build_actions.png
  21. BIN docs/images/post_typetalk.png
  22. BIN gradle/wrapper/gradle-wrapper.jar
  23. +0 −6 gradle/wrapper/gradle-wrapper.properties
  24. +0 −164 gradlew
  25. +0 −90 gradlew.bat
  26. +316 −0 mvnw
  27. +188 −0 mvnw.cmd
  28. +153 −0 pom.xml
  29. +11 −0 spotbugsfilter.xml
  30. +0 −40 src/main/java/org/jenkinsci/plugins/typetalk/Message.java
  31. +0 −99 src/main/java/org/jenkinsci/plugins/typetalk/Typetalk.java
  32. +81 −0 src/main/java/org/jenkinsci/plugins/typetalk/TypetalkBuildWrapper.java
  33. +113 −181 src/main/java/org/jenkinsci/plugins/typetalk/TypetalkNotifier.java
  34. +41 −0 src/main/java/org/jenkinsci/plugins/typetalk/TypetalkUniqueIdProperty.java
  35. +38 −0 src/main/java/org/jenkinsci/plugins/typetalk/TypetalkWebhookAction.java
  36. +32 −0 src/main/java/org/jenkinsci/plugins/typetalk/TypetalkWebhookCrumbExclusion.java
  37. +69 −0 src/main/java/org/jenkinsci/plugins/typetalk/api/MessageEntity.java
  38. +125 −0 src/main/java/org/jenkinsci/plugins/typetalk/api/Typetalk.java
  39. +79 −0 src/main/java/org/jenkinsci/plugins/typetalk/delegate/BuildWrapperDelegate.java
  40. +48 −0 src/main/java/org/jenkinsci/plugins/typetalk/delegate/NotifyDelegate.java
  41. +198 −0 src/main/java/org/jenkinsci/plugins/typetalk/pipeline/TypetalkBuildWrapperStep.java
  42. +106 −0 src/main/java/org/jenkinsci/plugins/typetalk/pipeline/TypetalkSendStep.java
  43. +24 −0 src/main/java/org/jenkinsci/plugins/typetalk/support/Emoji.java
  44. +88 −0 src/main/java/org/jenkinsci/plugins/typetalk/support/ResultSupport.java
  45. +99 −0 src/main/java/org/jenkinsci/plugins/typetalk/support/TypetalkMessage.java
  46. +81 −0 src/main/java/org/jenkinsci/plugins/typetalk/support/UniqueIdConverter.java
  47. +15 −0 src/main/java/org/jenkinsci/plugins/typetalk/webhookaction/NoSuchProjectException.java
  48. +65 −0 src/main/java/org/jenkinsci/plugins/typetalk/webhookaction/ResponseParameter.java
  49. +68 −0 src/main/java/org/jenkinsci/plugins/typetalk/webhookaction/WebhookExecutor.java
  50. +56 −0 src/main/java/org/jenkinsci/plugins/typetalk/webhookaction/WebhookExecutorFactory.java
  51. +70 −0 src/main/java/org/jenkinsci/plugins/typetalk/webhookaction/WebhookRequest.java
  52. +126 −0 src/main/java/org/jenkinsci/plugins/typetalk/webhookaction/executorimpl/BuildExecutor.java
  53. +185 −0 src/main/java/org/jenkinsci/plugins/typetalk/webhookaction/executorimpl/HelpExecutor.java
  54. +66 −0 src/main/java/org/jenkinsci/plugins/typetalk/webhookaction/executorimpl/ListExecutor.java
  55. +21 −0 src/main/java/org/jenkinsci/plugins/typetalk/webhookaction/executorimpl/NoSuchProjectExecutor.java
  56. +18 −0 src/main/java/org/jenkinsci/plugins/typetalk/webhookaction/executorimpl/UndefinedExecutor.java
  57. +3 −1 src/main/resources/index.jelly
  58. +43 −0 src/main/resources/org/jenkinsci/plugins/typetalk/TypetalkBuildWrapper/config.jelly
  59. +4 −0 src/main/resources/org/jenkinsci/plugins/typetalk/TypetalkBuildWrapper/help-notifyMessage.html
  60. +11 −5 src/main/resources/org/jenkinsci/plugins/typetalk/TypetalkNotifier/config.jelly
  61. +6 −4 src/main/resources/org/jenkinsci/plugins/typetalk/TypetalkNotifier/global.jelly
  62. +4 −4 src/main/resources/org/jenkinsci/plugins/typetalk/TypetalkNotifier/help-credentials.html
  63. +7 −0 src/main/resources/org/jenkinsci/plugins/typetalk/TypetalkUniqueIdProperty/config.jelly
  64. +4 −0 src/main/resources/org/jenkinsci/plugins/typetalk/TypetalkUniqueIdProperty/help-uniqueId.html
  65. +43 −0 src/main/resources/org/jenkinsci/plugins/typetalk/pipeline/TypetalkBuildWrapperStep/config.jelly
  66. +4 −0 ...esources/org/jenkinsci/plugins/typetalk/pipeline/TypetalkBuildWrapperStep/help-notifyMessage.html
  67. +25 −0 src/main/resources/org/jenkinsci/plugins/typetalk/pipeline/TypetalkSendStep/config.jelly
  68. +13 −0 src/main/resources/org/jenkinsci/plugins/typetalk/pipeline/TypetalkSendStep/help.html
  69. +87 −0 src/test/groovy/org/jenkinsci/plugins/typetalk/ResultSupportSpec.groovy
  70. +0 −58 src/test/groovy/org/jenkinsci/plugins/typetalk/TypetalkNotifierSpec.groovy
  71. +7 −4 src/test/groovy/org/jenkinsci/plugins/typetalk/TypetalkSpec.groovy
  72. +97 −0 src/test/groovy/org/jenkinsci/plugins/typetalk/support/UniqueIdConverterSpec.groovy
  73. +149 −0 src/test/groovy/org/jenkinsci/plugins/typetalk/webhookaction/WebhookExecutorFactorySpec.groovy
  74. +271 −0 src/test/groovy/org/jenkinsci/plugins/typetalk/webhookaction/executorimpl/BuildExecutorSpec.groovy
  75. +182 −0 src/test/groovy/org/jenkinsci/plugins/typetalk/webhookaction/executorimpl/HelpExecutorSpec.groovy
  76. +73 −0 src/test/groovy/org/jenkinsci/plugins/typetalk/webhookaction/executorimpl/ListExecutorSpec.groovy
  77. +32 −0 src/test/resources/org/jenkinsci/plugins/typetalk/webhookaction/webhook-request.json
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: 2
updates:
- package-ecosystem: maven
directory: /
schedule:
interval: weekly
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
1 change: 1 addition & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
_extends: .github
59 changes: 59 additions & 0 deletions .github/workflows/cd.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Note: additional setup is required, see https://www.jenkins.io/redirect/continuous-delivery-of-plugins

name: cd
on:
workflow_dispatch:
check_run:
types:
- completed

jobs:
validate:
runs-on: ubuntu-latest
outputs:
should_release: ${{ steps.verify-ci-status.outputs.result == 'success' && steps.interesting-categories.outputs.interesting == 'true' }}
steps:
- name: Verify CI status
uses: jenkins-infra/verify-ci-status-action@v1.2.0
id: verify-ci-status
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
output_result: true

- name: Release Drafter
uses: release-drafter/release-drafter@v5
if: steps.verify-ci-status.outputs.result == 'success'
with:
name: next
tag: next
version: next
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Check interesting categories
uses: jenkins-infra/interesting-category-action@v1.1.0
id: interesting-categories
if: steps.verify-ci-status.outputs.result == 'success'
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

release:
runs-on: ubuntu-latest
needs: [validate]
if: needs.validate.outputs.should_release == 'true'
steps:
- name: Check out
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up JDK 8
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 8
- name: Release
uses: jenkins-infra/jenkins-maven-cd-action@v1.3.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
MAVEN_TOKEN: ${{ secrets.MAVEN_TOKEN }}
70 changes: 70 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '32 21 * * 1'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'java' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support

steps:
- name: Checkout repository
uses: actions/checkout@v3

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main

# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl

# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language

#- run: |
# make bootstrap
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -7,3 +7,6 @@ work/
.settings/
classes/
src/test/resources/config.properties
target
.idea
*.iml
7 changes: 7 additions & 0 deletions .mvn/extensions.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd">
<extension>
<groupId>io.jenkins.tools.incrementals</groupId>
<artifactId>git-changelist-maven-extension</artifactId>
<version>1.3</version>
</extension>
</extensions>
3 changes: 3 additions & 0 deletions .mvn/maven.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
-Pconsume-incrementals
-Pmight-produce-incrementals
-Dchangelist.format=%d.v%s
Binary file added .mvn/wrapper/maven-wrapper.jar
Binary file not shown.
18 changes: 18 additions & 0 deletions .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# CHANGELOG

## Version 1.3.0 (Dec 29, 2017)

- Fix POST to /typetalk/notify with CSRF protection

## Version 1.2.0 (Mar 14, 2017)

- Support pipeline

## Version 1.1.0 (Feb 25, 2015)

- Add "operation from Typetalk" features

## Version 1.0.0 (May 12, 2014)

- v1 release
- 'Notify When Success' in Post-build Actions section is removed.
- If you use it, please 'Notify end' in Build Environment section instead of it.

## Version 0.9.1 (Feb 3, 2014)

- Initial release ( not finished i18n )
31 changes: 31 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Contributing to the Typetalk Plugin

Plugin source code is hosted on [GitHub](https://github.com/jenkinsci/typetalk-plugin).
New feature proposals and bug fix proposals should be submitted as
[GitHub pull requests](https://help.github.com/articles/creating-a-pull-request).
Your pull request will be evaluated by the [Jenkins job](https://ci.jenkins.io/job/Plugins/job/typetalk-plugin/).

Before submitting your change, please assure that you've added tests that verify the change.

## Code Coverage

Code coverage reporting is available as a maven target.
Please try to improve code coverage with tests when you submit.

* `mvn -P enable-jacoco clean install jacoco:report` to report code coverage

## Static Analysis

Please don't introduce new spotbugs output.

* `mvn spotbugs:check` to analyze project using [Spotbugs](https://spotbugs.github.io)
* `mvn spotbugs:gui` to review report using GUI

## File format

Files in the repository are in Unix format (LF line terminators).
Please continue using Unix file format for consistency.

## Reporting Issues

Report issues in the [Jenkins issue tracker](https://www.jenkins.io/participate/report-issue/redirect/#18421).
6 changes: 6 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
buildPlugin(
useContainerAgent: true,
configurations: [
[platform: 'linux', jdk: 8],
[platform: 'windows', jdk: 8],
])
115 changes: 102 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,114 @@
This is a Jenkins plugin which notifies to Typetalk ( https://typetalk.in/ )
# Typetalk Plugin

# How to build
- ref : https://wiki.jenkins-ci.org/display/JENKINS/Gradle+JPI+Plugin
## Introduction

## Import to IDE
This is a Jenkins plugin which works with [Typetalk](https://typetalk.com/). Typetalk is a chat tool provided by [Nulab](https://nulab.com).

```
gradle cleanEclipse eclipse
gradle cleanIdea idea
```
## Feature

### Send notification to Typetalk

You can send notification to Typetalk when the following build events occur

- when build starts / ends
- when build fails

![](docs/images/post_typetalk.png)

### Operate Jenkins from Typetalk

You can operate Jenkins by mentioning to a bot in Typetalk and this enables you to do ChatOps. If you can understand Japanese, Refer to [this blog entry](https://www.typetalk.com/ja/blog/chatops-without-programming/) for more details.

This plugin provides some features, like build/list projects.

#### Build project

![](docs/images/chatops-build_en.gif)

#### List projects

![](docs/images/chatops-list_en.gif)

#### Show help messages

![](docs/images/chatops-help_en.gif)

## Configuration

### Global configuration

At first, you must add credential to access Typetalk in the global configuration page.

How to configure credentials:

1. [Register a new application](https://typetalk.in/my/develop/applications/register) via the Typetalk Developer Application Page. Choose 'Client Credentials' in 'Grant Type'. Other items are optional.
2. Input the 'Client ID' and 'Client Secret' displayed on the registration page. Input any value in 'Name'.

![](docs/images/global_configuration.png)

## Launch for development
### Job configuration

#### Build Environment

In this section, you can configure notifications about starting/ending build.
You can also change notification message as you like.

![](docs/images/build_environment.png)

#### Post-build Actions

In this section, you can configure notifications about build results.
The notifications are sent when the build doesn't succeed and recovers.

![](docs/images/post_build_actions.png)

#### Pipeline step

You can use typetalk step in your pipeline as well as a classic style job.
When you want to notify a build result, you can use 'typetalkSend' step with 'catchError'.

```
gradle clean server
node {
catchError {
sh 'might fail'
}
typetalkSend name: 'ikikko test', topicId: 9260
}
```

## Package a plugin file
You can also notify an event which starts and/or ends with 'withTypetalk' step.

```
gradle clean jpi
withTypetalk(name: 'ikikko test', notifyEnd: true, notifyEndMessage: '', notifyStart: true, notifyStartMessage: '', topicId: 9260) {
// some block
}
```

If you don't install gradle, you can use gradlew / gradlew.bat instead of gradle.
#### Notification URL

In order to operate Jenkins from Typetalk, you should set a certain endpoint to Typetalk bot in a topic.

### Bot for all Jenkins projects

This plugin provides the following endpoint to receive message from Typetalk. You have to set it to a webhook URL of Typetalk bot. See the official document for more.

`http://<Jenkins URL>/typetalk/notify`

Then, you can operate Jenkins by mentioning to the bot as follows:

- `@jenkins+ build <project> (<key=value>)`
- `@jenkins+ list (<regexp filter>)`
- `@jenkins+ help (<sub command>)`

In this case, @jenkins+ is your bot name here.

### Bot for a single Jenkins project

By adding project name as a parameter of webhook URL,

`http://<Jenkins URL>/typetalk/notify?project=<project>`

then you can omit the name when mentioning to Typetalk bot like this.

- `@jenkins-project+`
- `@jenkins-project+ build (<key=value>)`
Loading