GitHub integration with DevOps Change Velocity
Summarize
Summary of GitHub integration with DevOps Change Velocity
ServiceNow’s DevOps Change Velocity integrates with both GitHub and GitHub Enterprise to enable discovery and management of repositories, plans, and pipeline definitions. This integration supports key DevOps capabilities including Plan (Plans), Code (Repository), and Orchestration (Actions), providing real-time notifications and change traceability through Webhooks. It streamlines automation and governance across development workflows by connecting directly to your GitHub instance.
Show less
Key Features
- Connection and Discovery: Connect your GitHub instance to discover repositories, plans, and pipelines. You can select repositories at the organization level, but permissions must be set appropriately (Read for discovery, Admin for configuration).
- Webhook Configuration: Automatically creates Webhooks for commits, issues, and workflow jobs to enable real-time data flow into DevOps Change Velocity for change policy enforcement.
- Permission Requirements: Organization members must have at least Read permission to discover repos and Admin permission to configure them. Only selected repositories by the organization owner can be discovered, even if public.
- Repository Configuration Restrictions: The same repository cannot be configured in multiple tools simultaneously to avoid conflicting data; switching tools requires removing existing webhooks and untracking the repository from the previous tool.
- Authentication Methods: Supports Basic Authentication (limited to marketplace custom actions, no GitHub environments support), OAuth 2.0 Authorization Code, and OAuth 2.0 JWT for GitHub Apps. OAuth methods enable full usage of custom actions, secrets management, and GitHub environment deployments.
- Custom Actions Integration: ServiceNow provides custom actions in the GitHub Marketplace to orchestrate workflows, including pausing or resuming workflows directly from DevOps Change Velocity.
- Secrets Management: To capture workflow data, secrets must be configured in GitHub repositories integrated with DevOps Change Velocity.
- Organizational Scope: One GitHub organization can be installed per DevOps tool instance. Additional organizations require separate tool and app instances.
Getting Started
There are three main onboarding options to integrate GitHub with DevOps Change Velocity:
- Workspace: Use the DevOps Change Workspace playbook for a guided experience to connect, discover, configure, and import repositories, plans, and pipelines.
- Service Catalog: Onboard GitHub through the ServiceNow Service Catalog interface for creating and configuring connections.
- Classic Experience: Use the classic interface to connect and manage your GitHub instance manually.
This integration empowers ServiceNow customers to automate change traceability, enforce change policies, and orchestrate workflows within their GitHub environment, enhancing visibility and control across DevOps processes.
Connect to your GitHub instance to discover repositories, plans, pipeline definitions and configure real-time notifications or polling to enable change traceability and automation.
GitHub integration overview
DevOps Change Velocity supports Plan (Plans), Code (Repository) and Orchestration (Actions) capabilities for the GitHub tool.
Both GitHub and GitHub Enterprise are supported.
- Connect: Discover repositories, plans, and pipeline definitions by connecting your GitHub instances to DevOps Change Velocity.
- Configure: Enable sending real-time notifications for commits, work items, and pipelines by automatically creating a Webhook (push, issues, and workflow_job) in GitHub so that this data can be used to create change policies.
- Discover: Base permission of Read.
- Configure: Base permission of Admin.
For repositories under an organization, you must not have the same repository configured in more than one tool on an instance. If the same repository is configured for multiple tools, then data is associated with a random tool as part of notifications events. If you want to configure the same repository in a different tool, you must delete the webhooks created from the first tool, untrack the repository under that tool, and then configure the same repository in the different tool.
Authentication methods
- Basic authentication
If you connect your GitHub instance with basic auth, you can use the custom actions from the GitHub marketplace. GitHub environments aren’t supported for basic auth connection.
- OAuth 2.0 credentials
- If you connect your GitHub instance with OAuth 2.0 credentials for Authorization code, you can use the custom actions from the GitHub marketplace and create secrets to use in workflows. For more information, see OAuth 2.0 credentials for GitHub Apps - Authorization Code.
- If you connect your GitHub instance with OAuth 2.0 credentials for GitHub Apps - JWT, you can use the custom actions from the GitHub marketplace, create secrets to use in workflows, and GitHub environments to deploy to an environment. For more information, see OAuth 2.0 credentials for GitHub Apps - JWT. For GitHub repositories under an organization, only one organization can be installed per tool (i.e - One GitHub App can be installed with One GitHub Org and with One GitHub tool). If you want to add more organizations, you can create separate tools and apps.
Custom actions by ServiceNow are available in GitHub Marketplace for the orchestration capability, to push information from Actions (workflows) and to pause or resume workflows from DevOps Change Velocity. For more information on custom actions, see ServiceNow DevOps custom actions from GitHub marketplace.
To capture the workflow data in DevOps Change Velocity, you must configure Secrets in your GitHub tool. For more information, see GitHub Actions configurations.
There are a few limitations for GitHub Actions support, see GitHub Actions configurations.
Get started
Use one of the following options to onboard GitHub. For a guided experience, use the workspace to onboard a tool. Alternatively, you can use the Service Catalog or Classic experience.