FINAL-All Together Now Connecting ServiceNow and JIRA.pdf

sharmapu0705 28 views 49 slides Oct 19, 2024
Slide 1
Slide 1 of 49
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49

About This Presentation

servicenow jira integration


Slide Content

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
v
www.clarizen.com!
All Together Now:
Connecting ServiceNow
and JIRA to Clarizen for a
Single PPM Platform

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
v
www.clarizen.com!
Featuring:
Ryan McArthur
Programmer Analyst
County of Tulare

Sean Woods
Program Manager II, PMP
County of Tulare



Angela Bunner
Sr. Director of Product, PMP
Clarizen

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15 Copyright © 2015 Clarizen@Work. All rights reserved !#ClarizenAtWork15
Agenda
!  The Clarizen Integration Hub
!  The Benefits of ServiceNow Integration
!  Customer Case Study: County of Tulare
!  The Benefits of JIRA Integration

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
v
www.clarizen.com!
Clarizen approach
to integrations

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
PRODUCTIVITY AND
EFFICIENCY
Integration replaces manual work,
producing reliable and robust
solutions through automation

INTERFACE WITH AN
EXISTING PROCESS &
SYSTEMS
Reduce risk in change management

CONNECTING “ISLANDS
OF ACTIVITIES”
To provide a single version of the
truth

TURNKEY SOLUTION
Clarizen Professional Services and
Integration Team takes an holistic
view of the whole business and
system requirements in order to
provide a comprehensive solution

Why Integrations
5
APPROACH to INTEGRATIONS

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
6
Communication
Document
CRM
Ticketing
Authentication
Accounting
Reporting
APPROACH to INTEGRATIONS
Connecting Islands of Activity

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
v
www.clarizen.com!
Clarizen Integration Hub

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
Clarizen Integration Hub – Overview
8
Clarizen Integration Hub
! The integration Hub facilitates the synchronization of objects between
3
rd
Party systems (SaaS or On-premise) and Clarizen.

! Key components of the integration:
• Unified user-experience with our core integrations
• System authentication (oAuth, Credentials)
• Inter-systems dynamic objects and fields mapping
• Events / Triggers creation
• Logging, monitoring and notifications

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
Clarizen Integration Hub Architecture
9
Clarizen Integration Hub
Clarizen)Integration)Hub
(Sync)Job)
Clarizen)Integration)Hub
(Web)site)
External)system
Trigger)creation
Store
Sync)entity Store)data
Sync)eventMetadata
Trigger)creation
DB
Clarizen

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
10
Clarizen Integration Hub
at work in the Salesforce App

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
11
Integration Setup Admin Tool

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
12
Define Mappings

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
13
Define Trigger Events

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
14
Track Sync Logs

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
v
www.clarizen.com!
Why integrate with
ServiceNow?

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
Why Integrations?
16
Benefits of a CZ & SN Integration
Ecosystem
! Leverage each solution for it’s strengths:
• ServiceNow for IT Helpdesk
• Clarizen for work planning, execution, and collaboration
! Optimized and streamlined project delivery
! Standardize processes for all projects, in a single PPM tool.
! Complete project lifecycle execution.
! Improve cross-team collaboration, for ex, allow artifacts to be
synchronized across the lifecycle.
! Cross tool traceability and reporting with automation.

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
17
Leverage the Strengths of Each Tool
ServiceNow
IT Service
Field Service
Facilities
HR Service
Clarizen
Project Management
Resource Planning
Issue, Risk, Change Mgmt
Collaboration
Work Execution
Portfolio Reporting

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
18
ServiceNow Integration Strategy
Service Management Project Execution
Assign Resources
Track Time on tickets
Service Reporting
Requests Inflow
Create Project
Plan Work, Collaborate
Execute Project, Track
Progress
Project Analytics
Requests that require
a project, work
collaboration
Time
Progress

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
v
www.clarizen.com!
Tulare County
Our use of the API

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
TCiCT PMO
20
Tulare County – Our use of the API


DIVISION
MANAGER
1
PROJECT
MANAGERS
5
SUPPORT STAFF
FUNDING SPEACIALIST
& SAS
2
ACTIVE
PROJECTS
33
COUNTY
AGENCIES
14
IT ORG
EMPLOYEES
150
IT ORG
BUSINESS
UNITS
5

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
A Brief History
21
Tulare County – Our use of the API

PMO had
previously
used Sciforma
PSNext
Project began
in late 2013 to
find a better
solution
Clarizen was
chosen and
go live
July 1
st
, 2014
Many factors
contributed to
the selection of
Clarizen
The API was a
key factor in
the decision
making process

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
Necessity is the Mother of Invention
22
Tulare County – Our use of the API

Lack of project
metrics
Non-existent actual
effort data
Devoid of
work notes
Only the PMO staff
would access
the software

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
The Solution is in the middle
23
Tulare County – Our use of the API

Organization is
incident/support
centric & has a
resistance to
change
Staff is already
using Service-Now
and a home grown
time management
system
“Middleware”
interface was the
solution utilizing
the API’s
All three systems
now communicate
project data
between them
nightly
PMO has more
project data than
ever before

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
Tulare County – Our use of the API
Before any code was written we evaluated our processes.
24
PROJECTS
TASKS
TIME
Assignments
Time &
Updates
Assignments
& Time
Time

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
25
Developing our Plan
Tulare County — Our use of the API

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
26
Tulare County – Our use of the API
Valuable Resources
Clarizen’s outstanding documentation
and support made it possible.
Documentation
• success.clarizen.com ! User Manual
• clarizen.com ! Resources ! For Developers
Support
• success.clarizen.com ! How can we help you

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
27
Tulare County – Our use of the API
Retrieving information from Clarizen
! SQL does not apply.
! Build a Entity Query object containing object properties
you want to retrieve and the object properties you want
to match against.
! Can compare regular fields or reference objects.
! Results are delivered in a queryResults object.
• Includes Success, Paging and your results (Entities)
! Result entities are objects.
! Feels sort of like using an IEquatable interface.

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
Defined what we wanted to be returned to us.

28
Defined our query conditions.
1
2
!'Define!the!list!of!fields/objects!that!we!want!the!API!to!return. !
!!!!!!!!Dim!QueryFields!As!New!List(Of!String)!
!!!!!!!!QueryFields.Add("WorkItem.ExternalID")!
!!!!!!!!QueryFields.Add("Duration")!!!!!'!Time!Reported!
!!!!!!!!QueryFields.Add("Comment")!!!!!!'!Comments!included!
!!!!!!!!QueryFields.Add("WorkItem.ParentProject.C_ProjectID")
How we approached the Entity Query
Dim!QueryConditions!As!New!List(Of!com.clarizen.api.Compare)!
‘Where!time!belongs!to!employee!asked!for !
QueryConditions.Add(New!com.clarizen.api.Compare!With!{!
!!! .LeftExpression!=!New!com.clarizen.api.FieldExpression!With!{.FieldName!=!"Reportedby"},!
!!!! .Operator!=!com.clarizen.api.Operator.Equal,!
!!!! .RightExpression!=!New!com.clarizen.api.ConstantExpression!With!{.Value!=!TCEmpID.Id}}!
!!! !!)!
‘and!where!time!is!for!the!date!asked!for !
QueryConditions.Add(New!com.clarizen.api.Compare!With!{!
!!!! .LeftExpression!=!New!com.clarizen.api.FieldExpression!With!{.FieldName!=!"ReportedDate"},!
!!!! .Operator!=!com.clarizen.api.Operator.Equal,!
!!!! .RightExpression!=!New!com.clarizen.api.ConstantExpression!With!{.Value!=!WorkDate}}!
!!! !!)

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
Put our fields and conditions together into an EntityQuery
29
Passed the EntityQuery to Clarizen, retrieving the QueryResult object
3
4
'Put!it!together!as!a!clarizen!EntityQuery!
Dim!query!As!com.clarizen.api.EntityQuery!=!New!com.clarizen.api.EntityQuery()!
!With!query!
!! .TypeName!=!"Timesheet"!
!! .Fields!=!QueryFields.ToArray!
!! .Paging!=!New!com.clarizen.api.Paging!With!{.PageSize!=!100,!.PageSizeSpecified!=!True}!
!! .Where!=!New!com.clarizen.api.And!With!{.Conditions!=!QueryConditions.ToArray}!
!End!With
How we approached the EntityQuery
Dim!clz!As!com.clarizen.api.Clarizen!=!GetClarizen()!
Dim!qr!As!com.clarizen.api.QueryResult!=!clz.Query(query)!
!
'Now!that!the!query!has!been!run,!check!for!success!and!retrieve!the!entities!inside... !
If!qr.Success!Then…!
(don’t forget about paging)
For!Each!en!As!com.clarizen.api.GenericEntity!In!qr.Entities!
en is a single time card….

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
30
'Get!all!tasks!as!long!as!the!project!is!active !
QueryConditions.Add(New!com.clarizen.api.Compare!With!!
!{!
.LeftExpression!=!New!com.clarizen.api.FieldExpression!With!{.FieldName!=!"WorkItem"},!
!.Operator!=!com.clarizen.api.Operator.In,!
!.RightExpression!=!New!com.clarizen.api.QueryExpression!With!!
!! {!
!! .Query!=!New!com.clarizen.api.EntityQuery!With!!
!!! {!
!!! .TypeName!=!"Task",!
!!! .Where!=!New!com.clarizen.api.Compare!With!
!!!! {!
!!!! .LeftExpression!=!New!com.clarizen.api.FieldExpression!With!{.FieldName!
=!"ParentProject"},!
!!!! .Operator!=!com.clarizen.api.Operator.In,!
!!!! .RightExpression!=!New!com.clarizen.api.QueryExpression!With!
!!!!! {!
!!!!! .Query!=!New!com.clarizen.api.EntityQuery!With!
!!!!!! {!
!!!!!! .TypeName!=!"Project",!
!!!!!! .Where!=!Clarizen.QC_WorkItemState("Active")!
!!!!!! }!
!!!!! }!
!!!! }!
!!! }!
!! }!
!})
How we approached the EntityQuery
Query can be nested for complex queries

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
Created a generic method we could send updates or create through
31
1
Public!Function!SubmitToClarizen(message()!As!com.clarizen.api.BaseMessage)!As!
com.clarizen.api.Result()!
!
!Dim!clz!As!com.clarizen.api.Clarizen!=!GetClarizen()!
!Return!clz.Execute(message)!
!
End!Function
How we approached updating Clarizen:
Creating or Updating Clarizen

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
32
How we approached updating Clarizen:
Building the Discussion Post
Built a GenericEntity containing the item to be created 2
Dim!CloseNotes!As!New!com.clarizen.api.GenericEntity!
!
CloseNotes.Id!=!New!com.clarizen.api.EntityId!
CloseNotes.Id.TypeName!=!"DiscussionPost"!
!
'Setup!the!WorkItem!that!these!notes!are!going!to!be!going!into !
Dim!WorkItemID!As!New!com.clarizen.api.EntityId!With!{!.TypeName!=!"Task",!.Value!=!TimeEntry.ClarizenTaskID!}!
Dim!workItemField!As!New!com.clarizen.api.FieldValue!With!{!.FieldName=!“Container",!.Value!=!WorkItemID!}!
!
‘Setup!the!Post!Body!
Dim!Body!As!New!com.clarizen.api.FieldValue!
Body.FieldName!=!"Body"!
Body.Value!=!“Post!Body!Contents…!yay,!you!can!use!HTML!too,!how!fun!is!that?” !
!
'Setup!the!Post!Type!
Dim!PostType!As!New!com.clarizen.api.FieldValue!
PostType.FieldName!=!"Type"!
PostType.Value!=!"StatusUpdate"!
!
'Setup!the!Post!State!
Dim!PostState!As!New!com.clarizen.api.FieldValue!
PostState.FieldName!=!"State"!
PostState.Value!=!"Active“!
!
'Populate!the!fields!into!the!closenote!post!
CloseNotes.Values!=!New!com.clarizen.api.FieldValue()!{workItemField,!Body,!PostType,!PostState,!Via}!

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
33
How we approached updating Clarizen:
Submits the update to Clarizen
Put the GenericEntity into a CreateMessage and submit to Clarizen 3
Dim!NewPostMessages!As!New!List(Of!com.clarizen.api.CreateMessage)!
!
NewPostMessages.Add(New!com.clarizen.api.CreateMessage!With!{!
!!!! .Entity!=!BuildDiscussionThread(TimeEntry)!
!!! !!!})!
!
Dim!TimeMessage()!As!com.clarizen.api.BaseMessage!=!NewPostMessages.ToArray!
!
Dim!ClarizenResponse()!As!com.clarizen.api.Result!=!SubmitToClarizen(TimeMessage)

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
34
Tulare County – Our use of the API
Processes pushed to Clarizen
! Create Time Cards
! Update Project Tasks
! Update Resource Assignments
! Create Discussion Threads


BaseMessage
•  Create Message
o  Entity to be Created
• Update Message
o Reference Entity to be Updated
o FieldValues to be updated
HANDLED BY

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
Tulare County – Our use of the API
35
Task Details

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
Tulare County – Our use of the API
36
Assign Resources to Task

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
Tulare County – Our use of the API
37
Timesheet records on Task

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
v
www.clarizen.com!
JIRA
Integration Overview

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
39
JIRA Integration Use Case


Send Project Plan
& User Stories
to JIRA
2
Project
Planning
1






R&D Team breaks
down Tasks, User
Stories
3








Send subtasks
back to Clarizen
project plan
4


Resource assignment,
actual efforts, and state
synchronization
5
BI-DIRECTIONAL INTEGRATION
CLARIZEN JIRA

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
40
JIRA Integration Basics
! Bi-directional or manual sync between
Clarizen Work items, and JIRA’s Issues/objects

! Manual vs. Pooling
! Sync Strategy
! Hierarchies Challenges
! Object Mappings
!CloudHub and Integration Infrastructure

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
CloudHub — IPASS Technology
41

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
JIRA Slide — Attach to parent from JIRA
42

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
Multi-level R&D project roadmap view
43

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
Multi-level R&D project WBS view
44

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
Custom action to trigger integration
45

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
JIRA integration options
46

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
Integrated items in JIRA
47

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15
v
www.clarizen.com!
Questions?

Copyright © 2015 Clarizen@Work. All rights reserved !
!
#ClarizenAtWork15 Copyright © 2015 Clarizen@Work. All rights reserved !#ClarizenAtWork15
Thank You
Sean Woods
[email protected]
Angela Bunner
[email protected]
Ryan McArthur
[email protected]
Tags