debian-mirror-gitlab/doc/api/graphql/branch_rules.md
2023-03-17 16:20:25 +05:30

137 lines
4.2 KiB
Markdown

---
stage: Create
group: Source Code
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
# List branch rules for a project **(FREE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106954) in GitLab 15.8.
This guide demonstrates how to use [GraphiQL explorer](getting_started.md#graphiql)
to query for branch rules in a given project.
The [example query](#set-up-the-graphiql-explorer) looks for a project in a
GitLab instance either by its full path for example `gitlab-org/gitlab-docs`.
In the query we request all configured branch rules for a project.
NOTE:
You can run the same query directly via a HTTP endpoint, using `cURL`. For more
information, see our guidance on getting started from the
[command line](getting_started.md#command-line).
## Set up the GraphiQL explorer
This procedure presents a substantive example that you can copy and paste into your own
instance of the [GraphiQL explorer](https://gitlab.com/-/graphql-explorer):
1. Copy the following code excerpt:
```graphql
query {
project(fullPath: "gitlab-org/gitlab-docs") {
branchRules {
nodes {
name
isDefault
isProtected
matchingBranchesCount
createdAt
updatedAt
branchProtection {
allowForcePush
codeOwnerApprovalRequired
mergeAccessLevels {
nodes {
accessLevel
accessLevelDescription
user {
name
}
group {
name
}
}
}
pushAccessLevels {
nodes {
accessLevel
accessLevelDescription
user {
name
}
group {
name
}
}
}
unprotectAccessLevels {
nodes {
accessLevel
accessLevelDescription
user {
name
}
group {
name
}
}
}
}
externalStatusChecks {
nodes {
id
name
externalUrl
}
}
approvalRules {
nodes {
id
name
type
approvalsRequired
eligibleApprovers {
nodes {
name
}
}
}
}
}
}
}
}
```
1. Open the [GraphiQL explorer tool](https://gitlab.com/-/graphql-explorer).
1. Paste the `query` listed above into the left window of your GraphiQL explorer tool.
1. Select **Play** to get this result:
![GraphiQL explorer query for branch rules](img/list_branch_rules_query_example_v15_8.png)
If no branch rules are displayed, it may be because:
- No branch rules are configured.
- Your role doesn't have permission to view branch rules. Administrators have access to all records.
## Run the query in the GDK
Instead of requesting access, it may be easier for you to run the query in the
[GitLab Development Kit (GDK)](https://gitlab.com/gitlab-org/gitlab-development-kit).
1. Sign in as the default admin, `root`, with the credentials from
[the GDK documentation](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/gdk_commands.md#get-the-login-credentials).
1. Ensure you have some branch rules configured for the `flightjs/Flight` project.
1. Replace the full path in the query:
```graphql
query {
project(fullPath: "flightjs/Flight") {
```
1. Visit the [GraphiQL explorer tool](http://gdk.test:3000/-/graphql-explorer) for your GDK instance.
1. Paste the `query` listed above into the left window of your GraphiQL explorer tool.
1. Select **Play** to view the result.
For more information on each field, see the [GraphQL API Resources](reference/index.md).