GitHub integration with DevOps Change Velocity
Summarize
Summary of GitHub integration with DevOps Change Velocity
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 capabilities across Plan, Code, and Orchestration, helping you automate workflows and achieve change traceability by configuring real-time notifications or polling from GitHub.
Show less
Key Features
- Connection and Discovery: Connect your GitHub instance to discover repositories, plans, and pipelines. Access depends on permissions: Read permission is required to discover repositories, and Admin permission to configure them.
- Configuration and Notifications: Automatically create Webhooks in GitHub for push events, issues, and workflow jobs to enable real-time data flow into DevOps Change Velocity for creating change policies.
- Repository Management: Organizations can select all or specific repositories for discovery and configuration. Public repositories need to be explicitly selected by organization owners to be discovered.
- Authentication Methods: Supports Basic Authentication and OAuth 2.0 credentials (Authorization Code and JWT for GitHub Apps). OAuth methods enable use of custom actions, secrets management, and GitHub environment deployments.
- Custom Actions: ServiceNow provides custom GitHub Actions available in the GitHub Marketplace to push workflow information and control workflow execution from DevOps Change Velocity.
- Limitations: Only one GitHub organization can be installed per tool. To manage multiple organizations, create separate tools and apps. GitHub environments are not supported with Basic Auth.
Practical Considerations
- Do not configure the same repository in multiple tools simultaneously to avoid data conflicts.
- For OAuth integrations, a MID server is required.
- Secrets must be configured in GitHub to capture workflow data effectively.
Onboarding Options
ServiceNow provides three ways to onboard GitHub into DevOps Change Velocity:
- Workspace Onboarding: Use the DevOps Change Workspace playbook for a guided connection, discovery, configuration, and import process.
- Service Catalog: Onboard and configure GitHub through the ServiceNow Service Catalog for a streamlined experience.
- Classic Experience: Connect and manage GitHub instances using the legacy interface for discovery and configuration.
This integration enables ServiceNow customers to streamline their DevOps pipelines by connecting GitHub repositories and workflows directly into DevOps Change Velocity, improving automation, traceability, and change management.
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.