Git Product home page Git Product logo

git4jamf's Introduction

git4jamfpro

A tool designed for CI/CD pipelines that uploads the most recently changed scripts and extension attributes in source control to a Jamf Pro server(s).

This is a rewrite of the great (but very aged) git2jss python library written by badstreff.

What are the benefits of git4jamfpro?

  • Designed and packaged to be be ran in a CI/CD pipeline. We even include sample pipeline config files for CircleCI, Bitbucket, and GitHub to get you up and running quickly.
  • No python dependency; git4jamfpro is written in bash.
  • Uses modern Bearer Token authentication with Jamf Pro.
  • Allows you to download all scripts and extension attributes (EAs) in parallel from a Jamf Pro server.
  • You can update (or create) scripts/EAs locally, commit the changes to your repository, and the changed scripts/EAs are pushed to Jamf Pro automatically by your pipeline. This ensures that script/EA changes are always tracked in source control.
  • When a script/EA is updated, a backup can be left as an artifact in your CI/CD pipeline.

Setting up git4jamfpro

  1. Fork your own copy of the repository.
  2. Clone the repository locally:
git clone [email protected]:YOUR_ORGANIZATION/git4jamfpro.git (or equivalent)
  1. Traverse into the repository:
cd git4jamfpro
  1. Download your scripts/EAs:
./git4jamfpro --url <YOUR_JAMF_PRO_SERVER> \
    --username <API_USER> \
    --password <API_PASS> \
    --download-scripts \
    --download-eas
  1. Commit the repository populated with scripts/EAs to your source control:
git add .
git commit -m "initial commit with scripts/EAs"
  1. Configure your pipeline (see the Wiki for CircleCI, Bitbucket, and GitHub setup).

  2. Now you can make changes to your scripts locally, push those changes to source control, and watch your pipeline automatically update Jamf Pro ๐Ÿคฏ.

Required Permissions

The Jamf Pro user account used with git4jamfpro must have the below permissions.

Jamf Pro Server Objects Create Read Update Delete
Computer Extension Attributes โœ“ โœ“ โœ“
Scripts โœ“ โœ“ โœ“

git4jamf's People

Contributors

ryangball avatar allpurposeben avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.