https://github.com/tyler-tee/jnuc-2023
Setup to host companion content for the JNUC 2023 session 'Low-Code Automation and App Installers'.
https://github.com/tyler-tee/jnuc-2023
app-installers jamf-pro mdm
Last synced: about 2 months ago
JSON representation
Setup to host companion content for the JNUC 2023 session 'Low-Code Automation and App Installers'.
- Host: GitHub
- URL: https://github.com/tyler-tee/jnuc-2023
- Owner: tyler-tee
- Created: 2023-07-04T14:42:50.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-09-20T13:17:05.000Z (over 1 year ago)
- Last Synced: 2025-03-24T12:08:24.298Z (2 months ago)
- Topics: app-installers, jamf-pro, mdm
- Language: Python
- Homepage:
- Size: 16.6 KB
- Stars: 14
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# API endpoints
These endpoints allow you to interact with Jamf Pro App Installers and their deployments programmatically.
## GET
[/v1/app-installers/titles/](#get-v1app-installerstitles)
[/v1/app-installers/titles/{TITLE_ID}](#get-v1app-installerstitlestitle_id)
[/v1/app-installers/deployments](#get-v1app-installersdeployments)
[/v1/app-installers/deployments/{DEPLOYMENT_ID}](#get-v1app-installersdeploymentsdeployment_id)
[/v1/app-installers/deployments/{DEPLOYMENT_ID}/computers](#get-v1app-installersdeploymentsdeployment_idcomputers)
[/v1/app-installers/deployments/{DEPLOYMENT_ID}/installation-summary](#get-v1app-installersdeploymentsdeployment_idinstallation-summary)## POST
[/v1/app-installers/deployments](#post-v1app-installerstitles)
[/v1/app-installers/deployments/{DEPLOYMENT_ID}/computers/installation-retry](#post-v1app-installersdeploymentsdeployment_idcomputersinstallation-retry)
[/v1/app-installers/deployments/{DEPLOYMENT_ID}/computers/{COMPUTER_ID}/installation-retry](#post-v1app-installersdeploymentsdeployment_idcomputerscomputer_idinstallation-retry)___
### GET /v1/app-installers/titles/
Get all available App Instalers from the Jamf Pro App Catalog.**Response**
```
{
"totalCount": integer,
"results": [
{
"id": string,
"bundleId": string,
"titleName": string,
"publisher": string,
"iconUrl": string,
"version": string
},
...
]
}
```___
### GET /v1/app-installers/titles/{TITLE_ID}
Get details for a particular App Installer by supplying its ID.**Parameters**
| Name | Required | Type | Description |
| -------------:|:--------:|:-------:| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `TITLE_ID` | true | string | Can be retrieved using /v1/app-installers/titles/ |
**Response**```
{
"id": string,
"bundleId": string,
"titleName": string,
"publisher": string,
"iconUrl": string,
"version": string,
"sizeInBytes": integer,
"minimumOsVersion": string,
"language": string,
"availabilityDate": string,
"packageSigningIdentity": string,
"installerPackageHashType": string,
"installerPackageHash": string,
"shortVersion": string,
"architecture": string,
"originalMediaSources": [
{
"hashType": string,
"hash": string,
"url": string
}
],
"launchDaemonIncluded": boolean,
"notificationAvailable": boolean,
"suppressAutoUpdate": boolean
}
```
___### GET /v1/app-installers/deployments/
Get all deployed App Installers (enabled or not) from your Jamf Pro instance.
**Response**```
{
"totalCount": integer,
"results": [
{
"id": string,
"name": string,
"enabled": boolean,
"selectedVersion": string,
"latestVersion": string,
"deploymentType": string,
"updateBehavior": string,
"site": {
"id": string,
"name": string
},
"smartGroup": {
"id": string,
"name": string
},
"category": {
"id": string,
"name": string
},
"computerStatuses": {
"installed": integer,
"available": integer,
"inProgress": integer,
"failed": integer,
"unqualified": integer
},
"bundleId": string
},
...
]
}
```___
### GET /v1/app-installers/deployments/{DEPLOYMENT_ID}
Get details for a particular App Installer deployment by supplying the corresponding deployment ID.**Parameters**
| Name | Required | Type | Description |
| -------------:|:--------:|:-------:| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DEPLOYMENT_ID` | true | string | Can be retrieved using /v1/app-installers/deployments/ |
**Response**```
{
"id": string,
"name": string,
"enabled": boolean,
"appTitleId": string,
"deploymentType": string,
"updateBehavior": string,
"siteId": string,
"smartGroupId": string,
"installPredefinedConfigProfiles": string,
"titleAvailableInAis": boolean
"notificationSettings": {
"notificationMessage": string,
"notificationInterval": integer,
"deadlineMessage": string,
"deadline": string,
"quitDelay": string,
"completeMessage": string,
"relaunch": boolean
},
"selfServiceSettings": {
"includeInFeaturedCategory": boolean,
"includeInComplianceCategory": boolean,
"forceViewDescription": boolean,
"description": string,
"categories": [
{
"id": string,
"featured": boolean
}
]
},
"selectedVersion": string,
"latestAvailableVersion": string
}
```
___### GET /v1/app-installers/deployments/{DEPLOYMENT_ID}/computers
Get a system-level summary for a particular App Installer deployment.
**Parameters**
| Name | Required | Type | Description |
| -------------:|:--------:|:-------:| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DEPLOYMENT_ID` | true | string | Can be retrieved using /v1/app-installers/deployments/ |
**Response**```
{
"totalCount": integer,
"results": [
{
"id": string,
"status": string,
"error": string,
"retryable": boolean,
"computerName": string
}
]
}
```
___### GET /v1/app-installers/deployments/{DEPLOYMENT_ID}/installation-summary
Get the installation summary for a particular App Installer deployment.
**Parameters**
| Name | Required | Type | Description |
| -------------:|:--------:|:-------:| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DEPLOYMENT_ID` | true | string | Can be retrieved using /v1/app-installers/deployments/ |
**Response**```
{
"installed": integer,
"available": integer,
"inProgress": integer,
"failed": integer,
"unqualified": integer
}
```
___### POST /v1/app-installers/deployments
Create a new App Installer deployment.
**Payload**
```
{
"name": "string,
"enabled": boolean,
"appTitleId": string,
"siteId": string,
"categoryId": string,
"smartGroupId": string,
"deploymentType": string // Example: "INSTALL_AUTOMATICALLY",
"updateBehavior": string // Example: "AUTOMATIC",
"notificationSettings": {
"notificationMessage": string,
"notificationInterval": integer,
"deadlineMessage": string,
"deadline": integer,
"quitDelay": integer,
"completeMessage": string,
"relaunch": boolean
},
"installPredefinedConfigProfiles": boolean
}
```
**Response**```
// Status 200 indicates successful creation of a new App Installer deployment.
```
___### POST /v1/app-installers/deployments/{DEPLOYMENT_ID}/computers/installation-retry
Issue a RETRY for failed App Installer installations for a deployment by providing its ID.
**Parameters**
| Name | Required | Type | Description |
| -------------:|:--------:|:-------:| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DEPLOYMENT_ID` | true | string | Can be retrieved using /v1/app-installers/deployments/ |
**Response**```
// Status 204 indicates successful retry submission
```
___### POST /v1/app-installers/deployments/{DEPLOYMENT_ID}/computers/{COMPUTER_ID}/installation-retry
Retry a failed App Installer installation for a single system.
**Parameters**
| Name | Required | Type | Description |
| -------------:|:--------:|:-------:| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DEPLOYMENT_ID` | true | string | Can be retrieved using /v1/app-installers/deployments/ |
| `COMPUTER_ID` | true | string | ID used to identify Computer in Jamf Pro. |
**Response**
```
// Status 204 indicates successful retry submission
```
___