Instruqt Labs (beta)
  • Instruqt
  • Getting started
    • Setting up Version Control
    • Install Instruqt CLI
    • Creating your first lab
    • Configuration basics
    • Exploring the lab configuration
    • Adding your first chapter
    • Configuring sandboxes
    • Adding quizzes
    • Adding tasks and gating content
    • Finishing up
  • Documentation
    • Writing Lab Content
      • Project Structure
      • Markdown and Components
    • Integrations
      • Version Control
    • Lab reference
      • Content
        • Lab
        • Page
        • Activities
          • Task
          • Quiz
            • Multiple Choice
            • Single Choice
            • Text Answer
            • Numeric Answer
        • Layout
        • Tabs
          • Terminal
          • Service
          • Editor
          • External Website
          • Note
      • Sandbox
        • Containers
          • Container
          • Sidecar Container
        • Kubernetes
          • Cluster
          • Config
          • Helm
        • Nomad
          • Cluster
          • Job
        • Networking
          • Network
          • Ingress
        • Cloud Accounts
          • AWS
          • Azure
          • Google Cloud
        • Terraform
        • Template
        • Exec
        • Copy
        • Certificates
          • Root
          • Leaf
        • Random
          • Number
          • ID
          • UUID
          • Password
          • Creature
      • Functions
    • Tools
      • Instruqt CLI
    • Glossary
Powered by GitBook
On this page
  • Overview
  • Collaborate with confidence
  • Keep track of changes
  • Integrate with existing workflows
  • Limitations
  • Enable Version Control
  • Integrating Version Control with GitHub
  • Enable the GitHub integration
  • Select organization
  • Configure permissions
  • Install GitHub application
Edit on GitHub
Export as PDF
  1. Documentation
  2. Integrations

Version Control

Learn how to use version control in your labs. Version control helps you streamline development processes, enable faster iteration and delivery of labs.

Overview

Version control allows you to collaborate on labs with no overwriting and a history of auditing any changes.

Collaborate with confidence

Multiple team members can work on the same content at the same time with no risk of overwriting each other’s changes. If there are conflicting changes made by multiple users, they can be compared, resolved and merged directly using git from the command line.

Keep track of changes

All changes made to content are stored, and functions as an audit log showing who changed what, when, and why the changes were made. The changes include the creation and deletion of files as well as edits to their contents.

Having the complete history and being able to annotate each change with the date, an author and a message describing the purpose and intent of the change, enables going back to previous versions to help in root cause analysis for bugs. This capability is crucial when needing to fix problems and being able to compare changes with earlier versions of the content.

Integrate with existing workflows

For content creators that are already using version control systems such as GitHub, the new integration allows you to connect your GitHub organization directly without the need for GitHub actions and the Instruqt CLI to push your content. This allows you to use your standard git workflow best practices already adopted by your organization.

Limitations

In the current beta implementation there are some limitations to consider:

  • Version Control currently only integrates with GitHub.

  • When linking instruqt to a personal GitHub account instead of an organization, only public repositories can be used.

Enable Version Control

Version control is currently in Beta. To have the feature enabled for your organization reach out in either your organization channel on the instruqt slack workspace or any of the support channels.

Integrating Version Control with GitHub

Now that the version control integration is enabled in your organization, a connection needs to be made with GitHub.

Enable the GitHub integration

To enable the GitHub integration, navigate to the Version Control settings page.

The VCS integrations are listed, with GitHub currently being the only option. Click the “Install” button on the GitHub integration to install the Instruqt GitHub application in your GitHub organization. You will then be redirected to GitHub, where you are taken through the GitHub application installation flow.

Select organization

First you need to select the organization you want to install the application in.

Depending on your settings, the flow might ask you to provide two-factor authentication details to GitHub.

Configure permissions

You are then taken to the application permissions page, where you can review which permissions the application wants to use.

The permissions that the Instruqt GitHub application needs are:

  • Read access to metadata (this is the default permissions for an application)

    • read the organization name, etc.

  • Read and write access to code

    • This allows the integration to read the contents of a track repository, so it can update the data in the Instruqt platform with any changes made through GitHub.

    • This allows the integration to write changes made in the instruqt UI back to the track repository on GitHub.

You can choose to give the permissions on all repositories in the organization, or to specific repositories only.

Install GitHub application

To complete the installation, click “Install” to confirm your choices and install the application.

You are then taken back to the Version Control settings page, which now shows that the integration was successfully installed.

PreviousIntegrationsNextLab reference

Last updated 14 days ago