This API is for system Center Service Manager. It’s foundation is in a project I created CodePlex 18 months ago called System Center Service Manager Façade. While I found it to be a great help to me in writing custom management packs and custom SCSM functionality, it was too large and very bloated and did not follow C# generally accepted syntax.
This API is much cleaner and efficient. It covers the main objects used in most customizations. Currently it is used in production servers without incident. I hope you find it as useful as I have. The code is based on an out-of-the-box System Center Service Manager 2012 server.
It covers the following high-level objects, classes and type projections and provides strongly typed classes
- Incident
- Change Request
- Activity
- Problem
- Service Request
- Release Management
The API also has a comprehensive criteria builder that allows you to build criteria in code rather than XML. Here are some examples
1:
2: // Initialize the server conection context
3: Context.Init();
4:
5: //Build criteria for all change request
6: var statusExpression =
7: new SimpleExpression(ChangeRequestPropertyCriteria.Status,
8: ChangeStatusEnum.InProgress.Id.ToString("B"),
9: ExpressionOperator.Equal);
10:
11: // Get a bulder for the System.WorkItem.ChangeRequest and where stautus is "InProgess"
12: var builder = new ObjectCriteriaBuilder(ChangeRequestHelper.ManagementPackClass, statusExpression
13:
14: // Add the to the SCSM MP for change request
15: builder.AddReference(ChangeRequestPropertyCriteria.ManagementPackReference);
16:
17: // get the xml criteria
18: var criteria = builder.GetCriteria();
19:
20: //Get a stronly typed list of ChangeRequests
21: var changes = Context.GetObjectReader(criteria, ObjectQueryOptions.Default).Select(t => new ChangeRequest(t));
22:
23: // Some linq magic
24: changes.ToList().ForEach(DoStuff);
25:
You can download the source code on codeplex http://scsmapi.codeplex.com
The API is generated using complex templates. The templates are available for purchase at www.savviety.com or email gary at that domain.

