@manyos/smileconnect-api 1.39.0 → 1.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app.js +14 -2
- package/conf/clients.json +1 -0
- package/docs/.nojekyll +0 -0
- package/docs/README.md +1 -0
- package/docs/_coverpage.md +12 -0
- package/docs/_media/dataflow.png +0 -0
- package/docs/_media/logo.png +0 -0
- package/docs/_sidebar.md +25 -0
- package/docs/adapter.md +309 -0
- package/docs/architecture.md +8 -0
- package/docs/configuration/clients.md +69 -0
- package/docs/configuration/config.md +323 -0
- package/docs/{eventlog → configuration}/events.md +11 -8
- package/docs/{general/field-management.md → configuration/mapping.md} +2 -72
- package/docs/howto/{worklog-attachment.md → attachments.md} +8 -15
- package/docs/howto/cmdbobjects.md +11 -17
- package/docs/howto/incidents.md +16 -23
- package/docs/howto/token.md +14 -18
- package/docs/howto/{incident-worklogs.md → worklogs.md} +14 -21
- package/docs/index.html +26 -0
- package/docs/openapi.json +2054 -1354
- package/docs/quickstart.md +9 -0
- package/docs/releases.md +11 -0
- package/docs/scripts.md +204 -0
- package/package.json +1 -1
- package/routes/cmdbObjectRoutes.js +5 -0
- package/routes/customFormRoutes.js +2 -0
- package/routes/taskRoutes.js +11 -0
- package/routes/ticketRoutes.js +2 -0
- package/routes/ticketWorkLogRoutes.js +4 -0
- package/docs/.gitattributes +0 -48
- package/docs/404.html +0 -13
- package/docs/Gemfile +0 -7
- package/docs/Gemfile.lock +0 -249
- package/docs/_config.yml +0 -257
- package/docs/_data/SocialNetworks.yml +0 -92
- package/docs/_data/ui-text.yml +0 -494
- package/docs/_includes/disqus.html +0 -17
- package/docs/_includes/ext-css.html +0 -7
- package/docs/_includes/ext-js.html +0 -7
- package/docs/_includes/fb-comment.html +0 -14
- package/docs/_includes/footer-minimal.html +0 -16
- package/docs/_includes/footer-scripts.html +0 -32
- package/docs/_includes/footer.html +0 -51
- package/docs/_includes/google_analytics.html +0 -14
- package/docs/_includes/gtag.html +0 -11
- package/docs/_includes/gtm_body.html +0 -6
- package/docs/_includes/gtm_head.html +0 -9
- package/docs/_includes/head.html +0 -131
- package/docs/_includes/header.html +0 -76
- package/docs/_includes/just_comments.html +0 -4
- package/docs/_includes/matomo.html +0 -17
- package/docs/_includes/nav.html +0 -57
- package/docs/_includes/social-share.html +0 -42
- package/docs/_includes/staticman-comment.html +0 -22
- package/docs/_includes/staticman-comments.html +0 -81
- package/docs/_layouts/base.html +0 -35
- package/docs/_layouts/default.html +0 -9
- package/docs/_layouts/minimal.html +0 -26
- package/docs/_layouts/page.html +0 -26
- package/docs/_layouts/post.html +0 -82
- package/docs/_posts/2015-02-28-test-markdown.md +0 -77
- package/docs/aboutme.md +0 -18
- package/docs/css/bootstrap-social.css +0 -147
- package/docs/css/bootstrap-theme.css +0 -476
- package/docs/css/bootstrap-theme.css.map +0 -1
- package/docs/css/bootstrap-theme.min.css +0 -5
- package/docs/css/bootstrap.css +0 -6566
- package/docs/css/bootstrap.css.map +0 -1
- package/docs/css/bootstrap.min.css +0 -5
- package/docs/css/main-minimal.css +0 -13
- package/docs/css/main.css +0 -788
- package/docs/css/normalize.css +0 -427
- package/docs/css/pygment_highlights.css +0 -61
- package/docs/css/staticman.css +0 -180
- package/docs/feed.xml +0 -24
- package/docs/general/architecture.md +0 -10
- package/docs/general/config.md +0 -201
- package/docs/general/release-notes.md +0 -9
- package/docs/howto/sample-config.md +0 -518
- package/docs/img/404-southpark.jpg +0 -0
- package/docs/img/avatar-icon.png +0 -0
- package/docs/img/bgimage.png +0 -0
- package/docs/img/gb-isapi.jpg +0 -0
- package/docs/img/install-steps.gif +0 -0
- package/docs/img/workflow.png +0 -0
- package/docs/js/bootstrap.js +0 -2306
- package/docs/js/bootstrap.min.js +0 -7
- package/docs/js/jquery-1.11.2.min.js +0 -4
- package/docs/js/main.js +0 -140
- package/docs/js/staticman.js +0 -54
- package/docs/staticman.yml +0 -110
- /package/docs/{img → _media}/architecture.jpeg +0 -0
- /package/docs/{img → _media}/attachment-upload.png +0 -0
- /package/docs/{getting-started.md → old/getting-started.md} +0 -0
- /package/docs/{index.md → old/index.md} +0 -0
- /package/docs/{installation.md → old/installation.md} +0 -0
- /package/docs/{postinstall.md → old/postinstall.md} +0 -0
- /package/docs/{preinstall.md → old/preinstall.md} +0 -0
- /package/docs/{tags.html → old/tags.html} +0 -0
- /package/docs/{workflow.md → old/workflow.md} +0 -0
package/app.js
CHANGED
|
@@ -233,11 +233,23 @@ app.get('/debug', function (req, res, next) {
|
|
|
233
233
|
//global authentication
|
|
234
234
|
app.use(passport.authenticate('jwt', {session: false}), responseHandler.logRequest);
|
|
235
235
|
|
|
236
|
+
//Check for dynamic impersonate
|
|
237
|
+
app.use(function (req, res, next) {
|
|
238
|
+
if (req.user) {
|
|
239
|
+
const clientConfig = req.user.config;
|
|
240
|
+
const dynamicARUser = req.query.impersonateUser;
|
|
241
|
+
if (clientConfig && clientConfig.options && clientConfig.options.allowDynamicImpersonate === true && dynamicARUser) {
|
|
242
|
+
log.debug('Dynamic impersonate to user', dynamicARUser)
|
|
243
|
+
clientConfig.options.impersonateUser = dynamicARUser
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
next()
|
|
247
|
+
})
|
|
248
|
+
|
|
236
249
|
//set globalscript params
|
|
237
250
|
app.use(function (req, res, next) {
|
|
238
251
|
req.globalScriptParams = {
|
|
239
|
-
query: req.query
|
|
240
|
-
params: req.params
|
|
252
|
+
query: req.query
|
|
241
253
|
}
|
|
242
254
|
next()
|
|
243
255
|
});
|
package/conf/clients.json
CHANGED
package/docs/.nojekyll
ADDED
|
File without changes
|
package/docs/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Our ITSM API creates a RESTful layer on-top of BMCs ITSM Suite. It allows you to expose all of your services with an easy and powerful REST-API. You can perform create, read and update operations on Incidents, Changes, Problems, Work Orders, Tasks and Assets. With no need for customization.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
# SMILEconnect
|
|
4
|
+
|
|
5
|
+
> Learn all about manyos ITSM API on these pages
|
|
6
|
+
|
|
7
|
+
- The easy way to integrate providers
|
|
8
|
+
- Reduce efforts and license cost
|
|
9
|
+
- State of the art ITSM REST API
|
|
10
|
+
|
|
11
|
+
[manyos](https://manyos.it)
|
|
12
|
+
[Get Started](quickstart#Introduction)
|
|
Binary file
|
|
Binary file
|
package/docs/_sidebar.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
- Getting started
|
|
2
|
+
|
|
3
|
+
- [Quick start](quickstart.md)
|
|
4
|
+
- [Architecture](architecture.md)
|
|
5
|
+
- [API Specification](spec/index.html)
|
|
6
|
+
|
|
7
|
+
- Configuration
|
|
8
|
+
|
|
9
|
+
- [Global Settings](configuration/config.md)
|
|
10
|
+
- [Mapping](configuration/mapping.md)
|
|
11
|
+
- [Client Configuration](configuration/clients.md)
|
|
12
|
+
- [Events](configuration/events.md)
|
|
13
|
+
|
|
14
|
+
- Data manipulation
|
|
15
|
+
|
|
16
|
+
- [Scripts](scripts.md)
|
|
17
|
+
- [Adapter](adapter.md)
|
|
18
|
+
|
|
19
|
+
- How-Tos
|
|
20
|
+
|
|
21
|
+
- [Authentication](howto/token.md)
|
|
22
|
+
- [Incident Requests](howto/incidents.md)
|
|
23
|
+
- [Handle Worklogs](howto/worklogs.md)
|
|
24
|
+
- [Handle Attachments](howto/attachments.md)
|
|
25
|
+
- [Read Configuration Items](howto/cmdbobjects.md)
|
package/docs/adapter.md
ADDED
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
# Adapter
|
|
2
|
+
|
|
3
|
+
Adapter are used to integrate with different systems. SMILEconnect comes with a flexible adapter architecture. Multiple types of adapters can be used and also multiple adapters of the same type can be configured. This can be useful if you need to interact e.g. with two different LDAP Systems.
|
|
4
|
+
|
|
5
|
+
# Adapter Configuration
|
|
6
|
+
|
|
7
|
+
Adapter are configured in the file *adapterConfig.js* in the root of the conf folder. Within the configuration file the variable *env* can be used to access system environment variables. E.g. *env.AR_USER* reflects the value of the system variable *AR_USER*.
|
|
8
|
+
|
|
9
|
+
For security, it is advised to store confidential information, like passwords, in the environment variables and not in the configuration file itself.
|
|
10
|
+
|
|
11
|
+
Configuration example:
|
|
12
|
+
```javascript
|
|
13
|
+
const adapterParams = {
|
|
14
|
+
remedy: {
|
|
15
|
+
type: "remedy",
|
|
16
|
+
arServer: env.AR_SERVER,
|
|
17
|
+
arUser: env.AR_USER,
|
|
18
|
+
arPassword: env.AR_PASSWORD,
|
|
19
|
+
arPort: env.AR_PORT,
|
|
20
|
+
rapiUri: env.RAPI_URL,
|
|
21
|
+
cacheTime: env.AR_CACHE_TTL,
|
|
22
|
+
limitDefault: env.LIMIT_DEFAULT || 100,
|
|
23
|
+
limitMax: env.LIMIT_MAX
|
|
24
|
+
},
|
|
25
|
+
ldap: {
|
|
26
|
+
type: "ldap",
|
|
27
|
+
ldapUrl: env.LDAP_URL,
|
|
28
|
+
ldapBind: env.LDAP_BIND,
|
|
29
|
+
ldapSecret: env.LDAP_SECRET
|
|
30
|
+
},
|
|
31
|
+
ldapIDM: {
|
|
32
|
+
type: "ldap",
|
|
33
|
+
ldapUrl: env.LDAP_IDM_URL,
|
|
34
|
+
ldapBind: env.LDAP_IDM_BIND,
|
|
35
|
+
ldapSecret: env.LDAP_IDM_SECRET
|
|
36
|
+
},
|
|
37
|
+
smileconnect: {
|
|
38
|
+
type: "SMILEconnect",
|
|
39
|
+
clientId: env.SC_CLIENT,
|
|
40
|
+
secret: env.SC_SECRET,
|
|
41
|
+
ssoUrl: env.SC_SSO_URL,
|
|
42
|
+
smileConnectUrl: env.SC_SMILECONNECT_URL
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
// noinspection JSAnnotator
|
|
47
|
+
return adapterParams;
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The different Adapter and their configuration values are described in detail below.
|
|
51
|
+
|
|
52
|
+
## Remedy
|
|
53
|
+
|
|
54
|
+
The Remedy Adapter is used to connect to BMC Remedy Action Request Servers. It allows you to create, query and update records.
|
|
55
|
+
|
|
56
|
+
### Configuration values
|
|
57
|
+
|
|
58
|
+
**arServer**: The name of the arsystem server. e.g. ars1.mydomain.com
|
|
59
|
+
|
|
60
|
+
**arUser**: The user which is used to connect to the remedy server. E.g. Allen
|
|
61
|
+
|
|
62
|
+
**arPassword**: The password of the ar user.
|
|
63
|
+
|
|
64
|
+
**arPort**: The port of the arsystem server. e.g. 5142. Use 0 if you want to a portmapper.
|
|
65
|
+
|
|
66
|
+
**rapiUri**: The URL of the RAPI Server wich is used as middleware to connect to the arsystem server. e.g. https://rapi.mydomain.com
|
|
67
|
+
|
|
68
|
+
**cacheTime**: The default time in seconds in which the result of queries is stored in a cache. This is used to increase performance dramatically. Defaults to 300s.
|
|
69
|
+
|
|
70
|
+
**limitDefault**: The default limit of records retrieved in a query. This value is used whenever no value is specified. Can be overwritten in queries.
|
|
71
|
+
|
|
72
|
+
**limitMax**: The maximum number of records retrieved in a query. This parameter can be used to enforce a limit. The limit can not be overwritten by queries.
|
|
73
|
+
|
|
74
|
+
### Functions
|
|
75
|
+
|
|
76
|
+
#### Search
|
|
77
|
+
|
|
78
|
+
```javascript
|
|
79
|
+
async function search(form, query, fields, options)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Parameter:
|
|
83
|
+
|
|
84
|
+
* form (string):
|
|
85
|
+
|
|
86
|
+
The form used to query data. e.g. CTM:People
|
|
87
|
+
|
|
88
|
+
* query (string):
|
|
89
|
+
|
|
90
|
+
The query used in the form. e.g. 'Remedy Login ID' = "Allen"
|
|
91
|
+
|
|
92
|
+
* fields (comma separated list):
|
|
93
|
+
|
|
94
|
+
The fields to be returned by the query. e.g. "Full Name, Remedy Login ID, First Name, Last Name, Department"
|
|
95
|
+
|
|
96
|
+
Full example:
|
|
97
|
+
```javascript
|
|
98
|
+
const result = await adapter.remedy.search(
|
|
99
|
+
"CTM:People",
|
|
100
|
+
"'Remedy Login ID' = \"Allen\"",
|
|
101
|
+
"Full Name, Remedy Login ID, First Name, Last Name, Department");
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Will return an object with a data array and some meta data.
|
|
105
|
+
|
|
106
|
+
```javascript
|
|
107
|
+
{
|
|
108
|
+
"status": "success",
|
|
109
|
+
"query": "'Remedy Login ID' = \"Allen\"",
|
|
110
|
+
"server": "arserver:51423",
|
|
111
|
+
"form": "CTM:People",
|
|
112
|
+
"runtime": 106,
|
|
113
|
+
"dataSize": 1,
|
|
114
|
+
"data": [
|
|
115
|
+
{
|
|
116
|
+
"Person ID": "PPL000000000013",
|
|
117
|
+
"Remedy Login ID": "Allen",
|
|
118
|
+
"Department": "Customer Service",
|
|
119
|
+
"Full Name": "Allen Allbrook",
|
|
120
|
+
"Last Name": "Allbrook",
|
|
121
|
+
"First Name": "Allen"
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
#### Create
|
|
129
|
+
|
|
130
|
+
```javascript
|
|
131
|
+
async function create(form, entry, options)
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Parameter:
|
|
135
|
+
|
|
136
|
+
* form (string):
|
|
137
|
+
|
|
138
|
+
The form in which a new record is created. e.g. CTM:People
|
|
139
|
+
|
|
140
|
+
* entry (object):
|
|
141
|
+
|
|
142
|
+
The entry object that is ceated.
|
|
143
|
+
|
|
144
|
+
e.g.
|
|
145
|
+
|
|
146
|
+
```javascript
|
|
147
|
+
{
|
|
148
|
+
"Source Keyword": "SMILEcatalog",
|
|
149
|
+
"Company": "Calbro Services",
|
|
150
|
+
"AppRequestSummary": "New Request from SMILEcatalog",
|
|
151
|
+
"TitleInstanceID": "SRGAA5V0GEfds7LO5YL6Q945Z",
|
|
152
|
+
"Login ID": "Allen"
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Full example:
|
|
157
|
+
|
|
158
|
+
```javascript
|
|
159
|
+
const settings = {
|
|
160
|
+
"createForm":"SRM:RequestInterface_Create",
|
|
161
|
+
"entry": {
|
|
162
|
+
"Source Keyword": "SMILEcatalog",
|
|
163
|
+
"Company": "Calbro Services",
|
|
164
|
+
"AppRequestSummary": "New Request from SMILEcatalog",
|
|
165
|
+
"TitleInstanceID": "SRGAA5V0GEfds7LO5YL6Q945Z",
|
|
166
|
+
"Login ID": "Allen"
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
//Create Service Request
|
|
170
|
+
const resultCreate = await adapter.remedy.create(settings.createForm, settings.entry);
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Will return return the id of the created record. e.g. REQ00000002893
|
|
174
|
+
|
|
175
|
+
#### Options
|
|
176
|
+
|
|
177
|
+
* limit
|
|
178
|
+
|
|
179
|
+
The maximum number of records that should be returned by this query. e.g. 5. Use this value to increase performance or to overwrite a default limit.
|
|
180
|
+
|
|
181
|
+
* offset
|
|
182
|
+
|
|
183
|
+
Use together with limit to allow pagination. e.g. limit=10 & offset=10
|
|
184
|
+
|
|
185
|
+
* dateFormat
|
|
186
|
+
|
|
187
|
+
The format in which dates are returned.
|
|
188
|
+
|
|
189
|
+
* sort
|
|
190
|
+
|
|
191
|
+
The fields that are to sort the result on the remedy server. Use 1 for ascending and -1 for descending order.
|
|
192
|
+
|
|
193
|
+
e.g.
|
|
194
|
+
```javascript
|
|
195
|
+
{
|
|
196
|
+
"Name": 1,
|
|
197
|
+
"Status": -1
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
* countOnly (only search)
|
|
203
|
+
|
|
204
|
+
Can be used to retrieve only the size of the results without any payload. This improves performance.
|
|
205
|
+
|
|
206
|
+
Full example:
|
|
207
|
+
|
|
208
|
+
```javascript
|
|
209
|
+
const options = {
|
|
210
|
+
limit: 100,
|
|
211
|
+
offset: 100,
|
|
212
|
+
dafeFormat: "yyyy-MM-dd HH:mm:ss.SSSZ",
|
|
213
|
+
sort: {
|
|
214
|
+
"Name": 1,
|
|
215
|
+
"Status": -1
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
## LDAP
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
### Configuration values
|
|
224
|
+
|
|
225
|
+
* ldapUrl
|
|
226
|
+
|
|
227
|
+
The connection URL of the LDAP Server. e.g. ldap://ldap.forumsys.com:389
|
|
228
|
+
|
|
229
|
+
* ldapBind
|
|
230
|
+
|
|
231
|
+
The Bind DN to authenticate with. e.g. cn=smilecatalog-user,dc=example,dc=com
|
|
232
|
+
|
|
233
|
+
* ldapSecret
|
|
234
|
+
|
|
235
|
+
The secret to use with the Bind DN. e.g. password
|
|
236
|
+
|
|
237
|
+
### Functions
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
#### Search
|
|
241
|
+
|
|
242
|
+
```javascript
|
|
243
|
+
async search(base, options)
|
|
244
|
+
```
|
|
245
|
+
Runs a query against the ldap Server.
|
|
246
|
+
|
|
247
|
+
Parameter:
|
|
248
|
+
|
|
249
|
+
* base
|
|
250
|
+
|
|
251
|
+
A DN string to start.
|
|
252
|
+
|
|
253
|
+
* options
|
|
254
|
+
|
|
255
|
+
Options for the search. Like filters and returned attributes. See http://ldapjs.org/client.html for more details.
|
|
256
|
+
|
|
257
|
+
```javascript
|
|
258
|
+
const opts = {
|
|
259
|
+
filter: '(&(l=Seattle)(email=*@foo.com))',
|
|
260
|
+
scope: 'sub',
|
|
261
|
+
attributes: ['dn', 'sn', 'cn']
|
|
262
|
+
};
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
Full example:
|
|
266
|
+
|
|
267
|
+
```javascript
|
|
268
|
+
const base = "dc=example,dc=com";
|
|
269
|
+
const options = {
|
|
270
|
+
attributes: ['dn', 'sn', 'cn'],
|
|
271
|
+
scope: "sub",
|
|
272
|
+
filter: "sn=Riemann"
|
|
273
|
+
}
|
|
274
|
+
const result = await adapter.ldap.search(base, options);
|
|
275
|
+
resolve(result);
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
Returns an array of records. e.g.
|
|
279
|
+
|
|
280
|
+
```javascript
|
|
281
|
+
[
|
|
282
|
+
{
|
|
283
|
+
"dn": "uid=riemann,dc=example,dc=com",
|
|
284
|
+
"controls": [],
|
|
285
|
+
"cn": "Bernhard Riemann",
|
|
286
|
+
"sn": "Riemann"
|
|
287
|
+
}
|
|
288
|
+
]
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
## SMILEconnect
|
|
292
|
+
|
|
293
|
+
The SMILEconnect Adapter can be used to do calls against SMILEconnect. It will act as it is called externally.
|
|
294
|
+
|
|
295
|
+
### Configuration values
|
|
296
|
+
|
|
297
|
+
**smileConnectUrl**: The url of your SMILEconnect installation e.g. https://smileconnect.mydomain.io
|
|
298
|
+
|
|
299
|
+
**ssoUrl**: The url of the oidc identity provider. e.g. https://sso.mydomain.io/auth/realms/smileconnect
|
|
300
|
+
|
|
301
|
+
**clientId**: The name of the client that is used to connect to SMILEconnect
|
|
302
|
+
|
|
303
|
+
**secret**: The secret of the client. e.g. jd92hd-03283d-2293s-232
|
|
304
|
+
|
|
305
|
+
### Functions
|
|
306
|
+
|
|
307
|
+
The SMILEconnect adapter is an open source project.
|
|
308
|
+
|
|
309
|
+
[Visit the project homepage for details](https://github.com/manyosit/smileconnect-client)
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Client Config
|
|
2
|
+
|
|
3
|
+
On a per client base it can be configured which fields are returned for each object and if a basequery is applied. This expose certain fields only dedicated clients. It also allows to define which rows a client can access. Clients are configured in conf/clients.json
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
[
|
|
7
|
+
{
|
|
8
|
+
"name": "jira",
|
|
9
|
+
"config": {
|
|
10
|
+
"options" : {
|
|
11
|
+
"dateFormat" : "dd.MM.yyyy HH:mm.ss",
|
|
12
|
+
"clientLimit": 100
|
|
13
|
+
},
|
|
14
|
+
"cmdbobject": {
|
|
15
|
+
"basequery": "'Data Set Id' = \"BMC.ASSET\" AND ('Mark As Deleted' = \"No\" OR 'Mark As Deleted' = $NULL$) AND 'Class Id' = \"BMC_COMPUTERSYSTEM\"",
|
|
16
|
+
"fields": [
|
|
17
|
+
"Instance Id",
|
|
18
|
+
"Tag Number",
|
|
19
|
+
"Name",
|
|
20
|
+
"AssetLifecycleStatus",
|
|
21
|
+
"Category",
|
|
22
|
+
"Item",
|
|
23
|
+
"Type",
|
|
24
|
+
"Availability",
|
|
25
|
+
"Confidentiality",
|
|
26
|
+
"Integrity",
|
|
27
|
+
"Authenticity",
|
|
28
|
+
"Model Number",
|
|
29
|
+
"Class Id",
|
|
30
|
+
"Reconciliation Identity"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"orgdata": {
|
|
34
|
+
"basequeryPeople": "'Profile Status' = \"Enabled\"",
|
|
35
|
+
"basequeryOrganisation": "'Status'=\"Enabled\"",
|
|
36
|
+
"basequerySupportGroup": "'Status'=\"Enabled\""
|
|
37
|
+
},
|
|
38
|
+
"change": {
|
|
39
|
+
"fields": [
|
|
40
|
+
"Infrastructure Change ID",
|
|
41
|
+
"Categorization Tier 1",
|
|
42
|
+
"Categorization Tier 2",
|
|
43
|
+
"Categorization Tier 3",
|
|
44
|
+
"Product Cat Tier 1",
|
|
45
|
+
"Product Cat Tier 2",
|
|
46
|
+
"Product Cat Tier 3",
|
|
47
|
+
"Product Name (2)",
|
|
48
|
+
"Description",
|
|
49
|
+
"Detailed Description",
|
|
50
|
+
"Status Reason",
|
|
51
|
+
"Change Request Status",
|
|
52
|
+
"Requested Start Date",
|
|
53
|
+
"Requested End Date",
|
|
54
|
+
"Scheduled Start Date",
|
|
55
|
+
"Scheduled End Date",
|
|
56
|
+
"Support Group ID",
|
|
57
|
+
"Support Group ID 2",
|
|
58
|
+
"Customer Person ID"
|
|
59
|
+
],
|
|
60
|
+
"constants" : [
|
|
61
|
+
{"name": "Location Company", "value" : "Calbro Services"},
|
|
62
|
+
{"name": "Company", "value" : "Calbro Services"},
|
|
63
|
+
{"name": "RequesterLoginID", "value" : "Allen"}
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
```
|