Alert High severity JIRA issues through WSO2 ESB JIRA & TWILIO connectors

The below section describes how to configure cloud to cloud integration with WSO2 ESB Connectors using WSO2 Developer Studio.

Scenario:

Query new (open) high severity issues created in JIRA system and alert them by a SMS.

Untitled

The latest version of Developer Studio can be downloaded from [1]

Import connectors

Before you start creating ESB artifacts with connector operation, the necessary connectors should be imported into your workspace. You can download the ESB connectors from [2]

  • Create a  new ESBConfig project (SampleConnectorProject)
  • Right click on the created ‘SampleConnectorProject’ project and select ‘Import Connector’ from the context menu.

image07

  • Then browse the location of the connector zip and select the relevant connectors zip (jira-connector.zip, twilio-connector.zip) to import.
  • Create Sequence, Proxy or REST API and the imported connectors will be appeared in the tool palette.

image08

Create ESB Artifacts with Connector Operations

The detailed configurations on how to perform various operations on Jira Connector and Twilio connector can be found in [3] and [4] respectively.

  • Create a Sequence[5] with name ‘AlertSequence’
  • Connect to Jira

image10

Drag and drop the ‘init’  JIRA operation from the tool palette before use any other Jira connector operations.

This configuration authenticates with Jira system by configuring the user credentials and login url. Provide username and password and url for Jira System.

image11

  • Get high severity issues created.

Drag and drop ‘searchJira’ operation from the tool palette to retrieve data from Jira system.

image01

Set query to get open , highest severity issues in property window.

priority = Highest AND resolution = Unresolved AND status = Open

image00

  • Loop through retrieved issues

Jira system response have following  format.

image03

According to response there are two issues in high priority and open. To loop through them Drop Iterator mediator.


image02

Set ‘Iterate Expression’ property to “//issues”of Iterator mediator.

image04

  • Extract the issue link from iterated issue.

Drop a Property mediator into the iterator. Set values as follows. It will concat issue link and “WSO2 ALERT” message.

image12

  • Connect to Twilio

Drop Twilio Init operation from palette and provide required account details to authenticate.

image13

 

  • Send extracted issue link as a SMS alert

Drop a Twilo sendSMS mediator.
image14

Set ‘To’ value to receiver phone number . (‘From’  value needs to be find in your Twilio account).

Simply place the ‘body’ with property value.

image15

  • It might be useful to add Log mediators for log sequence status intermediately.


image18

  • Triggering sequence in periodically

ESB Scheduled Task component can be use to invoke the sequence we created. Create a Shedule Task[6] name “AlertTask” in same project.

 

In properties, get the ‘Task Properties’ pop-up configuration window. Set ‘sequenceName’  to “AlertSequence” , ‘injectTo’ to “sequence” and ‘message’

image19

In AlertTask properties change ‘interval’ to 900, which is 15 minutes, and ‘count’ to -1 .

Create the deploy archive to deploy in WSO2 ESB

  • Create a Composite Application Project (SampleCAPP) from Developer Studio and include the SampleConnectorProject as Dependencies.

image20

Deploying in WSO2 ESB

  • Download WSO2 ESB 4.8.0 from [7].
  • Install the Connectors (Jira Connector and Twilio Connector)  [8].

After install connectors in ESB server make sure to activate them.

  • Deploy the ‘SampleCAPP’ in Developer Studio[9]

Check issues intermittently by client REST application

This issues review scenario completely time synchronized. If someone needs to check whether are there high priority issues immediately, we should be able to invoke the sequence.

Considering user makes request from REST client.

  • Create REST API artifact in Sample SampleConnectorProject[10]

A REST API allows you to configure REST endpoints in the ESB by directly specifying HTTP verbs (such as POST and GET), URI templates, and URL mappings through an API.

image21

  • Drop AlertSequence into insequence from pallet Defined Sequences section.

image16

Make sure to set value ‘true’ for Continue Parent property in AlertSequence, Iterator mediator.

image17

  • Drop ‘Respond’ mediator. (this will redirect results to user)


image09

Now deploy the  SampleCAPP.  In management console, REST api menu page will show the SampleRESTAPI, and API Invocation URL. Using this url, we can simply check the issues created with high priority intermittently.

image05

[1] http://wso2.com/products/developer-studio/

[2]. https://github.com/wso2/esb-connectors/tree/master/distribution

[3]. http://docs.wso2.org/display/ESB480/JIRA+Connector

[4]. http://docs.wso2.org/display/ESB480/Twilio+Connector

[5].http://docs.wso2.org/display/DVS350/Creating+ESB+Artifacts#CreatingESBArtifacts-Workingwithsequences

[6]http://docs.wso2.org/display/DVS350/Creating+ESB+Artifacts#CreatingESBArtifacts-Creatingascheduledtask

[7] http://wso2.com/products/enterprise-service-bus/

[8] http://docs.wso2.org/display/ESB480/Managing+Connectors+in+Your+ESB+Instance

[9]http://docs.wso2.org/display/DVS350/Deploying+and+Debugging#DeployingandDebugging-DeployingaC-ApptoarunningserverinsideEclipse

[10] http://docs.wso2.org/display/DVS350/Creating+ESB+Artifacts#CreatingESBArtifacts-CreatingaRESTAPI

vote for SourceForge Community Choice

The vote for July 2015 Community Choice SourceForge Project of the Month is now available, and will run until June 15, 2015 12:00 UTC. Here are the candidates:

Octave-Forge: Octave-Forge is a central location for the collaborative development of packages for GNU Octave. The Octave-Forge packages expand Octave’s core functionality by providing field specific features via Octave’s package system. For example, image and signal processing, fuzzy logic, instrument control, and statistics packages are examples of individual Octave-Forge packages. Download Octave-Forge now.

Smoothwall: Smoothwall is a best-of-breed Internet firewall/router, designed to run on commodity hardware and to provide an easy-to-use administration interface to those using it. Built using free and open source software (FOSS), it’s distributed under the GNU Public License. Download Smoothwall now.

Robolinux: RoboLinux is a Linux desktop solution for a home office, SOHO, and enterprise users looking for a well-protected migration path away from other operating systems. Download Robolinux now.

NAS4Free: NAS4Free is an embedded Open Source Storage distribution that supports sharing across Windows, Apple, and UNIX-like systems. It includes ZFS, Software RAID (0,1,5), disk encryption, S.M.A.R.T / email reports, etc. with following protocols: CIFS (samba), FTP, NFS, TFTP, AFP, RSYNC, Unison, iSCSI, UPnP, Bittorent (initiator and target), Bridge, CARP (Common Address Redundancy Protocol) and HAST (Highly Available Storage). All this can easily be setup by its highly configurable Web interface. NAS4Free can be installed on Compact Flash/USB/SSD media, hard disk or booted of from a Live CD with a USB stick. Download NAS4Free now.

NamelessROM: NamelessRom is an opportunity to have a voice to the development team of the after-market firmware that you run on your device. The main goal of NamelessRom is to provide quality development for android devices, phones, and tablets alike. NamelessRom developers are available nearly 24/7 and respond to bug reports and feature requests almost instantly. This availability will allow you, the end-user, to have direct input into exactly what features and functions are included on the firmware that you run. Download NamelessROM now.

CaesarIA (openCaesar3): CaesarIA is an open source remake of Caesar III game released by Impressions Games in 1998, it aims to expand the possibilities of the classical city-building simulators and to add new features showing the city life. Now the game work with Windows, Linux, Mac, Haiku, and Android. The original Caesar3 game is needed to play openCaesar3. Download CaesarIA (openCaesar3) now.

gnuplot development: A famous scientific plotting package, features include 2D and 3D plotting, a huge number of output formats, interactive input or script-driven options, and a large set of scripted examples. Download gnuplot development now.

Battle for Wesnoth: The Battle for Wesnoth is a free, turn-based tactical strategy game with a high fantasy theme, featuring both single-player and online/hotseat multiplayer combat. Fight a desperate battle to reclaim the throne of Wesnoth, or take hand in any number of other adventures. Download Battle for Wesnoth now.

SharpDevelop: SharpDevelop is the open-source IDE for the .NET platform. Write applications in languages including C#, VB.NET, F#, IronPython and IronRuby, as well as target rich and reach: Windows Forms or WPF, as well as ASP.NET MVC and WCF. It starts from USB drives, supports read-only projects, comes with integrated unit and performance testing tools, Git, NuGet, and a lot more features that make you productive as a developer. Download SharpDevelop now.

Standardized Service Contract?

The SOA architectural style is fundamentally about separation; establishing smaller, separate units of capability that create a more agile application and infrastructure environment. Most of the core SOA principles such as loose coupling, abstraction, virtualization etc depend upon the existence of a contract.

The concept of service contract appears in various guises at different points in both the software process and the service lifecycle. Contractual mechanisms are needed to:

  • specify the service that will be provided to the consumer regardless of how the service is implemented
  • specify constraints on how the service is to be implemented
  • specify the commercial terms and associated logistics that govern the way in which the service is provided and used.

a contract means rights and obligations, and not all the obligations are from the provider of the service : ie, the server offers a service, provided the client respects the conditions of calling it, not only on a syntactic point of view. For example, you could have a service which is implemented with some limitations in terms of enterprise capabilities (read availability, throughput, response time, security, …), for any valid reason (cost, time, resources, …). If one needs the same service in different conditions (for example 24×7), this has an impact on the implementation and should be paid for by the client. The server should check the preconditions before trying to execute the service.

MBA expert advice in this matter is :

Technology -wise, how the maintenance and upgrade and associated downtime (and to which part of the business/systems) will be handled

Business-wise, exit strategy (e.g. supplier change, bankrupt, takeover), how will this be handled by both parties.

Any way,There is no standard for the specification of SLAs. The most referenced and complete specifications that relate to SLAs for SOA environments, and in particular web services, are the Web Service Level Agreement (WSLA) language and framework and the Web Services Agreement Specification (WSAgreement).
The HWSLAH is a specification and reference implementation developed by IBM that provides detailed SLA specification capabilities that enable the runtime monitoring of SLA compliance.

Tech Giants in Image Recognition Supremacy

The race to exascale isn’t the only rivalry stirring up the advanced computing space. Artificial intelligence sub-fields, like deep learning, are also inspiring heated competition from tech conglomerates around the globe.

When it comes to image recognition, computers have already passed the threshold of average human competency, leaving tech titans, like Baidu, Google and Microsoft, vying to outdo each other.

The latest player to up the stakes is Chinese search company Baidu. Using the ImageNet object classification benchmark in tandem with Baidu’s purpose-built Minwa supercomputer, the search giant achieved an image identification error rate of just 4.58 percent, besting humans, Microsoft and Google in the process.

An updated paper [PDF] from a team of Baidu engineers, describes the latest accomplishment carried out by Baidu’s image recognition system, Deep Image, consisting of “a custom-built supercomputer dedicated to deep learning [Minwa], a highly optimized parallel algorithm using new strategies for data partitioning and communication, larger deep neural network models, novel data augmentation approaches, and usage of multi-scale high-resolution images.”

“Our system has achieved the best result to date, with a top-5 error rate of 4.58% and exceeding the human recognition performance, a relative 31% improvement over the ILSVRC 2014 winner,” state the report’s authors.

The Baidu colleagues add that this is significantly better than the latest results from both Google, which reported a 4.82 percent error rate, and Microsoft, which days prior had declared victory over the average human error rate (of 5.1 percent) when it achieved a 4.94 percent score. Both companies were also competing in the ImageNet Large Scale Visual Recognition Challenge.