Giter VIP home page Giter VIP logo

drone-dingtalk-message's Introduction

Drone CI DingTalk Message Plugin

GitHub Actions Go Report Card codecov Dependabot LICENSE: MIT

中文说明

Drone CI Plugin Config

0.8.x

pipeline:
  ...
  notification:
    image: lddsb/drone-dingtalk-message
    token: your-group-bot-token
    type: markdown

1.x

steps:
...
- name: notification
  image: lddsb/drone-dingtalk-message
  settings:
    token: your-groupbot-token
    type: markdown
    secret: your-secret-for-generate-sign
    debug: true

Plugin Parameter Reference

token(required)

String. Access token for group bot. (you can get the access token when you add a bot in a group)

type(required)

String. Message type, plan support text, markdown, link and action card, but due to time issue, it's only support markdown and text now, and you can get the best experience by use markdown.

secret

String. Secret for generate sign.

tpl

String. Your custom tpl, it can be a local path, or a remote http link.

debug Boolean. Debug mode.

tips_title

String. You can customize the title for the message tips, just work when message type is markdown.

success_color

String. You can customize the color for the build success message by this option, you should input a hex color, example: 008000.

failure_color

String. You can customize the color for the build success message by this option, you should input a hex color, example: FF0000.

success_pic

String. You can customize the picture for the build success message by this option.

failure_pic

String. You can customize the picture for the build failure message by this option.

tpl_commit_branch_name

String. You can customize the [TPL_COMMIT_BRANCH] by this configuration item.

tpl_repo_short_name

String. You can customize the [TPL_REPO_SHORT_NAME] by this configuration item.

tpl_repo_full_name

String. You can customize the [TPL_REPO_FULL_NAME] by this configuration item.

tpl_build_status_success

String. You can customize the [TPL_BUILD_STATUS] (when status=success) by this configuration item.

tpl_build_status_failure

String. You can customize the [TPL_BUILD_STATUS] (when status=failure) by this configuration item.

msg_at_mobiles

String. You want at's phone number in the group, if you need at multi phone numbers, you can use , to separate. (if you use markdown type, you need define the at content in your tpl file)

TPL

tpl won't work with message type link !!!

That's a good news, we support tpl now.This is an example for markdown message:

# [TPL_REPO_FULL_NAME] build [TPL_BUILD_STATUS], takes [TPL_BUILD_CONSUMING]s
@mobile1 @mobile2
[TPL_COMMIT_MSG]

[TPL_COMMIT_SHA]([TPL_COMMIT_LINK])

[[TPL_AUTHOR_NAME]([TPL_AUTHOR_EMAIL])](mailto:[TPL_AUTHOR_EMAIL])

[Click To The Build Detail Page [TPL_STATUS_EMOTICON)]]([TPL_BUILD_LINK])

You can write your own tpl what you want. The syntax of tpl is very simple, you can fill tpl with preset variables. It's a list of currently supported preset variables:

Variable Value
[TPL_REPO_SHORT_NAME] current repo name(bare name)
[TPL_REPO_FULL_NAME] the full name(with group name) of current repo
[TPL_REPO_GROUP_NAME] the group name of current repo
[TPL_REPO_OWNER_NAME] the owner name of current repo
[TPL_REPO_REMOTE_URL] the remote url of current repo
[TPL_BUILD_STATUS] current build status(e.g., success, failure)
[TPL_BUILD_LINK] current build link
[TPL_BUILD_EVENT] current build event(e.g., push, pull request, etc.)
[TPL_BUILD_CONSUMING] current build consuming, second
[TPL_COMMIT_SHA] current commit sha
[TPL_COMMIT_REF] current commit ref(e.g., refs/heads/master, etc.)
[TPL_COMMIT_LINK] current commit remote url link
[TPL_COMMIT_BRANCH] current branch name(e.g., dev, etc)
[TPL_COMMIT_MSG] current commit message
[TPL_AUTHOR_NAME] current commit author name
[TPL_AUTHOR_EMAIL] current commit author email
[TPL_AUTHOR_USERNAME] current commit author username
[TPL_AUTHOR_AVATAR] current commit author avatar
[TPL_STATUS_PIC] custom pic for build status
[TPL_STATUS_COLOR] custom color for build status
[TPL_STATUS_EMOTICON] custom emoticon for build status

Screen Shot

  • Send Success

send-success

  • Missing Access Token

missing-access-token

  • Missing Message Type Or Not Support Message Type

message-type-error

  • Markdown DingTalk Message(default)

markdown-message-default

  • Markdown DingTalk Message(color and sha link)

markdown-massage-customize

  • Markdown DingTalk Message(color, pic and sha link)

markdown-massage-customize

Development

We use go mod to manage dependencies, so it's easy to build.

  • get this repo
$ git clone https://github.com/lddsb/drone-dingtalk-message.git /path/to/you/want
  • build
$ cd /path/to/you/want && GO111MODULE=on go build .
  • run
$ ./drone-dingtalk-message -h

Todo

It's sad, just support text, markdown and link type now.

  • implement all message type
  • i18N
  • batch send
  • retry(e.g., network error, etc.)

Kubernetes Users

Attention kubernetes users, CHANGELOG.It's the available versions:

  • 1.1(always latest for 1.1.x)
  • >=1.1.4
  • 1.2(always latest for 1.2.x)
  • >=1.2.4
  • latest(always latest)

drone-dingtalk-message's People

Contributors

lddsb avatar dependabot-preview[bot] avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.