all together now: connecting servicenow and jira to ...mkt.clarizen.com/rs/clarizen/images/final-all...

Post on 16-Mar-2018

219 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 3rd 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 1st, 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

1Public  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 2Dim  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 SKWoods@co.tulare.ca.us

Angela Bunner angela.bunner@clarizen.com

Ryan McArthur

RMcArthu@co.tulare.ca.us

top related