Permissions required for DevOps tools
Summarize
Summary of Permissions required for DevOps tools
This document outlines the necessary permissions required in various third-party tools to effectively connect with ServiceNow's DevOps Change Velocity. It highlights the permissions needed in Azure DevOps, Bitbucket, GitHub, GitLab, Jenkins, and Jira to ensure seamless integration and functionality.
Show less
Key Features
- Azure DevOps: Access levels required for work items, code, build, release, test management, and service connections, which enable data discovery and real-time updates in ServiceNow.
- Bitbucket: Admin permissions are necessary to discover repositories and retrieve related data.
- GitHub: Specific permissions for repo access, webhook management, and user data access are essential for effective integration.
- GitLab: API permissions allow for retrieval of plans, repositories, and pipeline execution details.
- Jenkins: Overall and job-specific permissions are required to discover pipelines and receive execution details.
- JFrog: Administer Platform roles are necessary for accessing artifact information.
- Jira: User groups and admin permissions are needed to fetch and manage project elements in real-time.
Key Outcomes
By ensuring the correct permissions are configured in these tools, ServiceNow customers can expect:
- Streamlined integration with DevOps tools, reducing manual configuration efforts.
- Enhanced visibility into work items, builds, releases, and test management processes.
- Real-time updates and data synchronization, improving overall workflow efficiency.
- Avoidance of duplication issues with service hooks through proper access level configurations.
Permissions required in your third-party tool to connect to DevOps Change Velocity.
Azure DevOps permissions
- When onboarding a Project, the Project Administrators privilege requires the owner of the PAT to be a member of the project's Project Administrators group.
- When onboarding an Organization, the Project Administrators privilege requires the owner of the PAT to be a member of the organization's Project Collection Administrators group.
| Object | Permissions required | Impact |
|---|---|---|
| Work Items | Read | Required to discover the boards and receive the work items either through import, polling, or real time with a configured webhook. |
| Code | Read | Required to discover repositories and receive branches, commits, and tags either through import, polling, or real time with a configured webhook. |
| Build | Read and execute |
Read: Required to discover the build pipelines and receive pipeline execution details like stages, artifacts, test results, code security results, and so on, either through import, polling, or real time with a configured webhook. Execute: Required to pause or resume the pipelines based on the change control step. |
| Release | Read, write, and execute |
Read: Required to discover the release pipelines and receive pipeline execution details like stages, artifacts, test results, code security results, and so on, either through import, polling, or real time with a configured webhook. Write and Execute: Required to pause or resume the pipelines based on change control step. |
| Test Management | Read | Required to receive test results for pipeline execution. |
| Service Connections | Read, query, and manage | Required to create Service connection automatically which is used to configure ServiceNow tasks like change acceleration, artifact, and package registration, and so on. |
| Packaging | Read | Required to discover the artifact repositories and receive the feeds and packages either through import, polling, or real-time with a configured webhook. |
| Permissions | Project Administrators | Required to create webhooks automatically to receive data in real-time and to create Service connections automatically which is used to configure ServiceNow tasks like change acceleration, artifact and package registration, and so on. |
- Limitation of Azure DevOps
- If you create an Azure tool with custom defined access level, and you reconfigure such a tool because of change in your Integration user credentials, then the existing service hooks for release created and release deployment are not updated. Instead, two new service hooks are created with new configuration details. To avoid the duplication of these service hooks, you must create the tool with full access level.
Bitbucket
| Object | Permissions required | Impact |
|---|---|---|
| Permissions | Admin | Required to discover repos and fetch branches, commit, and tags either through import, polling, or configured webhook. |
GitHub permissions
The following table lists the GitHub permissions for basic authentication.
| Object | Permissions required | Impact |
|---|---|---|
| repo | repo | Required to discover repositories and their respective workflows and receive branches, commits, pull requests, and tags either through import, polling, or real-time with a configured webhook. |
| admin:repo_hook | write:repo_hook | Required to create webhooks automatically to receive repo data in real time. |
| admin:repo_hook | read:repo_hook | Required to lookup already existing webhooks before any new webhook is automatically created to receive repo data in real time. |
| user | user:email | Required to discover pull requests actors like approvers, raised by, merged by, reviewers, and assignees either through import, polling, or real time with a configured webhook. |
The following table lists the GitHub permissions required for OAuth 2.0 authentication.
| Object | Permissions required | Impact |
|---|---|---|
| Actions | Read-only | Required to receive workflows associated to the respective repos real time with a configured webhook. |
| Contents | Read-only | Required to discover repositories and its respective workflows and receive branches, commits, and tags either through import/polling or real time with a configured webhook. |
| Deployments | Read and write | Required to resume the workflow which has environment with ServiceNow change as an environment secret. |
| Environments | Read-only | Required to lookup for existing environment secrets for change creation. |
| Metadata | Read-only | Required to discover repositories and its respective workflows. |
| Secrets | Read-only | Required to get access to environment secrets (to create change). |
| Webhooks | Read and write Note: Read and write permissions are required to configure webhooks from ServiceNow. |
Required to create webhook automatically to receive repo data in real time. |
| Pull requests | Read-only | Required to discover pull requests and receive related details like pull request ID, commits, raised by, approvers, comments, reviewers, etc., either through import/polling or real time with a configured webhook. |
| Checks | Read-only | Required to process workflow events associated with private repositories. |
GitLab permissions
| Object | Permissions required | Impact |
|---|---|---|
| api | Read and write | Required to discover plans, repos, and pipelines and receive branches, commit, and tags, and pipeline execution details (like stages, artifacts, test results, code security results), work items, tags, branches, and commits either through import, polling, or real time with a configured webhook. Also, to pause or resume the pipelines based on change control step. |
Jenkins permissions
| Object | Permissions required | Impact |
|---|---|---|
| Overall | Read | Required to discover the pipelines and receive pipeline execution details like jobs or stages, artifacts, test results, code security results, and so on, either through import, polling, or real time with ServiceNow DevOps Jenkins plugin. |
| Job | Read | Required to discover the pipelines and receive pipeline execution details like jobs or stages, artifacts, test results, code security results, and so on, either through import, polling, or real time with ServiceNow DevOps Jenkins plugin. |
JFrog permissions
| Object | Permissions required | Impact |
|---|---|---|
| Roles | Administer Platform | Required to access artifact details like artifact name, artifact repo, and artifact version. |
Jira permissions
| Object | Permissions required | Impact |
|---|---|---|
| Groups | jira-software-users | Required to discover plans and fetch features, stories, and so on, either through import, polling, or configured webhook. |
| Permissions | Jira Administrators | Required to create webhooks automatically for fetching features and stories in real time. |