Howdy, and welcome
to your next session,
Jamf's New Developer Portal.
I'm Chris, Solution Partner Engineer
for our solution partner program
here at Jamf.
And I'm joined by Sam Fortuna,
Principal Systems Engineer
from the Developer Relations team at Jamf.
Together we make sure that our developers
and partners have the technical resources
they need at their disposal
in order to develop with Jamf's products.
This session is focused on
all things developer portal.
I'll tell you what the portal is
and who it's built for,
and then Sam will describe some
of the core features and functionality
that the portal provides our users.
After you've become familiar
with what the developer portal
has to offer,
we'll show you how the resulting
integrations and solutions that are built
using Jamf's developer tools
can be made available to the community.
If you haven't heard of it,
Jamf's developer portal is a one-stop shop
designed with developers in mind.
Recently redesigned, the portal contains
technical documentation
which describe the developer tools
made available by Jamf
and is a valuable resource when
building integrations with Jamf products.
While it was designed
with developers in mind,
the articles and references
within the portal are intended to benefit
everyone who wants to understand
more about how certain technologies
within Jamf products work.
From seasoned developers to Jamf admins,
to those who are simply curious
and want to learn more about
how Jamf works in a connected environment,
Jamf's developer portal was built for you.
Identifying gaps within current processes
is a key first step to innovation.
Jamf products do not exist in a vacuum.
For our customers,
Jamf is just one piece of the puzzle,
a single, yet powerful cog
in an incredible machine.
Jamf understands the power
that can be harnessed
in a cooperative IT environment.
It provides several integration points
and developer tools
to encourage interoperability
and integrations.
Using our chat feature, let us know
what tools you have in your environment
that you'd like to integrate with Jamf.
What workflows would you want to create?
Jamf's products each are powerful
solutions which provide immense value
while standing on their own.
Connecting these solutions
with other applications and systems
can add an incredible multiplier effect
for an IT environment,
and the output is often greater
than the sum of its parts.
Jamf offers many different tools
which are documented and described
in the developer portal.
And as result,
many different types of solutions
have been developed by our customers
and partners using these tools.
APIs can only be as powerful
as their core applications.
And Jamf's core applications
are world-class powerhouses.
Jamf APIs allow programmatic access
to the data within a Jamf application,
and also provide the ability
to perform actions on managed devices.
They can be used to create
rich dashboards,
read and adjust device information
at scale,
build robust applications
which integrate with Jamf, and more.
Check out the API references
in the developer portal,
as it is the definitive source of truth
when exploring the API
capabilities of different Jamf products.
Jamf Pro webhooks are a method
for information about application events
to be sent to an external source
and are a powerful developer tool,
as they allow the exchange of information
to occur in near real-time.
This kind of tool can again
be useful for building dashboards
and other analytics
but can also be used
for performing complex
"if this, then that" automations
for workflows,
like device enrollment,
dynamic content provisioning,
custom device configuration,
and much more.
Documentation can be found
on the developer portal,
which describes each event type
and provides example event bodies.
Webhooks are one example of outbound
data flow from a Jamf product.
But wait, there's more.
Jamf Pro and Jamf Protect,
Compliance Reporter,
and the Wandera products
each have their own capability
to integrate with SIMS and data lakes,
and other data aggregation tools.
These integrations provide
real-time information
about an organization's devices
and are powerful tools for reporting,
compliance, analytics, and more.
Some Jamf products,
like Jamf Pro and Jamf School,
can leverage Apple's MDM framework
to deliver custom configurations
for App Store applications
using managed app config.
Or for third-party applications,
using custom JSON Schema.
Information about each of these
developer tools can be found
within the developer portal.
Sam will now describe some of
the developer portal's key features
and some changes
which came with the new version.
Thanks, Chris.
With the introduction
of the new developer portal,
we've included better navigation.
If you were familiar
with our existing portal,
you'll recall that navigating
between resources often required
the use of the back button in the browser.
With improvements to global navigation,
all resources should be no more
than a few clicks away.
In addition to global navigation,
we've added support and documentation
resources for all Jamf products
that include an API or developer tools.
To help you find what you're looking for,
we've also added a search feature.
This will return results from both
the API reference documentation
as wells as guides,
ensuring that you've got
all the documentation
related to a specific feature
right at your fingertips.
We've also included more resources
to help you get started developing tools
that integrate with Jamf products.
With an ever-growing ecosystem of products
and new features being regularly added,
we recognize that it can be difficult
to figure out where to start.
For example,
Jamf Pro includes two different APIs.
Determining which is right for you
and the tool you're building
can be confusing.
Check out our introductory resources
to learn about each of the products,
the developer resources
available within them,
and how you can get the most out
of the Jamf platform.
API references are the meat and potatoes
of any developer portal.
We have consolidated API references
for all Jamf products into the new portal.
Although some of the references
are still hosted on other platforms,
we're working to update these resources
to provide a consistent
consumer experience,
no matter what API or product
you're working with.
Use the chat feature
of the JNUC 21 platform
to tell us more about
which APIs you have worked with already.
If you're just getting started
within the world of APIs
and Jamf developer tools,
which API are you interested
in working with?
The API references for the Classic
and Jamf Pro APIs
have seen massive overhauls.
To begin with, we've included links
to the Jamf Pro administrators guide
to help new users understand
what a feature a specific endpoint
is interacting with.
This should prove to be helpful
for both customers who know the product
but may be getting started with APIs,
as well as partners
who may understand APIs,
but have not used the product.
Some endpoints include support
for multiple workflows or features,
which can be confusing when trying
to interpret API documentation.
We've extended the documentation
to differentiate between
these workflows, and in many cases,
provide sample request bodies that can be
used for interreacting with each workflow.
In the example here,
you can see that we describe how to add
or remove devices from a static group
while also providing an example
for smart groups,
all of which are supported
by the same endpoint.
We've also added support
for auto-generated code samples in cURL,
Swift, Ruby, and Python.
These samples can be used
as building blocks for the tools
or integrations you're working on.
They will require some updates
and additional logic
to build a complete integration
but should serve as a great
starting for understanding basic syntax.
Recipes are a new feature that will walk
consumers through code samples,
explaining what various lines
within a code sample do
and how they can be modified
to fit your environment.
You can find recipes
within both the API references
and guide sections
of the developer portal.
We believe that recipes will help bridge
the knowledge gap between the syntax
required by your coding language
and the syntax required by Jamf APIs.
Users who may not be familiar
with either often struggle
to understand the difference
between general language syntax
and that required by
a specific product or API.
We've begun by including support
for cURL and Python.
But let us know if there are
other languages that you would like
to see in the future.
While API references are great
for learning how to interact
with specific features or endpoints,
guides provide a deeper dive
into workflows and best practices
that may span the entire API.
Guides are divided into two areas.
The first includes content
related to APIs and acts as
a companion guide to our API references.
These guides include high-level concepts,
such as what authentication mechanism
to use for a specific API,
error codes the API may return,
privilege requirements for interacting
with specific endpoints, and more.
The second area includes
documentations specific
to non-API-related workflows for Jamf Pro,
as well as developer resources
for all other Jamf products.
This area includes documentation
on topics such as webhooks,
managed app configuration,
application packaging best practices,
and much more.
While API references
are often developer-focused,
guides are often IT administrator-focused.
We've shifted this dynamic
and attempted to bridge the gap,
making both types of resources valuable
to both consumer types.
With countless articles already available
to help administrators,
we focused on delivering resources
that help developers.
In many cases, developers may not have
the breadth of product knowledge
as Jamf administrators.
These resources provide
a baseline understanding
of some of the fundamental technologies
that can be leveraged to extend
the Jamf platform
while providing a more hands-on
set of resources and how-to guides.
If you interacted with the developer
portal prior to our migration,
you may have recognize that the
"Try it Out" button has been removed.
This feature was originally implemented
prior to the release of full API reference
documentation for the Classic API
and helped API consumers
receive live responses
from a Jamf Pro environment.
Since then, we've continued to improve
our API reference documentation
and other supporting resources,
such as our Postman Collection.
We've also launched
the solution partner program,
which provides partners the ability
to receive an NFR license
of Jamf products for testing
and development purposes.
With all of these changes' enhancements,
the value originally provided
by the "Try it Out" feature
has largely been diminished.
Therefore, we have removed "Try it Out"
and spent more time addressing
the problems that that feature
originally solved for.
The Classic API Postman Collection
includes example response bodies
as well as request bodies
for creating new resources.
Furthermore, it allows you to interact
with your own environments through the use
of environment variables.
Interacting with data
that you're familiar with
from your own environment will be easier
to interpret and less volatile,
especially when other community members
are interacting with that same data set.
Combining the power of the new developer
portal with our Postman Collection
will provide you with
auto-generated code samples
in the language of your choosing
using credentials, server URLs,
and other organization-specific
information that wasn't possible
via the existing "Try it Out" feature.
We're excited to see
these developer resources evolve
and are always interested
in hearing your feedback
on ways we can further improve.
Use the chat feature to tell us
about enhancements that would benefit you.
While we do not currently provide
a Postman Collection
that includes all endpoints
for the Jamf Pro API,
we do provide a collection that supports
the new authentication endpoints.
"How do I get a bearer token?"
is one of the most common questions
that we get when users begin working
with the Jamf Pro API.
This Postman Collection solves
that problem and populates variables
that can be reused for authentication
to other endpoints
once they're imported into the collection.
Speaking of imports,
the Jamf Pro API specification file
can be found by appending /api/schema
to your Jamf Pro URL.
The contents of this file
can be imported directly into Postman
to generate a collection
for any version of Jamf Pro.
Back to Chris who will tell us more
about programs and other resources
which are closely affiliated
with the developer portal.
Thanks, Sam.
Now that you have seen
Jamf's new developer portal
and have heard about its features
and the incredible amount of information
it contains,
please tell us what else you would like
to see documented there.
If you haven't used the portal before,
it's time to dive right in
and become familiar with it.
No matter which developer tool you use
or where your integration journey
with Jamf might take you,
the developer portal will be
your digital atlas,
ready when you need it
each step of the way.
And on your journey, the developer
and solution partner programs can empower
and enable you to build apps and tools
which integrate with Jamf products.
Development instances of Jamf products,
product support,
and co-marketing tasks
are some of the benefits
for joining this program.
From development to deployment,
these programs exist to provide developers
what they require
in order to enable success.
Anyone who wants to build
an innovative solution for Jamf customers
can be empowered to do so
with the knowledge inside
the developer portal
and the resources
that these programs provide.
If you are interested, please check out
the partner programs homepage
for more information.
And when you do have a solution
that you want to share with the community,
please list it on the Jamf Marketplace.
The Marketplace is for everybody,
and it is the source of truth
for third-party integrations
and solutions for Jamf customers.
We have solution listings
for all industries
which cover a myriad of reuse cases.
Some listings are built
by major software companies,
others are open-source tools
built by members of the Jamf
and Mac admin communities.
So if you have a solution that could
positively impact Jamf customers,
it has a home on the Marketplace.
We hope that you have found
the information about the developer portal
at Jamf useful.
And that the developer portal
becomes your companion guide
for developing with Jamf products.
Here are links to the developer portal,
Jamf Marketplace,
and partner program homepages
that were mentioned in the presentation.
Please see the session handout
for additional links and resources,
and don't forget to check out
the other developer track sessions
to learn more about
building solutions with Jamf.
Thank you so much for listening.
We'll address any questions
that you have in the Q&A.
Other than that, have a great day
and enjoy JNUC.