Coder Social home page Coder Social logo

yammer-plugin's Introduction

Yammer Plugin for Jenkins

The Yammer Plugin for Jenkins enables notifications to be sent to a Yammer group on the success or failure of a build. Yammer Plugin on jenkins-ci.org.

This is an example of a successful build notification sent to the Build Notifications group:

Success notification in Yammer

Installation

Easy install

Install the plugin from the Jenkins Plugin Manager. It should be listed as Yammer Plugin under Build Notifiers.

Manual install

  1. Install the ruby-runtime plugin.
  2. Install the Token Macro Plugin. It may already be installed.
  3. Download the latest Yammer Plugin .hpi file from: http://maven.jenkins-ci.org/content/repositories/releases/org/jenkins-ci/ruby-plugins/yammer.
  4. Upload the .hpi file into Jenkins from Plugin Manager > Advanced.
  5. Restart Jenkins.

Obtaining an Access Token

See: Obtaining an Access Token

Enabling Yammer Notifications

In the job configuration, under Post-build Actions, select Yammer Notification:

Enable Yammer Notifications for a job

The Access Token defaults to an environment variable named YAMMER_ACCESS_TOKEN under the assumption that the same access token will likely be the same for many, if not all jobs. For example, you might create a Yammer user representing Jenkins that will act as the source of all Yammer notifications from Jenkins.

Global environment variables can be set from Jenkins at Manage Jenkins > Configure System > Global Properties:

OAuth environment variables

With the Access Token set, select whether to send success and/or failure notifications:

Enable success notifications

Both success and failure notifications require a message and a group name. Environment variables are also allowed.

Please ensure that the Yammer user associated with the OAuth token has been added to the specified groups, otherwise the post will result in a HTTP 403 Unauthorised error.

Config File

The same settings specified in the job configuration can be provided as a JSON file that can be generated during the build. By default, the file should be named yammer.json under the workspace root.

Example file:

{
    "success": {
        "message": "This success message was generated by the build.",
        "group": "Build Notifications"
    },
    "failure": {
        "message": "This failure message was generated by the build.",
        "group": "Build Notifications"
    }
}

The file path can be changed in the "Advanced" section of the job configuration.

Please note that the settings specified in the job configuration will be merged with the config file. Any duplicate settings will overidden by the config file.

Support

Raise an issue

Changelog

Version 1.1.0 (July 19, 2013)

  • Add config file so that settings can be generated during the build.

Version 1.0.0 (March 15, 2013)

  • Upgrade to OAuth 2.0 requiring only an access token.
  • Yammer group name replaces group ID.

Version 0.1.1 (March 15, 2013)

  • Add support for Jenkins version 1.505. Thanks Jörg Wendland.
  • Use better OAuth terminology (consumer instead of client). Thanks mikec-bullhorn.

Version 0.1.0 (June 24, 2012)

  • Initial release.

yammer-plugin's People

Contributors

jwendland avatar mikec-bullhorn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yammer-plugin's Issues

Works in Jenkins-2?

Since this plugin does not appear to have been actively developed on since 2013, I wonder if there is even the remotest chance of getting it to work on a Jenkins-2 instance?
I get this error:
image

yammer plugin loses post-build action settings after Jenkins restarted

As long as I don't restart Jenkins, the plugin works, and its settings persist on job's configuration page. But after Jenkins is restarted the Post-Build Action settings of yammer plugin on all job's configuration pages are lost and have to be re-entered. The jobs' respective config.xml files retain correct settings, but they seem to have no effect. I noticed the same problem with another Jenkins plugin based on ruby runtime plugin. Have you see this issue? Thank you.

Error - status 410

Here's what I get... any suggestions?

Sending Yammer notification...
ERROR: An error occurred while sending the Yammer notification.
the server responded with status 410
D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/response/raise_error.rb:8:in on_complete' D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/response.rb:9:incall'
D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/response.rb:63:in on_complete' D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/response.rb:8:incall'
D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday_middleware-0.9.0/lib/faraday_middleware/response_middleware.rb:30:in call' D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/response.rb:8:incall'
D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/connection.rb:247:in run_request' D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/connection.rb:107:inget'
org/jruby/RubyBasicObject.java:1689:in __send__' org/jruby/RubyKernel.java:2111:insend'
D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yam-0.0.6/lib/yam/request.rb:33:in request' D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yam-0.0.6/lib/yam/request.rb:22:inget'
D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/client.rb:38:in get' D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/throttle.rb:13:inwhen_ready'
D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/client.rb:36:in get' D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/client.rb:17:inget_autocomplete'
D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/requests/groups/group_with_name_request.rb:22:in groups_with_prefix' D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/requests/groups/group_with_name_request.rb:18:ingroup_with_name'
D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/requests/groups/group_with_name_request.rb:12:in send' D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/facade.rb:32:ingroup_with_name'
D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/models/yammer_notification_sender.rb:35:in group_id' D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/models/yammer_notification_sender.rb:18:insend_notification'
D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/models/yammer_notification_performer.rb:20:in perform' D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/models/yammer_notification.rb:19:inperform'
D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/jenkins-plugin-runtime-0.2.3/lib/jenkins/tasks/build_step_proxy.rb:14:in perform' D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/jenkins-plugin-runtime-0.2.3/lib/jenkins/tasks/build_step_proxy.rb:22:inboolean_result'
D:/CI/Jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/jenkins-plugin-runtime-0.2.3/lib/jenkins/tasks/build_step_proxy.rb:13:in `perform'

Question regarding 401 Error

Hello,

My company has been using the Yammer Plugin successfully for a few months now. Sometime shortly after Dec 20 it stopped working for us. The Yammer account works fine when sending a message manually to the particular group we use. I even went through the process of creating a new Yammer app and getting a new access token, which made no difference. Also, the Yammer account is an admin for the group. Following is the error message from the Jenkins console output. Thanks in advance for your help. - Jon

Sending Yammer notification...
ERROR: An error occurred while sending the Yammer notification.
the server responded with status 401
/var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/response/raise_error.rb:8:in on_complete' /var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/response.rb:9:incall'
/var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/response.rb:63:in on_complete' /var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/response.rb:8:incall'
/var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday_middleware-0.9.0/lib/faraday_middleware/response_middleware.rb:30:in call' /var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/response.rb:8:incall'
/var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/connection.rb:247:in run_request' /var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/connection.rb:107:inget'
org/jruby/RubyBasicObject.java:1689:in __send__' org/jruby/RubyKernel.java:2111:insend'
/var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yam-0.0.6/lib/yam/request.rb:33:in request' /var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yam-0.0.6/lib/yam/request.rb:22:inget'
/var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/client.rb:38:in get' /var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/throttle.rb:13:inwhen_ready'
/var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/client.rb:36:in get' /var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/client.rb:17:inget_autocomplete'
/var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/requests/groups/group_with_name_request.rb:22:in groups_with_prefix' /var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/requests/groups/group_with_name_request.rb:18:ingroup_with_name'
/var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/requests/groups/group_with_name_request.rb:12:in send' /var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/facade.rb:32:ingroup_with_name'
/var/lib/jenkins/plugins/yammer/WEB-INF/classes/models/yammer_notification_sender.rb:35:in group_id' /var/lib/jenkins/plugins/yammer/WEB-INF/classes/models/yammer_notification_sender.rb:18:insend_notification'
/var/lib/jenkins/plugins/yammer/WEB-INF/classes/models/yammer_notification_performer.rb:20:in perform' /var/lib/jenkins/plugins/yammer/WEB-INF/classes/models/yammer_notification.rb:19:inperform'
/var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/jenkins-plugin-runtime-0.2.3/lib/jenkins/tasks/build_step_proxy.rb:14:in perform' /var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/jenkins-plugin-runtime-0.2.3/lib/jenkins/tasks/build_step_proxy.rb:22:inboolean_result'
/var/lib/jenkins/plugins/yammer/WEB-INF/classes/vendor/gems/gems/jenkins-plugin-runtime-0.2.3/lib/jenkins/tasks/build_step_proxy.rb:13:in `perform'

Error 404 when trying to post message

I'm trying to use this plugin to post a message to a group in Yammer, but I keep getting a 404 error, even though the group names I have tried with are valid.

Any idea what I could be doing wrong?

Sending Yammer notification...
ERROR: An error occurred while sending the Yammer notification.
the server responded with status 404
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/response/raise_error.rb:6:in `on_complete'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/response.rb:9:in `call'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/response.rb:63:in `on_complete'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/response.rb:8:in `call'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday_middleware-0.9.0/lib/faraday_middleware/response_middleware.rb:30:in `call'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/response.rb:8:in `call'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/connection.rb:247:in `run_request'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/faraday-0.8.7/lib/faraday/connection.rb:107:in `get'
org/jruby/RubyBasicObject.java:1689:in `__send__'
org/jruby/RubyKernel.java:2111:in `send'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yam-0.0.6/lib/yam/request.rb:33:in `request'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yam-0.0.6/lib/yam/request.rb:22:in `get'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/client.rb:38:in `get'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/throttle.rb:13:in `when_ready'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/client.rb:36:in `get'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/client.rb:17:in `get_autocomplete'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/requests/groups/group_with_name_request.rb:22:in `groups_with_prefix'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/requests/groups/group_with_name_request.rb:18:in `group_with_name'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/requests/groups/group_with_name_request.rb:12:in `send'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/yamwow-0.1.6/lib/yamwow/facade.rb:32:in `group_with_name'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/models/yammer_notification_sender.rb:35:in `group_id'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/models/yammer_notification_sender.rb:18:in `send_notification'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/models/yammer_notification_performer.rb:20:in `perform'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/models/yammer_notification.rb:19:in `perform'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/jenkins-plugin-runtime-0.2.3/lib/jenkins/tasks/build_step_proxy.rb:14:in `perform'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/jenkins-plugin-runtime-0.2.3/lib/jenkins/tasks/build_step_proxy.rb:22:in `boolean_result'
/Users/Shared/Jenkins/Home/plugins/yammer/WEB-INF/classes/vendor/gems/gems/jenkins-plugin-runtime-0.2.3/lib/jenkins/tasks/build_step_proxy.rb:13:in `perform'

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.