From f942a66dce45f0c7a62365014fda0f4a664aaf16 Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Wed, 18 May 2022 16:53:55 -0500 Subject: [PATCH] Use GitHub Actions --- .github/ISSUE_TEMPLATE.md | 40 + .github/ISSUE_TEMPLATE/bug.md | 24 + .github/ISSUE_TEMPLATE/config.yml | 5 + .github/ISSUE_TEMPLATE/enhancement.md | 25 + .github/PULL_REQUEST_TEMPLATE.md | 9 + .github/workflows/clean_build_artifacts.yml | 17 + .../continuous-integration-workflow.yml | 72 + .github/workflows/pr-build-workflow.yml | 28 + build.gradle | 100 +- buildSrc/build.gradle | 121 ++ buildSrc/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59536 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + .../convention/versions/CreateIssue.graphql | 7 + .../versions/FindCreateIssueInput.graphql | 20 + .../convention/versions/RateLimit.graphql | 8 + .../security/convention/versions/schema.json | 1 + .../io/spring/gradle/IncludeRepoTask.groovy | 104 ++ .../AbstractSpringJavaPlugin.groovy | 72 + .../convention/ArtifactoryPlugin.groovy | 45 + .../gradle/convention/CheckstylePlugin.groovy | 49 + .../gradle/convention/DeployDocsPlugin.groovy | 82 ++ .../gradle/convention/DocsPlugin.groovy | 45 + .../IncludeCheckRemotePlugin.groovy | 80 ++ .../convention/IntegrationTestPlugin.groovy | 130 ++ .../gradle/convention/JacocoPlugin.groovy | 41 + .../gradle/convention/JavadocApiPlugin.groovy | 116 ++ .../convention/JavadocOptionsPlugin.groovy | 15 + .../ManagementConfigurationPlugin.java | 74 + .../gradle/convention/MavenBomPlugin.groovy | 18 + .../RepositoryConventionPlugin.groovy | 79 ++ .../convention/RootProjectPlugin.groovy | 61 + .../convention/SchemaDeployPlugin.groovy | 71 + .../gradle/convention/SchemaPlugin.groovy | 15 + .../gradle/convention/SchemaZipPlugin.groovy | 43 + .../gradle/convention/SortedProperties.groovy | 52 + .../convention/SpringModulePlugin.groovy | 47 + .../gradle/convention/SpringTestPlugin.groovy | 30 + .../TestsConfigurationPlugin.groovy | 54 + .../io/spring/gradle/convention/Utils.groovy | 34 + .../src/main/java/lock/GlobalLockPlugin.java | 16 + .../src/main/java/lock/GlobalLockTask.java | 40 + .../gradle/CopyPropertiesPlugin.java | 22 + .../gradle/antora/AntoraVersionPlugin.java | 71 + .../gradle/antora/AntoraVersionUtils.java | 55 + .../gradle/antora/CheckAntoraVersionTask.java | 96 ++ .../antora/UpdateAntoraVersionTask.java | 138 ++ ...eckClasspathForProhibitedDependencies.java | 99 ++ ...sspathForProhibitedDependenciesPlugin.java | 67 + ...ProhibitedDependenciesLifecyclePlugin.java | 41 + .../gradle/github/RepositoryRef.java | 70 + .../changelog/GitHubChangelogPlugin.java | 103 ++ .../github/milestones/GitHubMilestoneApi.java | 238 ++++ .../GitHubMilestoneHasNoOpenIssuesTask.java | 110 ++ .../GitHubMilestoneNextReleaseTask.java | 93 ++ ...itHubMilestoneNextVersionDueTodayTask.java | 102 ++ .../milestones/GitHubMilestonePlugin.java | 72 + .../gradle/github/milestones/Milestone.java | 63 + .../github/milestones/NextVersionYml.java | 29 + .../release/CreateGitHubReleaseTask.java | 130 ++ .../github/release/GitHubReleaseApi.java | 91 ++ .../github/release/GitHubReleasePlugin.java | 49 + .../gradle/github/release/Release.java | 156 +++ .../MavenPublishingConventionsPlugin.java | 82 ++ .../maven/PublishAllJavaComponentsPlugin.java | 33 + .../gradle/maven/PublishArtifactsPlugin.java | 26 + .../gradle/maven/PublishLocalPlugin.java | 29 + .../gradle/maven/SpringMavenPlugin.java | 21 + .../maven/SpringNexusPublishPlugin.java | 28 + .../gradle/maven/SpringSigningPlugin.java | 70 + .../propdeps/PropDepsEclipsePlugin.groovy | 43 + .../gradle/propdeps/PropDepsIdeaPlugin.groovy | 46 + .../gradle/propdeps/PropDepsPlugin.groovy | 76 ++ .../springframework/gradle/sagan/Release.java | 123 ++ .../gradle/sagan/SaganApi.java | 93 ++ .../gradle/sagan/SaganCreateReleaseTask.java | 86 ++ .../gradle/sagan/SaganDeleteReleaseTask.java | 62 + .../gradle/sagan/SaganPlugin.java | 47 + .../convention/versions/CommandLineUtils.java | 49 + .../convention/versions/FileUtils.java | 49 + .../convention/versions/GitHubApi.java | 179 +++ .../TransitiveDependencyLookupUtils.java | 70 + .../versions/UpdateDependenciesExtension.java | 198 +++ .../versions/UpdateDependenciesPlugin.java | 244 ++++ .../versions/UpdateProjectVersionPlugin.java | 44 + .../versions/UpdateProjectVersionTask.java | 63 + .../versions/UpdateToSnapshotVersionTask.java | 68 + .../src/main/java/s101/S101Configure.java | 35 + .../src/main/java/s101/S101Configurer.java | 311 +++++ buildSrc/src/main/java/s101/S101Install.java | 35 + buildSrc/src/main/java/s101/S101Plugin.java | 161 +++ .../main/java/s101/S101PluginExtension.java | 82 ++ buildSrc/src/main/java/trang/RncToXsd.java | 83 ++ buildSrc/src/main/java/trang/TrangPlugin.java | 18 + ...o.spring.convention.artifactory.properties | 1 + .../io.spring.convention.bom.properties | 1 + ...io.spring.convention.checkstyle.properties | 1 + .../io.spring.convention.docs.properties | 1 + ...convention.include-check-remote.properties | 1 + ...ing.convention.integration-test.properties | 1 + .../io.spring.convention.jacoco.properties | 1 + ...o.spring.convention.javadoc-api.properties | 1 + ...ring.convention.javadoc-options.properties | 1 + ...io.spring.convention.repository.properties | 1 + .../io.spring.convention.root.properties | 1 + ...spring.convention.spring-module.properties | 1 + ...o.spring.convention.spring-test.properties | 1 + ....convention.tests-configuration.properties | 1 + buildSrc/src/main/resources/s101/config.xml | 32 + .../src/main/resources/s101/project.java.hsp | 28 + .../src/main/resources/s101/repository.xml | 14 + .../test/java/io/spring/gradle/TestKit.java | 58 + .../IncludeCheckRemotePluginTest.java | 148 ++ .../convention/IntegrationPluginTest.java | 52 + .../IntegrationTestPluginITest.java | 52 + .../gradle/convention/JacocoPluginITest.java | 31 + .../convention/JavadocApiPluginITest.java | 39 + .../convention/JavadocApiPluginTest.java | 56 + .../RepositoryConventionPluginTests.java | 152 +++ .../gradle/convention/ShowcaseITest.java | 70 + .../convention/SpringMavenPluginITest.java | 61 + .../TestsConfigurationPluginITest.java | 31 + .../spring/gradle/convention/UtilsTest.java | 147 ++ .../convention/sagan/SaganApiTests.java | 85 ++ .../milestones/GitHubMilestoneApiTests.java | 389 ++++++ .../antora/AntoraVersionPluginTests.java | 270 ++++ .../milestones/GitHubMilestoneApiTests.java | 1198 +++++++++++++++++ .../github/release/GitHubReleaseApiTests.java | 151 +++ .../versions/DependencyExcludesTests.java | 86 ++ .../TransitiveDependencyLookupUtilsTest.java | 31 + .../integrationtest/withgroovy/build.gradle | 16 + .../groovy/sample/TheTest.groovy | 31 + .../integrationtest/withjava/build.gradle | 14 + .../integration-test/java/sample/TheTest.java | 16 + .../integrationtest/withpropdeps/build.gradle | 14 + .../integration-test/java/sample/TheTest.java | 11 + .../samples/jacoco/java/build.gradle | 13 + .../java/src/main/java/sample/TheClass.java | 11 + .../src/test/java/sample/TheClassTest.java | 19 + .../javadocapi/multimodule/api/build.gradle | 1 + .../api/src/main/java/sample/Api.java | 14 + .../javadocapi/multimodule/build.gradle | 4 + .../javadocapi/multimodule/impl/build.gradle | 1 + .../impl/src/main/java/sample/Impl.java | 14 + .../multimodule/sample/build.gradle | 1 + .../sample/src/main/java/sample/Sample.java | 14 + .../javadocapi/multimodule/settings.gradle | 3 + .../maven/install-with-springio/build.gradle | 12 + .../gradle/dependency-management.gradle | 5 + .../samples/maven/install/build.gradle | 14 + .../samples/maven/signing/build.gradle | 16 + .../samples/maven/signing/settings.gradle | 1 + .../samples/maven/upload/build.gradle | 20 + .../resources/samples/showcase/Jenkinsfile | 52 + .../resources/samples/showcase/bom/bom.gradle | 2 + .../resources/samples/showcase/build.gradle | 6 + .../showcase/etc/checkstyle/checkstyle.xml | 5 + .../samples/showcase/settings.gradle | 25 + .../showcase/sgbcs-api/sgbcs-api.gradle | 10 + .../sgbcs-api/src/main/java/api/Api.java | 10 + .../sgbcs-api/src/test/java/api/ApiTest.java | 9 + .../showcase/sgbcs-core/sgbcs-core.gradle | 8 + .../src/main/java/core/CoreClass.java | 13 + .../src/main/java/core/HasOptional.java | 14 + .../main/resources/META-INF/spring.handlers | 1 + .../main/resources/META-INF/spring.schemas | 4 + .../spring-springgradlebuildsample-2.0.xsd | 468 +++++++ .../spring-springgradlebuildsample-2.1.xsd | 685 ++++++++++ .../spring-springgradlebuildsample-2.2.xsd | 685 ++++++++++ .../src/test/java/core/CoreClassTest.java | 12 + .../src/test/java/core/HasOptionalTest.java | 12 + .../showcase/sgbcs-docs/sgbcs-docs.gradle | 4 + .../sgbcs-docs/src/docs/asciidoc/docinfo.html | 1 + .../src/docs/asciidoc/images/sunset.jpg | Bin 0 -> 122404 bytes .../sgbcs-docs/src/docs/asciidoc/index.adoc | 60 + .../src/docs/asciidoc/subdir/_b.adoc | 7 + .../src/docs/asciidoc/subdir/_c.adoc | 1 + .../src/main/java/example/StringUtils.java | 9 + .../samples/testsconfiguration/build.gradle | 4 + .../testsconfiguration/core/build.gradle | 2 + .../core/src/test/java/sample/Dependency.java | 3 + .../testsconfiguration/settings.gradle | 2 + .../testsconfiguration/web/build.gradle | 10 + .../src/test/java/sample/DependencyTest.java | 10 + buildSrc/src/test/resources/test-private.pgp | 83 ++ gradle.properties | 4 +- 185 files changed, 11940 insertions(+), 85 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/ISSUE_TEMPLATE/bug.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/enhancement.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/clean_build_artifacts.yml create mode 100644 .github/workflows/continuous-integration-workflow.yml create mode 100644 .github/workflows/pr-build-workflow.yml create mode 100644 buildSrc/build.gradle create mode 100644 buildSrc/gradle/wrapper/gradle-wrapper.jar create mode 100644 buildSrc/gradle/wrapper/gradle-wrapper.properties create mode 100644 buildSrc/src/main/graphql/org/springframework/security/convention/versions/CreateIssue.graphql create mode 100644 buildSrc/src/main/graphql/org/springframework/security/convention/versions/FindCreateIssueInput.graphql create mode 100644 buildSrc/src/main/graphql/org/springframework/security/convention/versions/RateLimit.graphql create mode 100644 buildSrc/src/main/graphql/org/springframework/security/convention/versions/schema.json create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/IncludeRepoTask.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/AbstractSpringJavaPlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/ArtifactoryPlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/CheckstylePlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/DeployDocsPlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/DocsPlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/IncludeCheckRemotePlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/IntegrationTestPlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/JacocoPlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/JavadocApiPlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/JavadocOptionsPlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/ManagementConfigurationPlugin.java create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/MavenBomPlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/RepositoryConventionPlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/RootProjectPlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/SchemaDeployPlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/SchemaPlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/SchemaZipPlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/SortedProperties.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/SpringModulePlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/SpringTestPlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/TestsConfigurationPlugin.groovy create mode 100644 buildSrc/src/main/groovy/io/spring/gradle/convention/Utils.groovy create mode 100644 buildSrc/src/main/java/lock/GlobalLockPlugin.java create mode 100644 buildSrc/src/main/java/lock/GlobalLockTask.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/CopyPropertiesPlugin.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/antora/AntoraVersionPlugin.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/antora/AntoraVersionUtils.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/antora/CheckAntoraVersionTask.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/antora/UpdateAntoraVersionTask.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/classpath/CheckClasspathForProhibitedDependencies.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/classpath/CheckClasspathForProhibitedDependenciesPlugin.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/classpath/CheckProhibitedDependenciesLifecyclePlugin.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/github/RepositoryRef.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/github/changelog/GitHubChangelogPlugin.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestoneApi.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestoneHasNoOpenIssuesTask.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestoneNextReleaseTask.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestoneNextVersionDueTodayTask.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestonePlugin.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/github/milestones/Milestone.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/github/milestones/NextVersionYml.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/github/release/CreateGitHubReleaseTask.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/github/release/GitHubReleaseApi.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/github/release/GitHubReleasePlugin.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/github/release/Release.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/maven/MavenPublishingConventionsPlugin.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/maven/PublishAllJavaComponentsPlugin.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/maven/PublishArtifactsPlugin.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/maven/PublishLocalPlugin.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/maven/SpringMavenPlugin.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/maven/SpringNexusPublishPlugin.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/maven/SpringSigningPlugin.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/propdeps/PropDepsEclipsePlugin.groovy create mode 100644 buildSrc/src/main/java/org/springframework/gradle/propdeps/PropDepsIdeaPlugin.groovy create mode 100644 buildSrc/src/main/java/org/springframework/gradle/propdeps/PropDepsPlugin.groovy create mode 100644 buildSrc/src/main/java/org/springframework/gradle/sagan/Release.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/sagan/SaganApi.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/sagan/SaganCreateReleaseTask.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/sagan/SaganDeleteReleaseTask.java create mode 100644 buildSrc/src/main/java/org/springframework/gradle/sagan/SaganPlugin.java create mode 100644 buildSrc/src/main/java/org/springframework/security/convention/versions/CommandLineUtils.java create mode 100644 buildSrc/src/main/java/org/springframework/security/convention/versions/FileUtils.java create mode 100644 buildSrc/src/main/java/org/springframework/security/convention/versions/GitHubApi.java create mode 100644 buildSrc/src/main/java/org/springframework/security/convention/versions/TransitiveDependencyLookupUtils.java create mode 100644 buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateDependenciesExtension.java create mode 100644 buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateDependenciesPlugin.java create mode 100644 buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateProjectVersionPlugin.java create mode 100644 buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateProjectVersionTask.java create mode 100644 buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateToSnapshotVersionTask.java create mode 100644 buildSrc/src/main/java/s101/S101Configure.java create mode 100644 buildSrc/src/main/java/s101/S101Configurer.java create mode 100644 buildSrc/src/main/java/s101/S101Install.java create mode 100644 buildSrc/src/main/java/s101/S101Plugin.java create mode 100644 buildSrc/src/main/java/s101/S101PluginExtension.java create mode 100644 buildSrc/src/main/java/trang/RncToXsd.java create mode 100644 buildSrc/src/main/java/trang/TrangPlugin.java create mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.artifactory.properties create mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.bom.properties create mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.checkstyle.properties create mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.docs.properties create mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.include-check-remote.properties create mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.integration-test.properties create mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.jacoco.properties create mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.javadoc-api.properties create mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.javadoc-options.properties create mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.repository.properties create mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.root.properties create mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.spring-module.properties create mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.spring-test.properties create mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.tests-configuration.properties create mode 100644 buildSrc/src/main/resources/s101/config.xml create mode 100644 buildSrc/src/main/resources/s101/project.java.hsp create mode 100644 buildSrc/src/main/resources/s101/repository.xml create mode 100644 buildSrc/src/test/java/io/spring/gradle/TestKit.java create mode 100644 buildSrc/src/test/java/io/spring/gradle/convention/IncludeCheckRemotePluginTest.java create mode 100644 buildSrc/src/test/java/io/spring/gradle/convention/IntegrationPluginTest.java create mode 100644 buildSrc/src/test/java/io/spring/gradle/convention/IntegrationTestPluginITest.java create mode 100644 buildSrc/src/test/java/io/spring/gradle/convention/JacocoPluginITest.java create mode 100644 buildSrc/src/test/java/io/spring/gradle/convention/JavadocApiPluginITest.java create mode 100644 buildSrc/src/test/java/io/spring/gradle/convention/JavadocApiPluginTest.java create mode 100644 buildSrc/src/test/java/io/spring/gradle/convention/RepositoryConventionPluginTests.java create mode 100644 buildSrc/src/test/java/io/spring/gradle/convention/ShowcaseITest.java create mode 100644 buildSrc/src/test/java/io/spring/gradle/convention/SpringMavenPluginITest.java create mode 100644 buildSrc/src/test/java/io/spring/gradle/convention/TestsConfigurationPluginITest.java create mode 100644 buildSrc/src/test/java/io/spring/gradle/convention/UtilsTest.java create mode 100644 buildSrc/src/test/java/io/spring/gradle/convention/sagan/SaganApiTests.java create mode 100644 buildSrc/src/test/java/io/spring/gradle/github/milestones/GitHubMilestoneApiTests.java create mode 100644 buildSrc/src/test/java/org/springframework/gradle/antora/AntoraVersionPluginTests.java create mode 100644 buildSrc/src/test/java/org/springframework/gradle/github/milestones/GitHubMilestoneApiTests.java create mode 100644 buildSrc/src/test/java/org/springframework/gradle/github/release/GitHubReleaseApiTests.java create mode 100644 buildSrc/src/test/java/org/springframework/security/convention/versions/DependencyExcludesTests.java create mode 100644 buildSrc/src/test/java/org/springframework/security/convention/versions/TransitiveDependencyLookupUtilsTest.java create mode 100644 buildSrc/src/test/resources/samples/integrationtest/withgroovy/build.gradle create mode 100644 buildSrc/src/test/resources/samples/integrationtest/withgroovy/src/integration-test/groovy/sample/TheTest.groovy create mode 100644 buildSrc/src/test/resources/samples/integrationtest/withjava/build.gradle create mode 100644 buildSrc/src/test/resources/samples/integrationtest/withjava/src/integration-test/java/sample/TheTest.java create mode 100644 buildSrc/src/test/resources/samples/integrationtest/withpropdeps/build.gradle create mode 100644 buildSrc/src/test/resources/samples/integrationtest/withpropdeps/src/integration-test/java/sample/TheTest.java create mode 100644 buildSrc/src/test/resources/samples/jacoco/java/build.gradle create mode 100644 buildSrc/src/test/resources/samples/jacoco/java/src/main/java/sample/TheClass.java create mode 100644 buildSrc/src/test/resources/samples/jacoco/java/src/test/java/sample/TheClassTest.java create mode 100644 buildSrc/src/test/resources/samples/javadocapi/multimodule/api/build.gradle create mode 100644 buildSrc/src/test/resources/samples/javadocapi/multimodule/api/src/main/java/sample/Api.java create mode 100644 buildSrc/src/test/resources/samples/javadocapi/multimodule/build.gradle create mode 100644 buildSrc/src/test/resources/samples/javadocapi/multimodule/impl/build.gradle create mode 100644 buildSrc/src/test/resources/samples/javadocapi/multimodule/impl/src/main/java/sample/Impl.java create mode 100644 buildSrc/src/test/resources/samples/javadocapi/multimodule/sample/build.gradle create mode 100644 buildSrc/src/test/resources/samples/javadocapi/multimodule/sample/src/main/java/sample/Sample.java create mode 100644 buildSrc/src/test/resources/samples/javadocapi/multimodule/settings.gradle create mode 100644 buildSrc/src/test/resources/samples/maven/install-with-springio/build.gradle create mode 100644 buildSrc/src/test/resources/samples/maven/install-with-springio/gradle/dependency-management.gradle create mode 100644 buildSrc/src/test/resources/samples/maven/install/build.gradle create mode 100644 buildSrc/src/test/resources/samples/maven/signing/build.gradle create mode 100644 buildSrc/src/test/resources/samples/maven/signing/settings.gradle create mode 100644 buildSrc/src/test/resources/samples/maven/upload/build.gradle create mode 100644 buildSrc/src/test/resources/samples/showcase/Jenkinsfile create mode 100644 buildSrc/src/test/resources/samples/showcase/bom/bom.gradle create mode 100644 buildSrc/src/test/resources/samples/showcase/build.gradle create mode 100644 buildSrc/src/test/resources/samples/showcase/etc/checkstyle/checkstyle.xml create mode 100644 buildSrc/src/test/resources/samples/showcase/settings.gradle create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-api/sgbcs-api.gradle create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-api/src/main/java/api/Api.java create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-api/src/test/java/api/ApiTest.java create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-core/sgbcs-core.gradle create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/java/core/CoreClass.java create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/java/core/HasOptional.java create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/META-INF/spring.handlers create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/META-INF/spring.schemas create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/org/springframework/springgradlebuildsample/config/spring-springgradlebuildsample-2.0.xsd create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/org/springframework/springgradlebuildsample/config/spring-springgradlebuildsample-2.1.xsd create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/org/springframework/springgradlebuildsample/config/spring-springgradlebuildsample-2.2.xsd create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/test/java/core/CoreClassTest.java create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/test/java/core/HasOptionalTest.java create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-docs/sgbcs-docs.gradle create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/docinfo.html create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/images/sunset.jpg create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/index.adoc create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/subdir/_b.adoc create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/subdir/_c.adoc create mode 100644 buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/main/java/example/StringUtils.java create mode 100644 buildSrc/src/test/resources/samples/testsconfiguration/build.gradle create mode 100644 buildSrc/src/test/resources/samples/testsconfiguration/core/build.gradle create mode 100644 buildSrc/src/test/resources/samples/testsconfiguration/core/src/test/java/sample/Dependency.java create mode 100644 buildSrc/src/test/resources/samples/testsconfiguration/settings.gradle create mode 100644 buildSrc/src/test/resources/samples/testsconfiguration/web/build.gradle create mode 100644 buildSrc/src/test/resources/samples/testsconfiguration/web/src/test/java/sample/DependencyTest.java create mode 100644 buildSrc/src/test/resources/test-private.pgp diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..0de3f4a --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,40 @@ + + +### Summary + + + +### Actual Behavior + + + +### Expected Behavior + + + +### Configuration + + + +### Version + + + +### Sample + + diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md new file mode 100644 index 0000000..b02bd31 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -0,0 +1,24 @@ +--- +name: Bug +about: Create a bug report to help us improve +title: '' +labels: 'status: waiting-for-triage, type: bug' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior. + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Sample** + +A link to a GitHub repository with a [minimal, reproducible sample](https://stackoverflow.com/help/minimal-reproducible-example). + +Reports that include a sample will take priority over reports that do not. +At times, we may require a sample, so it is good to try and include a sample up front. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..4ba41d1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: Community Support + url: https://stackoverflow.com/questions/tagged/spring-security + about: Please ask and answer questions on StackOverflow with the tag `spring-security`. diff --git a/.github/ISSUE_TEMPLATE/enhancement.md b/.github/ISSUE_TEMPLATE/enhancement.md new file mode 100644 index 0000000..14d9fb4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/enhancement.md @@ -0,0 +1,25 @@ +--- +name: Enhancement +about: Suggest an enhancement for this project +title: '' +labels: 'status: waiting-for-triage, type: enhancement' +assignees: '' + +--- + +**Expected Behavior** + + + +**Current Behavior** + + + +**Context** + + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..1abc3c3 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,9 @@ + + + diff --git a/.github/workflows/clean_build_artifacts.yml b/.github/workflows/clean_build_artifacts.yml new file mode 100644 index 0000000..377fb1e --- /dev/null +++ b/.github/workflows/clean_build_artifacts.yml @@ -0,0 +1,17 @@ +name: Clean build artifacts +on: + schedule: + - cron: '0 10 * * *' # Once per day at 10am UTC + +jobs: + main: + runs-on: ubuntu-latest + steps: + - name: Delete artifacts in cron job + env: + GH_ACTIONS_REPO_TOKEN: ${{ secrets.GH_ACTIONS_REPO_TOKEN }} + run: | + echo "Running clean build artifacts logic" + output=$(curl -X GET -H "Authorization: token $GH_ACTIONS_REPO_TOKEN" https://api.github.com/repos/spring-projects/spring-security/actions/artifacts | grep '"id"' | cut -d : -f2 | sed 's/,*$//g') + echo Output is $output + for id in $output; do curl -X DELETE -H "Authorization: token $GH_ACTIONS_REPO_TOKEN" https://api.github.com/repos/spring-projects/spring-security/actions/artifacts/$id; done; diff --git a/.github/workflows/continuous-integration-workflow.yml b/.github/workflows/continuous-integration-workflow.yml new file mode 100644 index 0000000..f8d5d1a --- /dev/null +++ b/.github/workflows/continuous-integration-workflow.yml @@ -0,0 +1,72 @@ +name: CI + +on: + push: + schedule: + - cron: '0 10 * * *' # Once per day at 10am UTC + workflow_dispatch: # Manual trigger + +env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + GRADLE_ENTERPRISE_CACHE_USER: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USER }} + GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} + GRADLE_ENTERPRISE_SECRET_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }} + COMMIT_OWNER: ${{ github.event.pusher.name }} + COMMIT_SHA: ${{ github.sha }} + STRUCTURE101_LICENSEID: ${{ secrets.STRUCTURE101_LICENSEID }} + ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }} + ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }} + RUN_JOBS: ${{ github.repository == 'spring-projects/spring-session-bom' }} + +jobs: + prerequisites: + name: Pre-requisites for building + runs-on: ubuntu-latest + outputs: + runjobs: ${{ steps.continue.outputs.runjobs }} + steps: + - id: continue + name: Determine if should continue + if: env.RUN_JOBS == 'true' + run: echo "::set-output name=runjobs::true" + + deploy_artifacts: + name: Deploy Artifacts + needs: [prerequisites] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up JDK + uses: actions/setup-java@v1 + with: + java-version: '11' + - name: Setup gradle user name + run: | + mkdir -p ~/.gradle + echo 'systemProp.user.name=spring-builds+github' >> ~/.gradle/gradle.properties + - name: Deploy artifacts + run: | + export GRADLE_ENTERPRISE_CACHE_USERNAME="$GRADLE_ENTERPRISE_CACHE_USER" + export GRADLE_ENTERPRISE_CACHE_PASSWORD="$GRADLE_ENTERPRISE_CACHE_PASSWORD" + export GRADLE_ENTERPRISE_ACCESS_KEY="$GRADLE_ENTERPRISE_SECRET_ACCESS_KEY" + ./gradlew publishArtifacts finalizeDeployArtifacts -PossrhUsername="$OSSRH_TOKEN_USERNAME" -PossrhPassword="$OSSRH_TOKEN_PASSWORD" -PartifactoryUsername="$ARTIFACTORY_USERNAME" -PartifactoryPassword="$ARTIFACTORY_PASSWORD" --stacktrace + env: + ORG_GRADLE_PROJECT_signingKey: ${{ secrets.GPG_PRIVATE_KEY }} + ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.GPG_PASSPHRASE }} + OSSRH_TOKEN_USERNAME: ${{ secrets.OSSRH_S01_TOKEN_USERNAME }} + OSSRH_TOKEN_PASSWORD: ${{ secrets.OSSRH_S01_TOKEN_PASSWORD }} + ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }} + ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }} + notify_result: + name: Check for failures + needs: [deploy_artifacts] + if: failure() + runs-on: ubuntu-latest + steps: + - name: Send Slack message + uses: Gamesight/slack-workflow-status@v1.0.1 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + slack_webhook_url: ${{ secrets.SLACK_WEBHOOK_URL }} + channel: '#spring-session-ci' + name: 'CI Notifier' diff --git a/.github/workflows/pr-build-workflow.yml b/.github/workflows/pr-build-workflow.yml new file mode 100644 index 0000000..0e7d5e7 --- /dev/null +++ b/.github/workflows/pr-build-workflow.yml @@ -0,0 +1,28 @@ +name: PR Build + +on: pull_request + +env: + RUN_JOBS: ${{ github.repository == 'spring-projects/spring-security' }} + +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - if: env.RUN_JOBS == 'true' + uses: actions/checkout@v2 + - name: Set up JDK + if: env.RUN_JOBS == 'true' + uses: actions/setup-java@v1 + with: + java-version: '11' + - name: Cache Gradle packages + if: env.RUN_JOBS == 'true' + uses: actions/cache@v2 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} + - name: Build with Gradle + if: env.RUN_JOBS == 'true' + run: ./gradlew clean build --continue --scan diff --git a/build.gradle b/build.gradle index 541d4cd..ae25fb5 100644 --- a/build.gradle +++ b/build.gradle @@ -1,87 +1,19 @@ -buildscript { - dependencies { - classpath 'io.spring.gradle:spring-build-conventions:0.0.37' - classpath 'io.spring.nohttp:nohttp-gradle:0.0.9' - } +plugins { + id 'io.spring.convention.bom' + id 'io.spring.convention.root' +} - repositories { - gradlePluginPortal() - maven { url 'https://repo.spring.io/plugins-release/' } +description = "Spring Session BOM" +group = "org.springframework.session" + + +dependencies { + constraints { + api "org.springframework.session:spring-session-core:$springSessionCoreVersion" + api "org.springframework.session:spring-session-data-geode:$springSessionDataGeodeVersion" + api "org.springframework.session:spring-session-data-mongodb:$springSessionCoreVersion" + api "org.springframework.session:spring-session-data-redis:$springSessionCoreVersion" + api "org.springframework.session:spring-session-hazelcast:$springSessionCoreVersion" + api "org.springframework.session:spring-session-jdbc:$springSessionCoreVersion" } } - -apply plugin: 'io.spring.convention.root' -apply plugin: 'io.spring.convention.springdependencymangement' -apply plugin: 'io.spring.convention.maven' -apply plugin: 'io.spring.convention.artifactory' - -group = 'org.springframework.session' -description = 'Spring Session Maven Bill of Materials (BOM)' - -artifacts { - archives file('spring-session-bom.txt') -} - -dependencyManagement { - generatedPomCustomization { - enabled = true - } -} - -def installer = install.repositories.mavenInstaller -def deployer = uploadArchives.repositories.mavenDeployer - -[installer, deployer]*.pom*.whenConfigured { pom -> - pom.project { - packaging = 'pom' - name = project.description - description = project.description - url = 'https://projects.spring.io/spring-session/' - - organization { - name = 'Pivotal Software, Inc.' - url = 'https://spring.io/' - } - - licenses { - license { - name = 'Apache License, Version 2.0' - url = 'https://www.apache.org/licenses/LICENSE-2.0' - distribution = 'repo' - } - } - - developers { - developer { - id = 'rwinch' - name = 'Rob Winch' - email = 'rwinch@pivotal.io' - } - } - - scm { - url = 'https://github.com/spring-projects/spring-session-bom' - connection = 'scm:git:git@github.com/spring-projects/spring-session-bom.git' - developerConnection = 'scm:git:git@github.com/spring-projects/spring-session-bom.git' - } - - issueManagement { - system = 'GitHub' - url = 'https://github.com/spring-projects/spring-session/issues' - } - } -} - -task deployArtifacts { - group = 'Deploy tasks' - description = 'Deploys the artifacts to either Artifactory or Maven Central' -} - -if (version.matches(/.*\.[0-9]+$/)) { - deployArtifacts.dependsOn uploadArchives -} -else { - deployArtifacts.dependsOn artifactoryPublish -} - -sonarqube.skipProject = true diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle new file mode 100644 index 0000000..c1f4e32 --- /dev/null +++ b/buildSrc/build.gradle @@ -0,0 +1,121 @@ +plugins { + id "java-gradle-plugin" + id "java" + id "groovy" + id 'com.apollographql.apollo' version '2.4.5' +} + +sourceCompatibility = JavaVersion.VERSION_11 + +repositories { + gradlePluginPortal() + mavenCentral() + maven { url 'https://repo.spring.io/plugins-release/' } +} + +sourceSets { + main { + java { + srcDirs = [] + } + groovy { + srcDirs += ["src/main/java"] + } + } +} + +gradlePlugin { + plugins { + checkAntoraVersion { + id = "org.springframework.antora.check-version" + implementationClass = "org.springframework.gradle.antora.AntoraVersionPlugin" + } + trang { + id = "trang" + implementationClass = "trang.TrangPlugin" + } + locks { + id = "locks" + implementationClass = "lock.GlobalLockPlugin" + } + managementConfiguration { + id = "io.spring.convention.management-configuration" + implementationClass = "io.spring.gradle.convention.ManagementConfigurationPlugin" + } + updateDependencies { + id = "org.springframework.security.update-dependencies" + implementationClass = "org.springframework.security.convention.versions.UpdateDependenciesPlugin" + } + updateProjectVersion { + id = "org.springframework.security.update-version" + implementationClass = "org.springframework.security.convention.versions.UpdateProjectVersionPlugin" + } + sagan { + id = "org.springframework.security.sagan" + implementationClass = "org.springframework.gradle.sagan.SaganPlugin" + } + githubMilestone { + id = "org.springframework.github.milestone" + implementationClass = "org.springframework.gradle.github.milestones.GitHubMilestonePlugin" + } + githubChangelog { + id = "org.springframework.github.changelog" + implementationClass = "org.springframework.gradle.github.changelog.GitHubChangelogPlugin" + } + githubRelease { + id = "org.springframework.github.release" + implementationClass = "org.springframework.gradle.github.release.GitHubReleasePlugin" + } + s101 { + id = "s101" + implementationClass = "s101.S101Plugin" + } + } +} + +configurations { + implementation { + exclude module: 'groovy-all' + } +} + +dependencies { + implementation 'com.google.code.gson:gson:2.8.6' + implementation 'com.thaiopensource:trang:20091111' + implementation 'net.sourceforge.saxon:saxon:9.1.0.8' + implementation 'org.yaml:snakeyaml:1.30' + implementation localGroovy() + + implementation 'io.github.gradle-nexus:publish-plugin:1.1.0' + implementation 'io.projectreactor:reactor-core:3.5.0-M2' + implementation 'gradle.plugin.org.gretty:gretty:3.0.1' + implementation 'com.apollographql.apollo:apollo-runtime:2.4.5' + implementation 'com.github.ben-manes:gradle-versions-plugin:0.38.0' + implementation 'com.github.spullara.mustache.java:compiler:0.9.4' + implementation 'io.spring.javaformat:spring-javaformat-gradle-plugin:0.0.15' + implementation 'io.spring.nohttp:nohttp-gradle:0.0.10' + implementation 'net.sourceforge.htmlunit:htmlunit:2.37.0' + implementation 'org.hidetake:gradle-ssh-plugin:2.10.1' + implementation 'org.jfrog.buildinfo:build-info-extractor-gradle:4.26.1' + implementation 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7.1' + + testImplementation platform('org.junit:junit-bom:5.9.0-M1') + testImplementation "org.junit.jupiter:junit-jupiter-api" + testImplementation "org.junit.jupiter:junit-jupiter-params" + testImplementation "org.junit.jupiter:junit-jupiter-engine" + testImplementation 'org.apache.commons:commons-io:1.3.2' + testImplementation 'org.assertj:assertj-core:3.13.2' + testImplementation 'org.mockito:mockito-core:3.12.4' + testImplementation 'org.mockito:mockito-junit-jupiter:3.12.4' + testImplementation "com.squareup.okhttp3:mockwebserver:3.14.9" +} + + +tasks.named('test', Test).configure { + onlyIf { !project.hasProperty("buildSrc.skipTests") } + useJUnitPlatform() + jvmArgs( + '--add-opens', 'java.base/java.lang=ALL-UNNAMED', + '--add-opens', 'java.base/java.util=ALL-UNNAMED' + ) +} diff --git a/buildSrc/gradle/wrapper/gradle-wrapper.jar b/buildSrc/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..7454180f2ae8848c63b8b4dea2cb829da983f2fa GIT binary patch literal 59536 zcma&NbC71ylI~qywr$(CZQJHswz}-9F59+k+g;UV+cs{`J?GrGXYR~=-ydruB3JCa zB64N^cILAcWk5iofq)<(fq;O7{th4@;QxID0)qN`mJ?GIqLY#rX8-|G{5M0pdVW5^ zzXk$-2kQTAC?_N@B`&6-N-rmVFE=$QD?>*=4<|!MJu@}isLc4AW#{m2if&A5T5g&~ ziuMQeS*U5sL6J698wOd)K@oK@1{peP5&Esut<#VH^u)gp`9H4)`uE!2$>RTctN+^u z=ASkePDZA-X8)rp%D;p*~P?*a_=*Kwc<^>QSH|^<0>o37lt^+Mj1;4YvJ(JR-Y+?%Nu}JAYj5 z_Qc5%Ao#F?q32i?ZaN2OSNhWL;2oDEw_({7ZbgUjna!Fqn3NzLM@-EWFPZVmc>(fZ z0&bF-Ch#p9C{YJT9Rcr3+Y_uR^At1^BxZ#eo>$PLJF3=;t_$2|t+_6gg5(j{TmjYU zK12c&lE?Eh+2u2&6Gf*IdKS&6?rYbSEKBN!rv{YCm|Rt=UlPcW9j`0o6{66#y5t9C zruFA2iKd=H%jHf%ypOkxLnO8#H}#Zt{8p!oi6)7#NqoF({t6|J^?1e*oxqng9Q2Cc zg%5Vu!em)}Yuj?kaP!D?b?(C*w!1;>R=j90+RTkyEXz+9CufZ$C^umX^+4|JYaO<5 zmIM3#dv`DGM;@F6;(t!WngZSYzHx?9&$xEF70D1BvfVj<%+b#)vz)2iLCrTeYzUcL z(OBnNoG6Le%M+@2oo)&jdOg=iCszzv59e zDRCeaX8l1hC=8LbBt|k5?CXgep=3r9BXx1uR8!p%Z|0+4Xro=xi0G!e{c4U~1j6!) zH6adq0}#l{%*1U(Cb%4AJ}VLWKBPi0MoKFaQH6x?^hQ!6em@993xdtS%_dmevzeNl z(o?YlOI=jl(`L9^ z0O+H9k$_@`6L13eTT8ci-V0ljDMD|0ifUw|Q-Hep$xYj0hTO@0%IS^TD4b4n6EKDG z??uM;MEx`s98KYN(K0>c!C3HZdZ{+_53DO%9k5W%pr6yJusQAv_;IA}925Y%;+!tY z%2k!YQmLLOr{rF~!s<3-WEUs)`ix_mSU|cNRBIWxOox_Yb7Z=~Q45ZNe*u|m^|)d* zog=i>`=bTe!|;8F+#H>EjIMcgWcG2ORD`w0WD;YZAy5#s{65~qfI6o$+Ty&-hyMyJ z3Ra~t>R!p=5ZpxA;QkDAoPi4sYOP6>LT+}{xp}tk+<0k^CKCFdNYG(Es>p0gqD)jP zWOeX5G;9(m@?GOG7g;e74i_|SmE?`B2i;sLYwRWKLy0RLW!Hx`=!LH3&k=FuCsM=9M4|GqzA)anEHfxkB z?2iK-u(DC_T1};KaUT@3nP~LEcENT^UgPvp!QC@Dw&PVAhaEYrPey{nkcn(ro|r7XUz z%#(=$7D8uP_uU-oPHhd>>^adbCSQetgSG`e$U|7mr!`|bU0aHl_cmL)na-5x1#OsVE#m*+k84Y^+UMeSAa zbrVZHU=mFwXEaGHtXQq`2ZtjfS!B2H{5A<3(nb-6ARVV8kEmOkx6D2x7~-6hl;*-*}2Xz;J#a8Wn;_B5=m zl3dY;%krf?i-Ok^Pal-}4F`{F@TYPTwTEhxpZK5WCpfD^UmM_iYPe}wpE!Djai6_{ z*pGO=WB47#Xjb7!n2Ma)s^yeR*1rTxp`Mt4sfA+`HwZf%!7ZqGosPkw69`Ix5Ku6G z@Pa;pjzV&dn{M=QDx89t?p?d9gna*}jBly*#1!6}5K<*xDPJ{wv4& zM$17DFd~L*Te3A%yD;Dp9UGWTjRxAvMu!j^Tbc}2v~q^59d4bz zvu#!IJCy(BcWTc`;v$9tH;J%oiSJ_i7s;2`JXZF+qd4C)vY!hyCtl)sJIC{ebI*0> z@x>;EzyBv>AI-~{D6l6{ST=em*U( z(r$nuXY-#CCi^8Z2#v#UXOt`dbYN1z5jzNF2 z411?w)whZrfA20;nl&C1Gi+gk<`JSm+{|*2o<< zqM#@z_D`Cn|0H^9$|Tah)0M_X4c37|KQ*PmoT@%xHc3L1ZY6(p(sNXHa&49Frzto& zR`c~ClHpE~4Z=uKa5S(-?M8EJ$zt0&fJk~p$M#fGN1-y$7!37hld`Uw>Urri(DxLa;=#rK0g4J)pXMC zxzraOVw1+kNWpi#P=6(qxf`zSdUC?D$i`8ZI@F>k6k zz21?d+dw7b&i*>Kv5L(LH-?J%@WnqT7j#qZ9B>|Zl+=> z^U-pV@1y_ptHo4hl^cPRWewbLQ#g6XYQ@EkiP z;(=SU!yhjHp%1&MsU`FV1Z_#K1&(|5n(7IHbx&gG28HNT)*~-BQi372@|->2Aw5It z0CBpUcMA*QvsPy)#lr!lIdCi@1k4V2m!NH)%Px(vu-r(Q)HYc!p zJ^$|)j^E#q#QOgcb^pd74^JUi7fUmMiNP_o*lvx*q%_odv49Dsv$NV;6J z9GOXKomA{2Pb{w}&+yHtH?IkJJu~}Z?{Uk++2mB8zyvh*xhHKE``99>y#TdD z&(MH^^JHf;g(Tbb^&8P*;_i*2&fS$7${3WJtV7K&&(MBV2~)2KB3%cWg#1!VE~k#C z!;A;?p$s{ihyojEZz+$I1)L}&G~ml=udD9qh>Tu(ylv)?YcJT3ihapi!zgPtWb*CP zlLLJSRCj-^w?@;RU9aL2zDZY1`I3d<&OMuW=c3$o0#STpv_p3b9Wtbql>w^bBi~u4 z3D8KyF?YE?=HcKk!xcp@Cigvzy=lnFgc^9c%(^F22BWYNAYRSho@~*~S)4%AhEttv zvq>7X!!EWKG?mOd9&n>vvH1p4VzE?HCuxT-u+F&mnsfDI^}*-d00-KAauEaXqg3k@ zy#)MGX!X;&3&0s}F3q40ZmVM$(H3CLfpdL?hB6nVqMxX)q=1b}o_PG%r~hZ4gUfSp zOH4qlEOW4OMUc)_m)fMR_rl^pCfXc{$fQbI*E&mV77}kRF z&{<06AJyJ!e863o-V>FA1a9Eemx6>^F$~9ppt()ZbPGfg_NdRXBWoZnDy2;#ODgf! zgl?iOcF7Meo|{AF>KDwTgYrJLb$L2%%BEtO>T$C?|9bAB&}s;gI?lY#^tttY&hfr# zKhC+&b-rpg_?~uVK%S@mQleU#_xCsvIPK*<`E0fHE1&!J7!xD#IB|SSPW6-PyuqGn3^M^Rz%WT{e?OI^svARX&SAdU77V(C~ zM$H{Kg59op{<|8ry9ecfP%=kFm(-!W&?U0@<%z*+!*<e0XesMxRFu9QnGqun6R_%T+B%&9Dtk?*d$Q zb~>84jEAPi@&F@3wAa^Lzc(AJz5gsfZ7J53;@D<;Klpl?sK&u@gie`~vTsbOE~Cd4 z%kr56mI|#b(Jk&;p6plVwmNB0H@0SmgdmjIn5Ne@)}7Vty(yb2t3ev@22AE^s!KaN zyQ>j+F3w=wnx7w@FVCRe+`vUH)3gW%_72fxzqX!S&!dchdkRiHbXW1FMrIIBwjsai8`CB2r4mAbwp%rrO>3B$Zw;9=%fXI9B{d(UzVap7u z6piC-FQ)>}VOEuPpuqznpY`hN4dGa_1Xz9rVg(;H$5Te^F0dDv*gz9JS<|>>U0J^# z6)(4ICh+N_Q`Ft0hF|3fSHs*?a=XC;e`sJaU9&d>X4l?1W=|fr!5ShD|nv$GK;j46@BV6+{oRbWfqOBRb!ir88XD*SbC(LF}I1h#6@dvK%Toe%@ zhDyG$93H8Eu&gCYddP58iF3oQH*zLbNI;rN@E{T9%A8!=v#JLxKyUe}e}BJpB{~uN zqgxRgo0*-@-iaHPV8bTOH(rS(huwK1Xg0u+e!`(Irzu@Bld&s5&bWgVc@m7;JgELd zimVs`>vQ}B_1(2#rv#N9O`fJpVfPc7V2nv34PC);Dzbb;p!6pqHzvy?2pD&1NE)?A zt(t-ucqy@wn9`^MN5apa7K|L=9>ISC>xoc#>{@e}m#YAAa1*8-RUMKwbm|;5p>T`Z zNf*ph@tnF{gmDa3uwwN(g=`Rh)4!&)^oOy@VJaK4lMT&5#YbXkl`q?<*XtsqD z9PRK6bqb)fJw0g-^a@nu`^?71k|m3RPRjt;pIkCo1{*pdqbVs-Yl>4E>3fZx3Sv44grW=*qdSoiZ9?X0wWyO4`yDHh2E!9I!ZFi zVL8|VtW38}BOJHW(Ax#KL_KQzarbuE{(%TA)AY)@tY4%A%P%SqIU~8~-Lp3qY;U-} z`h_Gel7;K1h}7$_5ZZT0&%$Lxxr-<89V&&TCsu}LL#!xpQ1O31jaa{U34~^le*Y%L za?7$>Jk^k^pS^_M&cDs}NgXlR>16AHkSK-4TRaJSh#h&p!-!vQY%f+bmn6x`4fwTp z$727L^y`~!exvmE^W&#@uY!NxJi`g!i#(++!)?iJ(1)2Wk;RN zFK&O4eTkP$Xn~4bB|q8y(btx$R#D`O@epi4ofcETrx!IM(kWNEe42Qh(8*KqfP(c0 zouBl6>Fc_zM+V;F3znbo{x#%!?mH3`_ANJ?y7ppxS@glg#S9^MXu|FM&ynpz3o&Qh z2ujAHLF3($pH}0jXQsa#?t--TnF1P73b?4`KeJ9^qK-USHE)4!IYgMn-7z|=ALF5SNGkrtPG@Y~niUQV2?g$vzJN3nZ{7;HZHzWAeQ;5P|@Tl3YHpyznGG4-f4=XflwSJY+58-+wf?~Fg@1p1wkzuu-RF3j2JX37SQUc? zQ4v%`V8z9ZVZVqS8h|@@RpD?n0W<=hk=3Cf8R?d^9YK&e9ZybFY%jdnA)PeHvtBe- zhMLD+SSteHBq*q)d6x{)s1UrsO!byyLS$58WK;sqip$Mk{l)Y(_6hEIBsIjCr5t>( z7CdKUrJTrW%qZ#1z^n*Lb8#VdfzPw~OIL76aC+Rhr<~;4Tl!sw?Rj6hXj4XWa#6Tp z@)kJ~qOV)^Rh*-?aG>ic2*NlC2M7&LUzc9RT6WM%Cpe78`iAowe!>(T0jo&ivn8-7 zs{Qa@cGy$rE-3AY0V(l8wjI^uB8Lchj@?L}fYal^>T9z;8juH@?rG&g-t+R2dVDBe zq!K%{e-rT5jX19`(bP23LUN4+_zh2KD~EAYzhpEO3MUG8@}uBHH@4J zd`>_(K4q&>*k82(dDuC)X6JuPrBBubOg7qZ{?x!r@{%0);*`h*^F|%o?&1wX?Wr4b z1~&cy#PUuES{C#xJ84!z<1tp9sfrR(i%Tu^jnXy;4`Xk;AQCdFC@?V%|; zySdC7qS|uQRcH}EFZH%mMB~7gi}a0utE}ZE_}8PQH8f;H%PN41Cb9R%w5Oi5el^fd z$n{3SqLCnrF##x?4sa^r!O$7NX!}&}V;0ZGQ&K&i%6$3C_dR%I7%gdQ;KT6YZiQrW zk%q<74oVBV>@}CvJ4Wj!d^?#Zwq(b$E1ze4$99DuNg?6t9H}k_|D7KWD7i0-g*EO7 z;5{hSIYE4DMOK3H%|f5Edx+S0VI0Yw!tsaRS2&Il2)ea^8R5TG72BrJue|f_{2UHa z@w;^c|K3da#$TB0P3;MPlF7RuQeXT$ zS<<|C0OF(k)>fr&wOB=gP8!Qm>F41u;3esv7_0l%QHt(~+n; zf!G6%hp;Gfa9L9=AceiZs~tK+Tf*Wof=4!u{nIO90jH@iS0l+#%8=~%ASzFv7zqSB^?!@N7)kp0t&tCGLmzXSRMRyxCmCYUD2!B`? zhs$4%KO~m=VFk3Buv9osha{v+mAEq=ik3RdK@;WWTV_g&-$U4IM{1IhGX{pAu%Z&H zFfwCpUsX%RKg);B@7OUzZ{Hn{q6Vv!3#8fAg!P$IEx<0vAx;GU%}0{VIsmFBPq_mb zpe^BChDK>sc-WLKl<6 zwbW|e&d&dv9Wu0goueyu>(JyPx1mz0v4E?cJjFuKF71Q1)AL8jHO$!fYT3(;U3Re* zPPOe%*O+@JYt1bW`!W_1!mN&=w3G9ru1XsmwfS~BJ))PhD(+_J_^N6j)sx5VwbWK| zwRyC?W<`pOCY)b#AS?rluxuuGf-AJ=D!M36l{ua?@SJ5>e!IBr3CXIxWw5xUZ@Xrw z_R@%?{>d%Ld4p}nEsiA@v*nc6Ah!MUs?GA7e5Q5lPpp0@`%5xY$C;{%rz24$;vR#* zBP=a{)K#CwIY%p} zXVdxTQ^HS@O&~eIftU+Qt^~(DGxrdi3k}DdT^I7Iy5SMOp$QuD8s;+93YQ!OY{eB24%xY7ml@|M7I(Nb@K_-?F;2?et|CKkuZK_>+>Lvg!>JE~wN`BI|_h6$qi!P)+K-1Hh(1;a`os z55)4Q{oJiA(lQM#;w#Ta%T0jDNXIPM_bgESMCDEg6rM33anEr}=|Fn6)|jBP6Y}u{ zv9@%7*#RI9;fv;Yii5CI+KrRdr0DKh=L>)eO4q$1zmcSmglsV`*N(x=&Wx`*v!!hn6X-l0 zP_m;X??O(skcj+oS$cIdKhfT%ABAzz3w^la-Ucw?yBPEC+=Pe_vU8nd-HV5YX6X8r zZih&j^eLU=%*;VzhUyoLF;#8QsEfmByk+Y~caBqSvQaaWf2a{JKB9B>V&r?l^rXaC z8)6AdR@Qy_BxQrE2Fk?ewD!SwLuMj@&d_n5RZFf7=>O>hzVE*seW3U?_p|R^CfoY`?|#x9)-*yjv#lo&zP=uI`M?J zbzC<^3x7GfXA4{FZ72{PE*-mNHyy59Q;kYG@BB~NhTd6pm2Oj=_ zizmD?MKVRkT^KmXuhsk?eRQllPo2Ubk=uCKiZ&u3Xjj~<(!M94c)Tez@9M1Gfs5JV z->@II)CDJOXTtPrQudNjE}Eltbjq>6KiwAwqvAKd^|g!exgLG3;wP+#mZYr`cy3#39e653d=jrR-ulW|h#ddHu(m9mFoW~2yE zz5?dB%6vF}+`-&-W8vy^OCxm3_{02royjvmwjlp+eQDzFVEUiyO#gLv%QdDSI#3W* z?3!lL8clTaNo-DVJw@ynq?q!%6hTQi35&^>P85G$TqNt78%9_sSJt2RThO|JzM$iL zg|wjxdMC2|Icc5rX*qPL(coL!u>-xxz-rFiC!6hD1IR%|HSRsV3>Kq~&vJ=s3M5y8SG%YBQ|{^l#LGlg!D?E>2yR*eV%9m$_J6VGQ~AIh&P$_aFbh zULr0Z$QE!QpkP=aAeR4ny<#3Fwyw@rZf4?Ewq`;mCVv}xaz+3ni+}a=k~P+yaWt^L z@w67!DqVf7D%7XtXX5xBW;Co|HvQ8WR1k?r2cZD%U;2$bsM%u8{JUJ5Z0k= zZJARv^vFkmWx15CB=rb=D4${+#DVqy5$C%bf`!T0+epLJLnh1jwCdb*zuCL}eEFvE z{rO1%gxg>1!W(I!owu*mJZ0@6FM(?C+d*CeceZRW_4id*D9p5nzMY&{mWqrJomjIZ z97ZNnZ3_%Hx8dn;H>p8m7F#^2;T%yZ3H;a&N7tm=Lvs&lgJLW{V1@h&6Vy~!+Ffbb zv(n3+v)_D$}dqd!2>Y2B)#<+o}LH#%ogGi2-?xRIH)1!SD)u-L65B&bsJTC=LiaF+YOCif2dUX6uAA|#+vNR z>U+KQekVGon)Yi<93(d!(yw1h3&X0N(PxN2{%vn}cnV?rYw z$N^}_o!XUB!mckL`yO1rnUaI4wrOeQ(+&k?2mi47hzxSD`N#-byqd1IhEoh!PGq>t z_MRy{5B0eKY>;Ao3z$RUU7U+i?iX^&r739F)itdrTpAi-NN0=?^m%?{A9Ly2pVv>Lqs6moTP?T2-AHqFD-o_ znVr|7OAS#AEH}h8SRPQ@NGG47dO}l=t07__+iK8nHw^(AHx&Wb<%jPc$$jl6_p(b$ z)!pi(0fQodCHfM)KMEMUR&UID>}m^(!{C^U7sBDOA)$VThRCI0_+2=( zV8mMq0R(#z;C|7$m>$>`tX+T|xGt(+Y48@ZYu#z;0pCgYgmMVbFb!$?%yhZqP_nhn zy4<#3P1oQ#2b51NU1mGnHP$cf0j-YOgAA}A$QoL6JVLcmExs(kU{4z;PBHJD%_=0F z>+sQV`mzijSIT7xn%PiDKHOujX;n|M&qr1T@rOxTdxtZ!&u&3HHFLYD5$RLQ=heur zb>+AFokUVQeJy-#LP*^)spt{mb@Mqe=A~-4p0b+Bt|pZ+@CY+%x}9f}izU5;4&QFE zO1bhg&A4uC1)Zb67kuowWY4xbo&J=%yoXlFB)&$d*-}kjBu|w!^zbD1YPc0-#XTJr z)pm2RDy%J3jlqSMq|o%xGS$bPwn4AqitC6&e?pqWcjWPt{3I{>CBy;hg0Umh#c;hU3RhCUX=8aR>rmd` z7Orw(5tcM{|-^J?ZAA9KP|)X6n9$-kvr#j5YDecTM6n z&07(nD^qb8hpF0B^z^pQ*%5ePYkv&FabrlI61ntiVp!!C8y^}|<2xgAd#FY=8b*y( zuQOuvy2`Ii^`VBNJB&R!0{hABYX55ooCAJSSevl4RPqEGb)iy_0H}v@vFwFzD%>#I>)3PsouQ+_Kkbqy*kKdHdfkN7NBcq%V{x^fSxgXpg7$bF& zj!6AQbDY(1u#1_A#1UO9AxiZaCVN2F0wGXdY*g@x$ByvUA?ePdide0dmr#}udE%K| z3*k}Vv2Ew2u1FXBaVA6aerI36R&rzEZeDDCl5!t0J=ug6kuNZzH>3i_VN`%BsaVB3 zQYw|Xub_SGf{)F{$ZX5`Jc!X!;eybjP+o$I{Z^Hsj@D=E{MnnL+TbC@HEU2DjG{3-LDGIbq()U87x4eS;JXnSh;lRlJ z>EL3D>wHt-+wTjQF$fGyDO$>d+(fq@bPpLBS~xA~R=3JPbS{tzN(u~m#Po!?H;IYv zE;?8%^vle|%#oux(Lj!YzBKv+Fd}*Ur-dCBoX*t{KeNM*n~ZPYJ4NNKkI^MFbz9!v z4(Bvm*Kc!-$%VFEewYJKz-CQN{`2}KX4*CeJEs+Q(!kI%hN1!1P6iOq?ovz}X0IOi z)YfWpwW@pK08^69#wSyCZkX9?uZD?C^@rw^Y?gLS_xmFKkooyx$*^5#cPqntNTtSG zlP>XLMj2!VF^0k#ole7`-c~*~+_T5ls?x4)ah(j8vo_ zwb%S8qoaZqY0-$ZI+ViIA_1~~rAH7K_+yFS{0rT@eQtTAdz#8E5VpwnW!zJ_^{Utv zlW5Iar3V5t&H4D6A=>?mq;G92;1cg9a2sf;gY9pJDVKn$DYdQlvfXq}zz8#LyPGq@ z+`YUMD;^-6w&r-82JL7mA8&M~Pj@aK!m{0+^v<|t%APYf7`}jGEhdYLqsHW-Le9TL z_hZZ1gbrz7$f9^fAzVIP30^KIz!!#+DRLL+qMszvI_BpOSmjtl$hh;&UeM{ER@INV zcI}VbiVTPoN|iSna@=7XkP&-4#06C};8ajbxJ4Gcq8(vWv4*&X8bM^T$mBk75Q92j z1v&%a;OSKc8EIrodmIiw$lOES2hzGDcjjB`kEDfJe{r}yE6`eZL zEB`9u>Cl0IsQ+t}`-cx}{6jqcANucqIB>Qmga_&<+80E2Q|VHHQ$YlAt{6`Qu`HA3 z03s0-sSlwbvgi&_R8s={6<~M^pGvBNjKOa>tWenzS8s zR>L7R5aZ=mSU{f?ib4Grx$AeFvtO5N|D>9#)ChH#Fny2maHWHOf2G=#<9Myot#+4u zWVa6d^Vseq_0=#AYS(-m$Lp;*8nC_6jXIjEM`omUmtH@QDs3|G)i4j*#_?#UYVZvJ z?YjT-?!4Q{BNun;dKBWLEw2C-VeAz`%?A>p;)PL}TAZn5j~HK>v1W&anteARlE+~+ zj>c(F;?qO3pXBb|#OZdQnm<4xWmn~;DR5SDMxt0UK_F^&eD|KZ=O;tO3vy4@4h^;2 zUL~-z`-P1aOe?|ZC1BgVsL)2^J-&vIFI%q@40w0{jjEfeVl)i9(~bt2z#2Vm)p`V_ z1;6$Ae7=YXk#=Qkd24Y23t&GvRxaOoad~NbJ+6pxqzJ>FY#Td7@`N5xp!n(c!=RE& z&<<@^a$_Ys8jqz4|5Nk#FY$~|FPC0`*a5HH!|Gssa9=~66&xG9)|=pOOJ2KE5|YrR zw!w6K2aC=J$t?L-;}5hn6mHd%hC;p8P|Dgh6D>hGnXPgi;6r+eA=?f72y9(Cf_ho{ zH6#)uD&R=73^$$NE;5piWX2bzR67fQ)`b=85o0eOLGI4c-Tb@-KNi2pz=Ke@SDcPn za$AxXib84`!Sf;Z3B@TSo`Dz7GM5Kf(@PR>Ghzi=BBxK8wRp>YQoXm+iL>H*Jo9M3 z6w&E?BC8AFTFT&Tv8zf+m9<&S&%dIaZ)Aoqkak_$r-2{$d~0g2oLETx9Y`eOAf14QXEQw3tJne;fdzl@wV#TFXSLXM2428F-Q}t+n2g%vPRMUzYPvzQ9f# zu(liiJem9P*?0%V@RwA7F53r~|I!Ty)<*AsMX3J{_4&}{6pT%Tpw>)^|DJ)>gpS~1rNEh z0$D?uO8mG?H;2BwM5a*26^7YO$XjUm40XmBsb63MoR;bJh63J;OngS5sSI+o2HA;W zdZV#8pDpC9Oez&L8loZO)MClRz!_!WD&QRtQxnazhT%Vj6Wl4G11nUk8*vSeVab@N#oJ}`KyJv+8Mo@T1-pqZ1t|?cnaVOd;1(h9 z!$DrN=jcGsVYE-0-n?oCJ^4x)F}E;UaD-LZUIzcD?W^ficqJWM%QLy6QikrM1aKZC zi{?;oKwq^Vsr|&`i{jIphA8S6G4)$KGvpULjH%9u(Dq247;R#l&I0{IhcC|oBF*Al zvLo7Xte=C{aIt*otJD}BUq)|_pdR>{zBMT< z(^1RpZv*l*m*OV^8>9&asGBo8h*_4q*)-eCv*|Pq=XNGrZE)^(SF7^{QE_~4VDB(o zVcPA_!G+2CAtLbl+`=Q~9iW`4ZRLku!uB?;tWqVjB0lEOf}2RD7dJ=BExy=<9wkb- z9&7{XFA%n#JsHYN8t5d~=T~5DcW4$B%3M+nNvC2`0!#@sckqlzo5;hhGi(D9=*A4` z5ynobawSPRtWn&CDLEs3Xf`(8^zDP=NdF~F^s&={l7(aw&EG}KWpMjtmz7j_VLO;@ zM2NVLDxZ@GIv7*gzl1 zjq78tv*8#WSY`}Su0&C;2F$Ze(q>F(@Wm^Gw!)(j;dk9Ad{STaxn)IV9FZhm*n+U} zi;4y*3v%A`_c7a__DJ8D1b@dl0Std3F||4Wtvi)fCcBRh!X9$1x!_VzUh>*S5s!oq z;qd{J_r79EL2wIeiGAqFstWtkfIJpjVh%zFo*=55B9Zq~y0=^iqHWfQl@O!Ak;(o*m!pZqe9 z%U2oDOhR)BvW8&F70L;2TpkzIutIvNQaTjjs5V#8mV4!NQ}zN=i`i@WI1z0eN-iCS z;vL-Wxc^Vc_qK<5RPh(}*8dLT{~GzE{w2o$2kMFaEl&q zP{V=>&3kW7tWaK-Exy{~`v4J0U#OZBk{a9{&)&QG18L@6=bsZ1zC_d{{pKZ-Ey>I> z;8H0t4bwyQqgu4hmO`3|4K{R*5>qnQ&gOfdy?z`XD%e5+pTDzUt3`k^u~SaL&XMe= z9*h#kT(*Q9jO#w2Hd|Mr-%DV8i_1{J1MU~XJ3!WUplhXDYBpJH><0OU`**nIvPIof z|N8@I=wA)sf45SAvx||f?Z5uB$kz1qL3Ky_{%RPdP5iN-D2!p5scq}buuC00C@jom zhfGKm3|f?Z0iQ|K$Z~!`8{nmAS1r+fp6r#YDOS8V*;K&Gs7Lc&f^$RC66O|)28oh`NHy&vq zJh+hAw8+ybTB0@VhWN^0iiTnLsCWbS_y`^gs!LX!Lw{yE``!UVzrV24tP8o;I6-65 z1MUiHw^{bB15tmrVT*7-#sj6cs~z`wk52YQJ*TG{SE;KTm#Hf#a~|<(|ImHH17nNM z`Ub{+J3dMD!)mzC8b(2tZtokKW5pAwHa?NFiso~# z1*iaNh4lQ4TS)|@G)H4dZV@l*Vd;Rw;-;odDhW2&lJ%m@jz+Panv7LQm~2Js6rOW3 z0_&2cW^b^MYW3)@o;neZ<{B4c#m48dAl$GCc=$>ErDe|?y@z`$uq3xd(%aAsX)D%l z>y*SQ%My`yDP*zof|3@_w#cjaW_YW4BdA;#Glg1RQcJGY*CJ9`H{@|D+*e~*457kd z73p<%fB^PV!Ybw@)Dr%(ZJbX}xmCStCYv#K3O32ej{$9IzM^I{6FJ8!(=azt7RWf4 z7ib0UOPqN40X!wOnFOoddd8`!_IN~9O)#HRTyjfc#&MCZ zZAMzOVB=;qwt8gV?{Y2?b=iSZG~RF~uyx18K)IDFLl})G1v@$(s{O4@RJ%OTJyF+Cpcx4jmy|F3euCnMK!P2WTDu5j z{{gD$=M*pH!GGzL%P)V2*ROm>!$Y=z|D`!_yY6e7SU$~a5q8?hZGgaYqaiLnkK%?0 zs#oI%;zOxF@g*@(V4p!$7dS1rOr6GVs6uYCTt2h)eB4?(&w8{#o)s#%gN@BBosRUe z)@P@8_Zm89pr~)b>e{tbPC~&_MR--iB{=)y;INU5#)@Gix-YpgP<-c2Ms{9zuCX|3 z!p(?VaXww&(w&uBHzoT%!A2=3HAP>SDxcljrego7rY|%hxy3XlODWffO_%g|l+7Y_ zqV(xbu)s4lV=l7M;f>vJl{`6qBm>#ZeMA}kXb97Z)?R97EkoI?x6Lp0yu1Z>PS?2{ z0QQ(8D)|lc9CO3B~e(pQM&5(1y&y=e>C^X$`)_&XuaI!IgDTVqt31wX#n+@!a_A0ZQkA zCJ2@M_4Gb5MfCrm5UPggeyh)8 zO9?`B0J#rkoCx(R0I!ko_2?iO@|oRf1;3r+i)w-2&j?=;NVIdPFsB)`|IC0zk6r9c zRrkfxWsiJ(#8QndNJj@{@WP2Ackr|r1VxV{7S&rSU(^)-M8gV>@UzOLXu9K<{6e{T zXJ6b92r$!|lwjhmgqkdswY&}c)KW4A)-ac%sU;2^fvq7gfUW4Bw$b!i@duy1CAxSn z(pyh$^Z=&O-q<{bZUP+$U}=*#M9uVc>CQVgDs4swy5&8RAHZ~$)hrTF4W zPsSa~qYv_0mJnF89RnnJTH`3}w4?~epFl=D(35$ zWa07ON$`OMBOHgCmfO(9RFc<)?$x)N}Jd2A(<*Ll7+4jrRt9w zwGxExUXd9VB#I|DwfxvJ;HZ8Q{37^wDhaZ%O!oO(HpcqfLH%#a#!~;Jl7F5>EX_=8 z{()l2NqPz>La3qJR;_v+wlK>GsHl;uRA8%j`A|yH@k5r%55S9{*Cp%uw6t`qc1!*T za2OeqtQj7sAp#Q~=5Fs&aCR9v>5V+s&RdNvo&H~6FJOjvaj--2sYYBvMq;55%z8^o z|BJDA4vzfow#DO#ZQHh;Oq_{r+qP{R9ox2TOgwQiv7Ow!zjN+A@BN;0tA2lUb#+zO z(^b89eV)D7UVE+h{mcNc6&GtpOqDn_?VAQ)Vob$hlFwW%xh>D#wml{t&Ofmm_d_+; zKDxzdr}`n2Rw`DtyIjrG)eD0vut$}dJAZ0AohZ+ZQdWXn_Z@dI_y=7t3q8x#pDI-K z2VVc&EGq445Rq-j0=U=Zx`oBaBjsefY;%)Co>J3v4l8V(T8H?49_@;K6q#r~Wwppc z4XW0(4k}cP=5ex>-Xt3oATZ~bBWKv)aw|I|Lx=9C1s~&b77idz({&q3T(Y(KbWO?+ zmcZ6?WeUsGk6>km*~234YC+2e6Zxdl~<_g2J|IE`GH%n<%PRv-50; zH{tnVts*S5*_RxFT9eM0z-pksIb^drUq4>QSww=u;UFCv2AhOuXE*V4z?MM`|ABOC4P;OfhS(M{1|c%QZ=!%rQTDFx`+}?Kdx$&FU?Y<$x;j7z=(;Lyz+?EE>ov!8vvMtSzG!nMie zsBa9t8as#2nH}n8xzN%W%U$#MHNXmDUVr@GX{?(=yI=4vks|V)!-W5jHsU|h_&+kY zS_8^kd3jlYqOoiI`ZqBVY!(UfnAGny!FowZWY_@YR0z!nG7m{{)4OS$q&YDyw6vC$ zm4!$h>*|!2LbMbxS+VM6&DIrL*X4DeMO!@#EzMVfr)e4Tagn~AQHIU8?e61TuhcKD zr!F4(kEebk(Wdk-?4oXM(rJwanS>Jc%<>R(siF+>+5*CqJLecP_we33iTFTXr6W^G z7M?LPC-qFHK;E!fxCP)`8rkxZyFk{EV;G-|kwf4b$c1k0atD?85+|4V%YATWMG|?K zLyLrws36p%Qz6{}>7b>)$pe>mR+=IWuGrX{3ZPZXF3plvuv5Huax86}KX*lbPVr}L z{C#lDjdDeHr~?l|)Vp_}T|%$qF&q#U;ClHEPVuS+Jg~NjC1RP=17=aQKGOcJ6B3mp z8?4*-fAD~}sX*=E6!}^u8)+m2j<&FSW%pYr_d|p_{28DZ#Cz0@NF=gC-o$MY?8Ca8 zr5Y8DSR^*urS~rhpX^05r30Ik#2>*dIOGxRm0#0YX@YQ%Mg5b6dXlS!4{7O_kdaW8PFSdj1=ryI-=5$fiieGK{LZ+SX(1b=MNL!q#lN zv98?fqqTUH8r8C7v(cx#BQ5P9W>- zmW93;eH6T`vuJ~rqtIBg%A6>q>gnWb3X!r0wh_q;211+Om&?nvYzL1hhtjB zK_7G3!n7PL>d!kj){HQE zE8(%J%dWLh1_k%gVXTZt zEdT09XSKAx27Ncaq|(vzL3gm83q>6CAw<$fTnMU05*xAe&rDfCiu`u^1)CD<>sx0i z*hr^N_TeN89G(nunZoLBf^81#pmM}>JgD@Nn1l*lN#a=B=9pN%tmvYFjFIoKe_(GF z-26x{(KXdfsQL7Uv6UtDuYwV`;8V3w>oT_I<`Ccz3QqK9tYT5ZQzbop{=I=!pMOCb zCU68`n?^DT%^&m>A%+-~#lvF!7`L7a{z<3JqIlk1$<||_J}vW1U9Y&eX<}l8##6i( zZcTT@2`9(Mecptm@{3A_Y(X`w9K0EwtPq~O!16bq{7c0f7#(3wn-^)h zxV&M~iiF!{-6A@>o;$RzQ5A50kxXYj!tcgme=Qjrbje~;5X2xryU;vH|6bE(8z^<7 zQ>BG7_c*JG8~K7Oe68i#0~C$v?-t@~@r3t2inUnLT(c=URpA9kA8uq9PKU(Ps(LVH zqgcqW>Gm?6oV#AldDPKVRcEyQIdTT`Qa1j~vS{<;SwyTdr&3*t?J)y=M7q*CzucZ&B0M=joT zBbj@*SY;o2^_h*>R0e({!QHF0=)0hOj^B^d*m>SnRrwq>MolNSgl^~r8GR#mDWGYEIJA8B<|{{j?-7p zVnV$zancW3&JVDtVpIlI|5djKq0(w$KxEFzEiiL=h5Jw~4Le23@s(mYyXWL9SX6Ot zmb)sZaly_P%BeX_9 zw&{yBef8tFm+%=--m*J|o~+Xg3N+$IH)t)=fqD+|fEk4AAZ&!wcN5=mi~Vvo^i`}> z#_3ahR}Ju)(Px7kev#JGcSwPXJ2id9%Qd2A#Uc@t8~egZ8;iC{e! z%=CGJOD1}j!HW_sgbi_8suYnn4#Ou}%9u)dXd3huFIb!ytlX>Denx@pCS-Nj$`VO&j@(z!kKSP0hE4;YIP#w9ta=3DO$7f*x zc9M4&NK%IrVmZAe=r@skWD`AEWH=g+r|*13Ss$+{c_R!b?>?UaGXlw*8qDmY#xlR= z<0XFbs2t?8i^G~m?b|!Hal^ZjRjt<@a? z%({Gn14b4-a|#uY^=@iiKH+k?~~wTj5K1A&hU z2^9-HTC)7zpoWK|$JXaBL6C z#qSNYtY>65T@Zs&-0cHeu|RX(Pxz6vTITdzJdYippF zC-EB+n4}#lM7`2Ry~SO>FxhKboIAF#Z{1wqxaCb{#yEFhLuX;Rx(Lz%T`Xo1+a2M}7D+@wol2)OJs$TwtRNJ={( zD@#zTUEE}#Fz#&(EoD|SV#bayvr&E0vzmb%H?o~46|FAcx?r4$N z&67W3mdip-T1RIxwSm_&(%U|+WvtGBj*}t69XVd&ebn>KOuL(7Y8cV?THd-(+9>G7*Nt%T zcH;`p={`SOjaf7hNd(=37Lz3-51;58JffzIPgGs_7xIOsB5p2t&@v1mKS$2D$*GQ6 zM(IR*j4{nri7NMK9xlDy-hJW6sW|ZiDRaFiayj%;(%51DN!ZCCCXz+0Vm#};70nOx zJ#yA0P3p^1DED;jGdPbQWo0WATN=&2(QybbVdhd=Vq*liDk`c7iZ?*AKEYC#SY&2g z&Q(Ci)MJ{mEat$ZdSwTjf6h~roanYh2?9j$CF@4hjj_f35kTKuGHvIs9}Re@iKMxS-OI*`0S z6s)fOtz}O$T?PLFVSeOjSO26$@u`e<>k(OSP!&YstH3ANh>)mzmKGNOwOawq-MPXe zy4xbeUAl6tamnx))-`Gi2uV5>9n(73yS)Ukma4*7fI8PaEwa)dWHs6QA6>$}7?(L8 ztN8M}?{Tf!Zu22J5?2@95&rQ|F7=FK-hihT-vDp!5JCcWrVogEnp;CHenAZ)+E+K5 z$Cffk5sNwD_?4+ymgcHR(5xgt20Z8M`2*;MzOM#>yhk{r3x=EyM226wb&!+j`W<%* zSc&|`8!>dn9D@!pYow~(DsY_naSx7(Z4i>cu#hA5=;IuI88}7f%)bRkuY2B;+9Uep zpXcvFWkJ!mQai63BgNXG26$5kyhZ2&*3Q_tk)Ii4M>@p~_~q_cE!|^A;_MHB;7s#9 zKzMzK{lIxotjc};k67^Xsl-gS!^*m*m6kn|sbdun`O?dUkJ{0cmI0-_2y=lTAfn*Y zKg*A-2sJq)CCJgY0LF-VQvl&6HIXZyxo2#!O&6fOhbHXC?%1cMc6y^*dOS{f$=137Ds1m01qs`>iUQ49JijsaQ( zksqV9@&?il$|4Ua%4!O15>Zy&%gBY&wgqB>XA3!EldQ%1CRSM(pp#k~-pkcCg4LAT zXE=puHbgsw)!xtc@P4r~Z}nTF=D2~j(6D%gTBw$(`Fc=OOQ0kiW$_RDd=hcO0t97h zb86S5r=>(@VGy1&#S$Kg_H@7G^;8Ue)X5Y+IWUi`o;mpvoV)`fcVk4FpcT|;EG!;? zHG^zrVVZOm>1KFaHlaogcWj(v!S)O(Aa|Vo?S|P z5|6b{qkH(USa*Z7-y_Uvty_Z1|B{rTS^qmEMLEYUSk03_Fg&!O3BMo{b^*`3SHvl0 zhnLTe^_vVIdcSHe)SQE}r~2dq)VZJ!aSKR?RS<(9lzkYo&dQ?mubnWmgMM37Nudwo z3Vz@R{=m2gENUE3V4NbIzAA$H1z0pagz94-PTJyX{b$yndsdKptmlKQKaaHj@3=ED zc7L?p@%ui|RegVYutK$64q4pe9+5sv34QUpo)u{1ci?)_7gXQd{PL>b0l(LI#rJmN zGuO+%GO`xneFOOr4EU(Wg}_%bhzUf;d@TU+V*2#}!2OLwg~%D;1FAu=Un>OgjPb3S z7l(riiCwgghC=Lm5hWGf5NdGp#01xQ59`HJcLXbUR3&n%P(+W2q$h2Qd z*6+-QXJ*&Kvk9ht0f0*rO_|FMBALen{j7T1l%=Q>gf#kma zQlg#I9+HB+z*5BMxdesMND`_W;q5|FaEURFk|~&{@qY32N$G$2B=&Po{=!)x5b!#n zxLzblkq{yj05#O7(GRuT39(06FJlalyv<#K4m}+vs>9@q-&31@1(QBv82{}Zkns~K ze{eHC_RDX0#^A*JQTwF`a=IkE6Ze@j#-8Q`tTT?k9`^ZhA~3eCZJ-Jr{~7Cx;H4A3 zcZ+Zj{mzFZbVvQ6U~n>$U2ZotGsERZ@}VKrgGh0xM;Jzt29%TX6_&CWzg+YYMozrM z`nutuS)_0dCM8UVaKRj804J4i%z2BA_8A4OJRQ$N(P9Mfn-gF;4#q788C@9XR0O3< zsoS4wIoyt046d+LnSCJOy@B@Uz*#GGd#+Ln1ek5Dv>(ZtD@tgZlPnZZJGBLr^JK+!$$?A_fA3LOrkoDRH&l7 zcMcD$Hsjko3`-{bn)jPL6E9Ds{WskMrivsUu5apD z?grQO@W7i5+%X&E&p|RBaEZ(sGLR@~(y^BI@lDMot^Ll?!`90KT!JXUhYS`ZgX3jnu@Ja^seA*M5R@f`=`ynQV4rc$uT1mvE?@tz)TN<=&H1%Z?5yjxcpO+6y_R z6EPuPKM5uxKpmZfT(WKjRRNHs@ib)F5WAP7QCADvmCSD#hPz$V10wiD&{NXyEwx5S z6NE`3z!IS^$s7m}PCwQutVQ#~w+V z=+~->DI*bR2j0^@dMr9`p>q^Ny~NrAVxrJtX2DUveic5vM%#N*XO|?YAWwNI$Q)_) zvE|L(L1jP@F%gOGtnlXtIv2&1i8q<)Xfz8O3G^Ea~e*HJsQgBxWL(yuLY+jqUK zRE~`-zklrGog(X}$9@ZVUw!8*=l`6mzYLtsg`AvBYz(cxmAhr^j0~(rzXdiOEeu_p zE$sf2(w(BPAvO5DlaN&uQ$4@p-b?fRs}d7&2UQ4Fh?1Hzu*YVjcndqJLw0#q@fR4u zJCJ}>_7-|QbvOfylj+e^_L`5Ep9gqd>XI3-O?Wp z-gt*P29f$Tx(mtS`0d05nHH=gm~Po_^OxxUwV294BDKT>PHVlC5bndncxGR!n(OOm znsNt@Q&N{TLrmsoKFw0&_M9$&+C24`sIXGWgQaz=kY;S{?w`z^Q0JXXBKFLj0w0U6P*+jPKyZHX9F#b0D1$&(- zrm8PJd?+SrVf^JlfTM^qGDK&-p2Kdfg?f>^%>1n8bu&byH(huaocL>l@f%c*QkX2i znl}VZ4R1en4S&Bcqw?$=Zi7ohqB$Jw9x`aM#>pHc0x z0$!q7iFu zZ`tryM70qBI6JWWTF9EjgG@>6SRzsd}3h+4D8d~@CR07P$LJ}MFsYi-*O%XVvD@yT|rJ+Mk zDllJ7$n0V&A!0flbOf)HE6P_afPWZmbhpliqJuw=-h+r;WGk|ntkWN(8tKlYpq5Ow z(@%s>IN8nHRaYb*^d;M(D$zGCv5C|uqmsDjwy4g=Lz>*OhO3z=)VD}C<65;`89Ye} zSCxrv#ILzIpEx1KdLPlM&%Cctf@FqTKvNPXC&`*H9=l=D3r!GLM?UV zOxa(8ZsB`&+76S-_xuj?G#wXBfDY@Z_tMpXJS7^mp z@YX&u0jYw2A+Z+bD#6sgVK5ZgdPSJV3>{K^4~%HV?rn~4D)*2H!67Y>0aOmzup`{D zzDp3c9yEbGCY$U<8biJ_gB*`jluz1ShUd!QUIQJ$*1;MXCMApJ^m*Fiv88RZ zFopLViw}{$Tyhh_{MLGIE2~sZ)t0VvoW%=8qKZ>h=adTe3QM$&$PO2lfqH@brt!9j ziePM8$!CgE9iz6B<6_wyTQj?qYa;eC^{x_0wuwV~W+^fZmFco-o%wsKSnjXFEx02V zF5C2t)T6Gw$Kf^_c;Ei3G~uC8SM-xyycmXyC2hAVi-IfXqhu$$-C=*|X?R0~hu z8`J6TdgflslhrmDZq1f?GXF7*ALeMmOEpRDg(s*H`4>_NAr`2uqF;k;JQ+8>A|_6ZNsNLECC%NNEb1Y1dP zbIEmNpK)#XagtL4R6BC{C5T(+=yA-(Z|Ap}U-AfZM#gwVpus3(gPn}Q$CExObJ5AC z)ff9Yk?wZ}dZ-^)?cbb9Fw#EjqQ8jxF4G3=L?Ra zg_)0QDMV1y^A^>HRI$x?Op@t;oj&H@1xt4SZ9(kifQ zb59B*`M99Td7@aZ3UWvj1rD0sE)d=BsBuW*KwkCds7ay(7*01_+L}b~7)VHI>F_!{ zyxg-&nCO?v#KOUec0{OOKy+sjWA;8rTE|Lv6I9H?CI?H(mUm8VXGwU$49LGpz&{nQp2}dinE1@lZ1iox6{ghN&v^GZv9J${7WaXj)<0S4g_uiJ&JCZ zr8-hsu`U%N;+9N^@&Q0^kVPB3)wY(rr}p7{p0qFHb3NUUHJb672+wRZs`gd1UjKPX z4o6zljKKA+Kkj?H>Ew63o%QjyBk&1!P22;MkD>sM0=z_s-G{mTixJCT9@_|*(p^bz zJ8?ZZ&;pzV+7#6Mn`_U-)k8Pjg?a;|Oe^us^PoPY$Va~yi8|?+&=y$f+lABT<*pZr zP}D{~Pq1Qyni+@|aP;ixO~mbEW9#c0OU#YbDZIaw=_&$K%Ep2f%hO^&P67hApZe`x zv8b`Mz@?M_7-)b!lkQKk)JXXUuT|B8kJlvqRmRpxtQDgvrHMXC1B$M@Y%Me!BSx3P z#2Eawl$HleZhhTS6Txm>lN_+I`>eV$&v9fOg)%zVn3O5mI*lAl>QcHuW6!Kixmq`X zBCZ*Ck6OYtDiK!N47>jxI&O2a9x7M|i^IagRr-fmrmikEQGgw%J7bO|)*$2FW95O4 zeBs>KR)izRG1gRVL;F*sr8A}aRHO0gc$$j&ds8CIO1=Gwq1%_~E)CWNn9pCtBE}+`Jelk4{>S)M)`Ll=!~gnn1yq^EX(+y*ik@3Ou0qU`IgYi3*doM+5&dU!cho$pZ zn%lhKeZkS72P?Cf68<#kll_6OAO26bIbueZx**j6o;I0cS^XiL`y+>{cD}gd%lux} z)3N>MaE24WBZ}s0ApfdM;5J_Ny}rfUyxfkC``Awo2#sgLnGPewK};dORuT?@I6(5~ z?kE)Qh$L&fwJXzK){iYx!l5$Tt|^D~MkGZPA}(o6f7w~O2G6Vvzdo*a;iXzk$B66$ zwF#;wM7A+(;uFG4+UAY(2`*3XXx|V$K8AYu#ECJYSl@S=uZW$ksfC$~qrrbQj4??z-)uz0QL}>k^?fPnJTPw% zGz)~?B4}u0CzOf@l^um}HZzbaIwPmb<)< zi_3@E9lc)Qe2_`*Z^HH;1CXOceL=CHpHS{HySy3T%<^NrWQ}G0i4e1xm_K3(+~oi$ zoHl9wzb?Z4j#90DtURtjtgvi7uw8DzHYmtPb;?%8vb9n@bszT=1qr)V_>R%s!92_` zfnHQPANx z<#hIjIMm#*(v*!OXtF+w8kLu`o?VZ5k7{`vw{Yc^qYclpUGIM_PBN1+c{#Vxv&E*@ zxg=W2W~JuV{IuRYw3>LSI1)a!thID@R=bU+cU@DbR^_SXY`MC7HOsCN z!dO4OKV7(E_Z8T#8MA1H`99?Z!r0)qKW_#|29X3#Jb+5+>qUidbeP1NJ@)(qi2S-X zao|f0_tl(O+$R|Qwd$H{_ig|~I1fbp_$NkI!0E;Y z6JrnU{1Ra6^on{9gUUB0mwzP3S%B#h0fjo>JvV~#+X0P~JV=IG=yHG$O+p5O3NUgG zEQ}z6BTp^Fie)Sg<){Z&I8NwPR(=mO4joTLHkJ>|Tnk23E(Bo`FSbPc05lF2-+)X? z6vV3*m~IBHTy*^E!<0nA(tCOJW2G4DsH7)BxLV8kICn5lu6@U*R`w)o9;Ro$i8=Q^V%uH8n3q=+Yf;SFRZu z!+F&PKcH#8cG?aSK_Tl@K9P#8o+jry@gdexz&d(Q=47<7nw@e@FFfIRNL9^)1i@;A z28+$Z#rjv-wj#heI|<&J_DiJ*s}xd-f!{J8jfqOHE`TiHHZVIA8CjkNQ_u;Ery^^t zl1I75&u^`1_q)crO+JT4rx|z2ToSC>)Or@-D zy3S>jW*sNIZR-EBsfyaJ+Jq4BQE4?SePtD2+jY8*%FsSLZ9MY>+wk?}}}AFAw)vr{ml)8LUG-y9>^t!{~|sgpxYc0Gnkg`&~R z-pilJZjr@y5$>B=VMdZ73svct%##v%wdX~9fz6i3Q-zOKJ9wso+h?VME7}SjL=!NUG{J?M&i!>ma`eoEa@IX`5G>B1(7;%}M*%-# zfhJ(W{y;>MRz!Ic8=S}VaBKqh;~7KdnGEHxcL$kA-6E~=!hrN*zw9N+_=odt<$_H_8dbo;0=42wcAETPCVGUr~v(`Uai zb{=D!Qc!dOEU6v)2eHSZq%5iqK?B(JlCq%T6av$Cb4Rko6onlG&?CqaX7Y_C_cOC3 zYZ;_oI(}=>_07}Oep&Ws7x7-R)cc8zfe!SYxJYP``pi$FDS)4Fvw5HH=FiU6xfVqIM!hJ;Rx8c0cB7~aPtNH(Nmm5Vh{ibAoU#J6 zImRCr?(iyu_4W_6AWo3*vxTPUw@vPwy@E0`(>1Qi=%>5eSIrp^`` zK*Y?fK_6F1W>-7UsB)RPC4>>Ps9)f+^MqM}8AUm@tZ->j%&h1M8s*s!LX5&WxQcAh z8mciQej@RPm?660%>{_D+7er>%zX_{s|$Z+;G7_sfNfBgY(zLB4Ey}J9F>zX#K0f6 z?dVNIeEh?EIShmP6>M+d|0wMM85Sa4diw1hrg|ITJ}JDg@o8y>(rF9mXk5M z2@D|NA)-7>wD&wF;S_$KS=eE84`BGw3g0?6wGxu8ys4rwI?9U=*^VF22t3%mbGeOh z`!O-OpF7#Vceu~F`${bW0nYVU9ecmk31V{tF%iv&5hWofC>I~cqAt@u6|R+|HLMMX zVxuSlMFOK_EQ86#E8&KwxIr8S9tj_goWtLv4f@!&h8;Ov41{J~496vp9vX=(LK#j! zAwi*21RAV-LD>9Cw3bV_9X(X3)Kr0-UaB*7Y>t82EQ%!)(&(XuAYtTsYy-dz+w=$ir)VJpe!_$ z6SGpX^i(af3{o=VlFPC);|J8#(=_8#vdxDe|Cok+ANhYwbE*FO`Su2m1~w+&9<_9~ z-|tTU_ACGN`~CNW5WYYBn^B#SwZ(t4%3aPp z;o)|L6Rk569KGxFLUPx@!6OOa+5OjQLK5w&nAmwxkC5rZ|m&HT8G%GVZxB_@ME z>>{rnXUqyiJrT(8GMj_ap#yN_!9-lO5e8mR3cJiK3NE{_UM&=*vIU`YkiL$1%kf+1 z4=jk@7EEj`u(jy$HnzE33ZVW_J4bj}K;vT?T91YlO(|Y0FU4r+VdbmQ97%(J5 zkK*Bed8+C}FcZ@HIgdCMioV%A<*4pw_n}l*{Cr4}a(lq|injK#O?$tyvyE`S%(1`H z_wwRvk#13ElkZvij2MFGOj`fhy?nC^8`Zyo%yVcUAfEr8x&J#A{|moUBAV_^f$hpaUuyQeY3da^ zS9iRgf87YBwfe}>BO+T&Fl%rfpZh#+AM?Dq-k$Bq`vG6G_b4z%Kbd&v>qFjow*mBl z-OylnqOpLg}or7_VNwRg2za3VBK6FUfFX{|TD z`Wt0Vm2H$vdlRWYQJqDmM?JUbVqL*ZQY|5&sY*?!&%P8qhA~5+Af<{MaGo(dl&C5t zE%t!J0 zh6jqANt4ABdPxSTrVV}fLsRQal*)l&_*rFq(Ez}ClEH6LHv{J#v?+H-BZ2)Wy{K@9 z+ovXHq~DiDvm>O~r$LJo!cOuwL+Oa--6;UFE2q@g3N8Qkw5E>ytz^(&($!O47+i~$ zKM+tkAd-RbmP{s_rh+ugTD;lriL~`Xwkad#;_aM?nQ7L_muEFI}U_4$phjvYgleK~`Fo`;GiC07&Hq1F<%p;9Q;tv5b?*QnR%8DYJH3P>Svmv47Y>*LPZJy8_{9H`g6kQpyZU{oJ`m%&p~D=K#KpfoJ@ zn-3cqmHsdtN!f?~w+(t+I`*7GQA#EQC^lUA9(i6=i1PqSAc|ha91I%X&nXzjYaM{8$s&wEx@aVkQ6M{E2 zfzId#&r(XwUNtPcq4Ngze^+XaJA1EK-%&C9j>^9(secqe{}z>hR5CFNveMsVA)m#S zk)_%SidkY-XmMWlVnQ(mNJ>)ooszQ#vaK;!rPmGKXV7am^_F!Lz>;~{VrIO$;!#30XRhE1QqO_~#+Ux;B_D{Nk=grn z8Y0oR^4RqtcYM)7a%@B(XdbZCOqnX#fD{BQTeLvRHd(irHKq=4*jq34`6@VAQR8WG z^%)@5CXnD_T#f%@-l${>y$tfb>2LPmc{~5A82|16mH)R?&r#KKLs7xpN-D`=&Cm^R zvMA6#Ahr<3X>Q7|-qfTY)}32HkAz$_mibYV!I)u>bmjK`qwBe(>za^0Kt*HnFbSdO z1>+ryKCNxmm^)*$XfiDOF2|{-v3KKB?&!(S_Y=Ht@|ir^hLd978xuI&N{k>?(*f8H z=ClxVJK_%_z1TH0eUwm2J+2To7FK4o+n_na)&#VLn1m;!+CX+~WC+qg1?PA~KdOlC zW)C@pw75_xoe=w7i|r9KGIvQ$+3K?L{7TGHwrQM{dCp=Z*D}3kX7E-@sZnup!BImw z*T#a=+WcTwL78exTgBn|iNE3#EsOorO z*kt)gDzHiPt07fmisA2LWN?AymkdqTgr?=loT7z@d`wnlr6oN}@o|&JX!yPzC*Y8d zu6kWlTzE1)ckyBn+0Y^HMN+GA$wUO_LN6W>mxCo!0?oiQvT`z$jbSEu&{UHRU0E8# z%B^wOc@S!yhMT49Y)ww(Xta^8pmPCe@eI5C*ed96)AX9<>))nKx0(sci8gwob_1}4 z0DIL&vsJ1_s%<@y%U*-eX z5rN&(zef-5G~?@r79oZGW1d!WaTqQn0F6RIOa9tJ=0(kdd{d1{<*tHT#cCvl*i>YY zH+L7jq8xZNcTUBqj(S)ztTU!TM!RQ}In*n&Gn<>(60G7}4%WQL!o>hbJqNDSGwl#H z`4k+twp0cj%PsS+NKaxslAEu9!#U3xT1|_KB6`h=PI0SW`P9GTa7caD1}vKEglV8# zjKZR`pluCW19c2fM&ZG)c3T3Um;ir3y(tSCJ7Agl6|b524dy5El{^EQBG?E61H0XY z`bqg!;zhGhyMFl&(o=JWEJ8n~z)xI}A@C0d2hQGvw7nGv)?POU@(kS1m=%`|+^ika zXl8zjS?xqW$WlO?Ewa;vF~XbybHBor$f<%I&*t$F5fynwZlTGj|IjZtVfGa7l&tK} zW>I<69w(cZLu)QIVG|M2xzW@S+70NinQzk&Y0+3WT*cC)rx~04O-^<{JohU_&HL5XdUKW!uFy|i$FB|EMu0eUyW;gsf`XfIc!Z0V zeK&*hPL}f_cX=@iv>K%S5kL;cl_$v?n(Q9f_cChk8Lq$glT|=e+T*8O4H2n<=NGmn z+2*h+v;kBvF>}&0RDS>)B{1!_*XuE8A$Y=G8w^qGMtfudDBsD5>T5SB;Qo}fSkkiV ze^K^M(UthkwrD!&*tTsu>Dacdj_q`~V%r_twr$(Ct&_dKeeXE?fA&4&yASJWJ*}~- zel=@W)tusynfC_YqH4ll>4Eg`Xjs5F7Tj>tTLz<0N3)X<1px_d2yUY>X~y>>93*$) z5PuNMQLf9Bu?AAGO~a_|J2akO1M*@VYN^VxvP0F$2>;Zb9;d5Yfd8P%oFCCoZE$ z4#N$^J8rxYjUE_6{T%Y>MmWfHgScpuGv59#4u6fpTF%~KB^Ae`t1TD_^Ud#DhL+Dm zbY^VAM#MrAmFj{3-BpVSWph2b_Y6gCnCAombVa|1S@DU)2r9W<> zT5L8BB^er3zxKt1v(y&OYk!^aoQisqU zH(g@_o)D~BufUXcPt!Ydom)e|aW{XiMnes2z&rE?og>7|G+tp7&^;q?Qz5S5^yd$i z8lWr4g5nctBHtigX%0%XzIAB8U|T6&JsC4&^hZBw^*aIcuNO47de?|pGXJ4t}BB`L^d8tD`H`i zqrP8?#J@8T#;{^B!KO6J=@OWKhAerih(phML`(Rg7N1XWf1TN>=Z3Do{l_!d~DND&)O)D>ta20}@Lt77qSnVsA7>)uZAaT9bsB>u&aUQl+7GiY2|dAEg@%Al3i316y;&IhQL^8fw_nwS>f60M_-m+!5)S_6EPM7Y)(Nq^8gL7(3 zOiot`6Wy6%vw~a_H?1hLVzIT^i1;HedHgW9-P#)}Y6vF%C=P70X0Tk^z9Te@kPILI z_(gk!k+0%CG)%!WnBjjw*kAKs_lf#=5HXC00s-}oM-Q1aXYLj)(1d!_a7 z*Gg4Fe6F$*ujVjI|79Z5+Pr`us%zW@ln++2l+0hsngv<{mJ%?OfSo_3HJXOCys{Ug z00*YR-(fv<=&%Q!j%b-_ppA$JsTm^_L4x`$k{VpfLI(FMCap%LFAyq;#ns5bR7V+x zO!o;c5y~DyBPqdVQX)8G^G&jWkBy2|oWTw>)?5u}SAsI$RjT#)lTV&Rf8;>u*qXnb z8F%Xb=7#$m)83z%`E;49)t3fHInhtc#kx4wSLLms!*~Z$V?bTyUGiS&m>1P(952(H zuHdv=;o*{;5#X-uAyon`hP}d#U{uDlV?W?_5UjJvf%11hKwe&(&9_~{W)*y1nR5f_ z!N(R74nNK`y8>B!0Bt_Vr!;nc3W>~RiKtGSBkNlsR#-t^&;$W#)f9tTlZz>n*+Fjz z3zXZ;jf(sTM(oDzJt4FJS*8c&;PLTW(IQDFs_5QPy+7yhi1syPCarvqrHFcf&yTy)^O<1EBx;Ir`5W{TIM>{8w&PB>ro4;YD<5LF^TjTb0!zAP|QijA+1Vg>{Afv^% zmrkc4o6rvBI;Q8rj4*=AZacy*n8B{&G3VJc)so4$XUoie0)vr;qzPZVbb<#Fc=j+8CGBWe$n|3K& z_@%?{l|TzKSlUEO{U{{%Fz_pVDxs7i9H#bnbCw7@4DR=}r_qV!Zo~CvD4ZI*+j3kO zW6_=|S`)(*gM0Z;;}nj`73OigF4p6_NPZQ-Od~e$c_);;4-7sR>+2u$6m$Gf%T{aq zle>e3(*Rt(TPD}03n5)!Ca8Pu!V}m6v0o1;5<1h$*|7z|^(3$Y&;KHKTT}hV056wuF0Xo@mK-52~r=6^SI1NC%c~CC?n>yX6wPTgiWYVz!Sx^atLby9YNn1Rk{g?|pJaxD4|9cUf|V1_I*w zzxK)hRh9%zOl=*$?XUjly5z8?jPMy%vEN)f%T*|WO|bp5NWv@B(K3D6LMl!-6dQg0 zXNE&O>Oyf%K@`ngCvbGPR>HRg5!1IV$_}m@3dWB7x3t&KFyOJn9pxRXCAzFr&%37wXG;z^xaO$ekR=LJG ztIHpY8F5xBP{mtQidqNRoz= z@){+N3(VO5bD+VrmS^YjG@+JO{EOIW)9=F4v_$Ed8rZtHvjpiEp{r^c4F6Ic#ChlC zJX^DtSK+v(YdCW)^EFcs=XP7S>Y!4=xgmv>{S$~@h=xW-G4FF9?I@zYN$e5oF9g$# zb!eVU#J+NjLyX;yb)%SY)xJdvGhsnE*JEkuOVo^k5PyS=o#vq!KD46UTW_%R=Y&0G zFj6bV{`Y6)YoKgqnir2&+sl+i6foAn-**Zd1{_;Zb7Ki=u394C5J{l^H@XN`_6XTKY%X1AgQM6KycJ+= zYO=&t#5oSKB^pYhNdzPgH~aEGW2=ec1O#s-KG z71}LOg@4UEFtp3GY1PBemXpNs6UK-ax*)#$J^pC_me;Z$Je(OqLoh|ZrW*mAMBFn< zHttjwC&fkVfMnQeen8`Rvy^$pNRFVaiEN4Pih*Y3@jo!T0nsClN)pdrr9AYLcZxZ| zJ5Wlj+4q~($hbtuY zVQ7hl>4-+@6g1i`1a)rvtp-;b0>^`Dloy(#{z~ytgv=j4q^Kl}wD>K_Y!l~ zp(_&7sh`vfO(1*MO!B%<6E_bx1)&s+Ae`O)a|X=J9y~XDa@UB`m)`tSG4AUhoM=5& znWoHlA-(z@3n0=l{E)R-p8sB9XkV zZ#D8wietfHL?J5X0%&fGg@MH~(rNS2`GHS4xTo7L$>TPme+Is~!|79=^}QbPF>m%J zFMkGzSndiPO|E~hrhCeo@&Ea{M(ieIgRWMf)E}qeTxT8Q#g-!Lu*x$v8W^M^>?-g= zwMJ$dThI|~M06rG$Sv@C@tWR>_YgaG&!BAbkGggVQa#KdtDB)lMLNVLN|51C@F^y8 zCRvMB^{GO@j=cHfmy}_pCGbP%xb{pNN>? z?7tBz$1^zVaP|uaatYaIN+#xEN4jBzwZ|YI_)p(4CUAz1ZEbDk>J~Y|63SZaak~#0 zoYKruYsWHoOlC1(MhTnsdUOwQfz5p6-D0}4;DO$B;7#M{3lSE^jnTT;ns`>!G%i*F?@pR1JO{QTuD0U+~SlZxcc8~>IB{)@8p`P&+nDxNj`*gh|u?yrv$phpQcW)Us)bi`kT%qLj(fi{dWRZ%Es2!=3mI~UxiW0$-v3vUl?#g{p6eF zMEUAqo5-L0Ar(s{VlR9g=j7+lt!gP!UN2ICMokAZ5(Agd>})#gkA2w|5+<%-CuEP# zqgcM}u@3(QIC^Gx<2dbLj?cFSws_f3e%f4jeR?4M^M3cx1f+Qr6ydQ>n)kz1s##2w zk}UyQc+Z5G-d-1}{WzjkLXgS-2P7auWSJ%pSnD|Uivj5u!xk0 z_^-N9r9o;(rFDt~q1PvE#iJZ_f>J3gcP$)SOqhE~pD2|$=GvpL^d!r z6u=sp-CrMoF7;)}Zd7XO4XihC4ji?>V&(t^?@3Q&t9Mx=qex6C9d%{FE6dvU6%d94 zIE;hJ1J)cCqjv?F``7I*6bc#X)JW2b4f$L^>j{*$R`%5VHFi*+Q$2;nyieduE}qdS{L8y8F08yLs?w}{>8>$3236T-VMh@B zq-nujsb_1aUv_7g#)*rf9h%sFj*^mIcImRV*k~Vmw;%;YH(&ylYpy!&UjUVqqtfG` zox3esju?`unJJA_zKXRJP)rA3nXc$m^{S&-p|v|-0x9LHJm;XIww7C#R$?00l&Yyj z=e}gKUOpsImwW?N)+E(awoF@HyP^EhL+GlNB#k?R<2>95hz!h9sF@U20DHSB3~WMa zk90+858r@-+vWwkawJ)8ougd(i#1m3GLN{iSTylYz$brAsP%=&m$mQQrH$g%3-^VR zE%B`Vi&m8f3T~&myTEK28BDWCVzfWir1I?03;pX))|kY5ClO^+bae z*7E?g=3g7EiisYOrE+lA)2?Ln6q2*HLNpZEWMB|O-JI_oaHZB%CvYB(%=tU= zE*OY%QY58fW#RG5=gm0NR#iMB=EuNF@)%oZJ}nmm=tsJ?eGjia{e{yuU0l3{d^D@)kVDt=1PE)&tf_hHC%0MB znL|CRCPC}SeuVTdf>-QV70`0(EHizc21s^sU>y%hW0t!0&y<7}Wi-wGy>m%(-jsDj zP?mF|>p_K>liZ6ZP(w5(|9Ga%>tLgb$|doDDfkdW>Z z`)>V2XC?NJT26mL^@ zf+IKr27TfM!UbZ@?zRddC7#6ss1sw%CXJ4FWC+t3lHZupzM77m^=9 z&(a?-LxIq}*nvv)y?27lZ{j zifdl9hyJudyP2LpU$-kXctshbJDKS{WfulP5Dk~xU4Le4c#h^(YjJit4#R8_khheS z|8(>2ibaHES4+J|DBM7I#QF5u-*EdN{n=Kt@4Zt?@Tv{JZA{`4 zU#kYOv{#A&gGPwT+$Ud}AXlK3K7hYzo$(fBSFjrP{QQ zeaKg--L&jh$9N}`pu{Bs>?eDFPaWY4|9|foN%}i;3%;@4{dc+iw>m}{3rELqH21G! z`8@;w-zsJ1H(N3%|1B@#ioLOjib)j`EiJqPQVSbPSPVHCj6t5J&(NcWzBrzCiDt{4 zdlPAUKldz%6x5II1H_+jv)(xVL+a;P+-1hv_pM>gMRr%04@k;DTokASSKKhU1Qms| zrWh3a!b(J3n0>-tipg{a?UaKsP7?+|@A+1WPDiQIW1Sf@qDU~M_P65_s}7(gjTn0X zucyEm)o;f8UyshMy&>^SC3I|C6jR*R_GFwGranWZe*I>K+0k}pBuET&M~ z;Odo*ZcT?ZpduHyrf8E%IBFtv;JQ!N_m>!sV6ly$_1D{(&nO~w)G~Y`7sD3#hQk%^ zp}ucDF_$!6DAz*PM8yE(&~;%|=+h(Rn-=1Wykas_-@d&z#=S}rDf`4w(rVlcF&lF! z=1)M3YVz7orwk^BXhslJ8jR);sh^knJW(Qmm(QdSgIAIdlN4Te5KJisifjr?eB{FjAX1a0AB>d?qY4Wx>BZ8&}5K0fA+d{l8 z?^s&l8#j7pR&ijD?0b%;lL9l$P_mi2^*_OL+b}4kuLR$GAf85sOo02?Y#90}CCDiS zZ%rbCw>=H~CBO=C_JVV=xgDe%b4FaEFtuS7Q1##y686r%F6I)s-~2(}PWK|Z8M+Gu zl$y~5@#0Ka%$M<&Cv%L`a8X^@tY&T7<0|(6dNT=EsRe0%kp1Qyq!^43VAKYnr*A5~ zsI%lK1ewqO;0TpLrT9v}!@vJK{QoVa_+N4FYT#h?Y8rS1S&-G+m$FNMP?(8N`MZP zels(*?kK{{^g9DOzkuZXJ2;SrOQsp9T$hwRB1(phw1c7`!Q!by?Q#YsSM#I12RhU{$Q+{xj83axHcftEc$mNJ8_T7A-BQc*k(sZ+~NsO~xAA zxnbb%dam_fZlHvW7fKXrB~F&jS<4FD2FqY?VG?ix*r~MDXCE^WQ|W|WM;gsIA4lQP zJ2hAK@CF*3*VqPr2eeg6GzWFlICi8S>nO>5HvWzyZTE)hlkdC_>pBej*>o0EOHR|) z$?};&I4+_?wvL*g#PJ9)!bc#9BJu1(*RdNEn>#Oxta(VWeM40ola<0aOe2kSS~{^P zDJBd}0L-P#O-CzX*%+$#v;(x%<*SPgAje=F{Zh-@ucd2DA(yC|N_|ocs*|-!H%wEw z@Q!>siv2W;C^^j^59OAX03&}&D*W4EjCvfi(ygcL#~t8XGa#|NPO+*M@Y-)ctFA@I z-p7npT1#5zOLo>7q?aZpCZ=iecn3QYklP;gF0bq@>oyBq94f6C=;Csw3PkZ|5q=(c zfs`aw?II0e(h=|7o&T+hq&m$; zBrE09Twxd9BJ2P+QPN}*OdZ-JZV7%av@OM7v!!NL8R;%WFq*?{9T3{ct@2EKgc8h) zMxoM$SaF#p<`65BwIDfmXG6+OiK0e)`I=!A3E`+K@61f}0e z!2a*FOaDrOe>U`q%K!QN`&=&0C~)CaL3R4VY(NDt{Xz(Xpqru5=r#uQN1L$Je1*dkdqQ*=lofQaN%lO!<5z9ZlHgxt|`THd>2 zsWfU$9=p;yLyJyM^t zS2w9w?Bpto`@H^xJpZDKR1@~^30Il6oFGfk5%g6w*C+VM)+%R@gfIwNprOV5{F^M2 zO?n3DEzpT+EoSV-%OdvZvNF+pDd-ZVZ&d8 zKeIyrrfPN=EcFRCPEDCVflX#3-)Ik_HCkL(ejmY8vzcf-MTA{oHk!R2*36`O68$7J zf}zJC+bbQk--9Xm!u#lgLvx8TXx2J258E5^*IZ(FXMpq$2LUUvhWQPs((z1+2{Op% z?J}9k5^N=z;7ja~zi8a_-exIqWUBJwohe#4QJ`|FF*$C{lM18z^#hX6!5B8KAkLUX ziP=oti-gpV(BsLD{0(3*dw}4JxK23Y7M{BeFPucw!sHpY&l%Ws4pSm`+~V7;bZ%Dx zeI)MK=4vC&5#;2MT7fS?^ch9?2;%<8Jlu-IB&N~gg8t;6S-#C@!NU{`p7M8@2iGc& zg|JPg%@gCoCQ&s6JvDU&`X2S<57f(k8nJ1wvBu{8r?;q3_kpZZ${?|( z+^)UvR33sjSd)aT!UPkA;ylO6{aE3MQa{g%Mcf$1KONcjO@&g5zPHWtzM1rYC{_K> zgQNcs<{&X{OA=cEWw5JGqpr0O>x*Tfak2PE9?FuWtz^DDNI}rwAaT0(bdo-<+SJ6A z&}S%boGMWIS0L}=S>|-#kRX;e^sUsotry(MjE|3_9duvfc|nwF#NHuM-w7ZU!5ei8 z6Mkf>2)WunY2eU@C-Uj-A zG(z0Tz2YoBk>zCz_9-)4a>T46$(~kF+Y{#sA9MWH%5z#zNoz)sdXq7ZR_+`RZ%0(q zC7&GyS_|BGHNFl8Xa%@>iWh%Gr?=J5<(!OEjauj5jyrA-QXBjn0OAhJJ9+v=!LK`` z@g(`^*84Q4jcDL`OA&ZV60djgwG`|bcD*i50O}Q{9_noRg|~?dj%VtKOnyRs$Uzqg z191aWoR^rDX#@iSq0n z?9Sg$WSRPqSeI<}&n1T3!6%Wj@5iw5`*`Btni~G=&;J+4`7g#OQTa>u`{4ZZ(c@s$ zK0y;ySOGD-UTjREKbru{QaS>HjN<2)R%Nn-TZiQ(Twe4p@-saNa3~p{?^V9Nixz@a zykPv~<@lu6-Ng9i$Lrk(xi2Tri3q=RW`BJYOPC;S0Yly%77c727Yj-d1vF!Fuk{Xh z)lMbA69y7*5ufET>P*gXQrxsW+ zz)*MbHZv*eJPEXYE<6g6_M7N%#%mR{#awV3i^PafNv(zyI)&bH?F}2s8_rR(6%!V4SOWlup`TKAb@ee>!9JKPM=&8g#BeYRH9FpFybxBXQI2|g}FGJfJ+ zY-*2hB?o{TVL;Wt_ek;AP5PBqfDR4@Z->_182W z{P@Mc27j6jE*9xG{R$>6_;i=y{qf(c`5w9fa*`rEzX6t!KJ(p1H|>J1pC-2zqWENF zmm=Z5B4u{cY2XYl(PfrInB*~WGWik3@1oRhiMOS|D;acnf-Bs(QCm#wR;@Vf!hOPJ zgjhDCfDj$HcyVLJ=AaTbQ{@vIv14LWWF$=i-BDoC11}V;2V8A`S>_x)vIq44-VB-v z*w-d}$G+Ql?En8j!~ZkCpQ$|cA0|+rrY>tiCeWxkRGPoarxlGU2?7%k#F693RHT24 z-?JsiXlT2PTqZqNb&sSc>$d;O4V@|b6VKSWQb~bUaWn1Cf0+K%`Q&Wc<>mQ>*iEGB zbZ;aYOotBZ{vH3y<0A*L0QVM|#rf*LIsGx(O*-7)r@yyBIzJnBFSKBUSl1e|8lxU* zzFL+YDVVkIuzFWeJ8AbgN&w(4-7zbiaMn{5!JQXu)SELk*CNL+Fro|2v|YO)1l15t zs(0^&EB6DPMyaqvY>=KL>)tEpsn;N5Q#yJj<9}ImL((SqErWN3Q=;tBO~ExTCs9hB z2E$7eN#5wX4<3m^5pdjm#5o>s#eS_Q^P)tm$@SawTqF*1dj_i#)3};JslbLKHXl_N z)Fxzf>FN)EK&Rz&*|6&%Hs-^f{V|+_vL1S;-1K-l$5xiC@}%uDuwHYhmsV?YcOUlk zOYkG5v2+`+UWqpn0aaaqrD3lYdh0*!L`3FAsNKu=Q!vJu?Yc8n|CoYyDo_`r0mPoo z8>XCo$W4>l(==h?2~PoRR*kEe)&IH{1sM41mO#-36`02m#nTX{r*r`Q5rZ2-sE|nA zhnn5T#s#v`52T5|?GNS`%HgS2;R(*|^egNPDzzH_z^W)-Q98~$#YAe)cEZ%vge965AS_am#DK#pjPRr-!^za8>`kksCAUj(Xr*1NW5~e zpypt_eJpD&4_bl_y?G%>^L}=>xAaV>KR6;^aBytqpiHe%!j;&MzI_>Sx7O%F%D*8s zSN}cS^<{iiK)=Ji`FpO#^zY!_|D)qeRNAtgmH)m;qC|mq^j(|hL`7uBz+ULUj37gj zksdbnU+LSVo35riSX_4z{UX=%n&}7s0{WuZYoSfwAP`8aKN9P@%e=~1`~1ASL-z%# zw>DO&ixr}c9%4InGc*_y42bdEk)ZdG7-mTu0bD@_vGAr*NcFoMW;@r?@LUhRI zCUJgHb`O?M3!w)|CPu~ej%fddw20lod?Ufp8Dmt0PbnA0J%KE^2~AIcnKP()025V> zG>noSM3$5Btmc$GZoyP^v1@Poz0FD(6YSTH@aD0}BXva?LphAiSz9f&Y(aDAzBnUh z?d2m``~{z;{}kZJ>a^wYI?ry(V9hIoh;|EFc0*-#*`$T0DRQ1;WsqInG;YPS+I4{g zJGpKk%%Sdc5xBa$Q^_I~(F97eqDO7AN3EN0u)PNBAb+n+ zWBTxQx^;O9o0`=g+Zrt_{lP!sgWZHW?8bLYS$;1a@&7w9rD9|Ge;Gb?sEjFoF9-6v z#!2)t{DMHZ2@0W*fCx;62d#;jouz`R5Y(t{BT=$N4yr^^o$ON8d{PQ=!O zX17^CrdM~7D-;ZrC!||<+FEOxI_WI3CA<35va%4v>gc zEX-@h8esj=a4szW7x{0g$hwoWRQG$yK{@3mqd-jYiVofJE!Wok1* znV7Gm&Ssq#hFuvj1sRyHg(6PFA5U*Q8Rx>-blOs=lb`qa{zFy&n4xY;sd$fE+<3EI z##W$P9M{B3c3Si9gw^jlPU-JqD~Cye;wr=XkV7BSv#6}DrsXWFJ3eUNrc%7{=^sP> zrp)BWKA9<}^R9g!0q7yWlh;gr_TEOD|#BmGq<@IV;ueg+D2}cjpp+dPf&Q(36sFU&K8}hA85U61faW&{ zlB`9HUl-WWCG|<1XANN3JVAkRYvr5U4q6;!G*MTdSUt*Mi=z_y3B1A9j-@aK{lNvx zK%p23>M&=KTCgR!Ee8c?DAO2_R?B zkaqr6^BSP!8dHXxj%N1l+V$_%vzHjqvu7p@%Nl6;>y*S}M!B=pz=aqUV#`;h%M0rU zHfcog>kv3UZAEB*g7Er@t6CF8kHDmKTjO@rejA^ULqn!`LwrEwOVmHx^;g|5PHm#B zZ+jjWgjJ!043F+&#_;D*mz%Q60=L9Ove|$gU&~As5^uz@2-BfQ!bW)Khn}G+Wyjw- z19qI#oB(RSNydn0t~;tAmK!P-d{b-@@E5|cdgOS#!>%#Rj6ynkMvaW@37E>@hJP^8 z2zk8VXx|>#R^JCcWdBCy{0nPmYFOxN55#^-rlqobe0#L6)bi?E?SPymF*a5oDDeSd zO0gx?#KMoOd&G(2O@*W)HgX6y_aa6iMCl^~`{@UR`nMQE`>n_{_aY5nA}vqU8mt8H z`oa=g0SyiLd~BxAj2~l$zRSDHxvDs;I4>+M$W`HbJ|g&P+$!U7-PHX4RAcR0szJ*( ze-417=bO2q{492SWrqDK+L3#ChUHtz*@MP)e^%@>_&#Yk^1|tv@j4%3T)diEX zATx4K*hcO`sY$jk#jN5WD<=C3nvuVsRh||qDHnc~;Kf59zr0;c7VkVSUPD%NnnJC_ zl3F^#f_rDu8l}l8qcAz0FFa)EAt32IUy_JLIhU_J^l~FRH&6-ivSpG2PRqzDdMWft>Zc(c)#tb%wgmWN%>IOPm zZi-noqS!^Ftb81pRcQi`X#UhWK70hy4tGW1mz|+vI8c*h@ zfFGJtW3r>qV>1Z0r|L>7I3un^gcep$AAWfZHRvB|E*kktY$qQP_$YG60C@X~tTQjB3%@`uz!qxtxF+LE!+=nrS^07hn` zEgAp!h|r03h7B!$#OZW#ACD+M;-5J!W+{h|6I;5cNnE(Y863%1(oH}_FTW})8zYb$7czP zg~Szk1+_NTm6SJ0MS_|oSz%e(S~P-&SFp;!k?uFayytV$8HPwuyELSXOs^27XvK-D zOx-Dl!P|28DK6iX>p#Yb%3`A&CG0X2S43FjN%IB}q(!hC$fG}yl1y9W&W&I@KTg6@ zK^kpH8=yFuP+vI^+59|3%Zqnb5lTDAykf z9S#X`3N(X^SpdMyWQGOQRjhiwlj!0W-yD<3aEj^&X%=?`6lCy~?`&WSWt z?U~EKFcCG_RJ(Qp7j=$I%H8t)Z@6VjA#>1f@EYiS8MRHZphp zMA_5`znM=pzUpBPO)pXGYpQ6gkine{6u_o!P@Q+NKJ}k!_X7u|qfpAyIJb$_#3@wJ z<1SE2Edkfk9C!0t%}8Yio09^F`YGzpaJHGk*-ffsn85@)%4@`;Fv^8q(-Wk7r=Q8p zT&hD`5(f?M{gfzGbbwh8(}G#|#fDuk7v1W)5H9wkorE0ZZjL0Q1=NRGY>zwgfm81DdoaVwNH;or{{eSyybt)m<=zXoA^RALYG-2t zouH|L*BLvmm9cdMmn+KGopyR@4*=&0&4g|FLoreZOhRmh=)R0bg~ zT2(8V_q7~42-zvb)+y959OAv!V$u(O3)%Es0M@CRFmG{5sovIq4%8Ahjk#*5w{+)+ zMWQoJI_r$HxL5km1#6(e@{lK3Udc~n0@g`g$s?VrnQJ$!oPnb?IHh-1qA`Rz$)Ai< z6w$-MJW-gKNvOhL+XMbE7&mFt`x1KY>k4(!KbbpZ`>`K@1J<(#vVbjx@Z@(6Q}MF# zMnbr-f55(cTa^q4+#)=s+ThMaV~E`B8V=|W_fZWDwiso8tNMTNse)RNBGi=gVwgg% zbOg8>mbRN%7^Um-7oj4=6`$|(K7!+t^90a{$18Z>}<#!bm%ZEFQ{X(yBZMc>lCz0f1I2w9Sq zuGh<9<=AO&g6BZte6hn>Qmvv;Rt)*cJfTr2=~EnGD8P$v3R|&1RCl&7)b+`=QGapi zPbLg_pxm`+HZurtFZ;wZ=`Vk*do~$wB zxoW&=j0OTbQ=Q%S8XJ%~qoa3Ea|au5o}_(P;=!y-AjFrERh%8la!z6Fn@lR?^E~H12D?8#ht=1F;7@o4$Q8GDj;sSC%Jfn01xgL&%F2 zwG1|5ikb^qHv&9hT8w83+yv&BQXOQyMVJSBL(Ky~p)gU3#%|blG?IR9rP^zUbs7rOA0X52Ao=GRt@C&zlyjNLv-} z9?*x{y(`509qhCV*B47f2hLrGl^<@SuRGR!KwHei?!CM10Tq*YDIoBNyRuO*>3FU? zHjipIE#B~y3FSfOsMfj~F9PNr*H?0oHyYB^G(YyNh{SxcE(Y-`x5jFMKb~HO*m+R% zrq|ic4fzJ#USpTm;X7K+E%xsT_3VHKe?*uc4-FsILUH;kL>_okY(w`VU*8+l>o>Jm ziU#?2^`>arnsl#)*R&nf_%>A+qwl%o{l(u)M?DK1^mf260_oteV3#E_>6Y4!_hhVD zM8AI6MM2V*^_M^sQ0dmHu11fy^kOqXqzpr?K$`}BKWG`=Es(9&S@K@)ZjA{lj3ea7_MBP zk(|hBFRjHVMN!sNUkrB;(cTP)T97M$0Dtc&UXSec<+q?y>5=)}S~{Z@ua;1xt@=T5 zI7{`Z=z_X*no8s>mY;>BvEXK%b`a6(DTS6t&b!vf_z#HM{Uoy_5fiB(zpkF{})ruka$iX*~pq1ZxD?q68dIo zIZSVls9kFGsTwvr4{T_LidcWtt$u{kJlW7moRaH6+A5hW&;;2O#$oKyEN8kx`LmG)Wfq4ykh+q{I3|RfVpkR&QH_x;t41Uw z`P+tft^E2B$domKT@|nNW`EHwyj>&}K;eDpe z1bNOh=fvIfk`&B61+S8ND<(KC%>y&?>opCnY*r5M+!UrWKxv0_QvTlJc>X#AaI^xo zaRXL}t5Ej_Z$y*|w*$6D+A?Lw-CO-$itm^{2Ct82-<0IW)0KMNvJHgBrdsIR0v~=H z?n6^}l{D``Me90`^o|q!olsF?UX3YSq^6Vu>Ijm>>PaZI8G@<^NGw{Cx&%|PwYrfw zR!gX_%AR=L3BFsf8LxI|K^J}deh0ZdV?$3r--FEX`#INxsOG6_=!v)DI>0q|BxT)z z-G6kzA01M?rba+G_mwNMQD1mbVbNTWmBi*{s_v_Ft9m2Avg!^78(QFu&n6mbRJ2bA zv!b;%yo{g*9l2)>tsZJOOp}U~8VUH`}$ z8p_}t*XIOehezolNa-a2x0BS})Y9}&*TPgua{Ewn-=wVrmJUeU39EKx+%w%=ixQWK zDLpwaNJs65#6o7Ln7~~X+p_o2BR1g~VCfxLzxA{HlWAI6^H;`juI=&r1jQrUv_q0Z z1Ja-tjdktrrP>GOC*#p?*xfQU5MqjMsBe!9lh(u8)w$e@Z|>aUHI5o;MGw*|Myiz3 z-f0;pHg~Q#%*Kx8MxH%AluVXjG2C$)WL-K63@Q`#y9_k_+}eR(x4~dp7oV-ek0H>I zgy8p#i4GN{>#v=pFYUQT(g&b$OeTy-X_#FDgNF8XyfGY6R!>inYn8IR2RDa&O!(6< znXs{W!bkP|s_YI*Yx%4stI`=ZO45IK6rBs`g7sP40ic}GZ58s?Mc$&i`kq_tfci>N zIHrC0H+Qpam1bNa=(`SRKjixBTtm&e`j9porEci!zdlg1RI0Jw#b(_Tb@RQK1Zxr_ z%7SUeH6=TrXt3J@js`4iDD0=IoHhK~I7^W8^Rcp~Yaf>2wVe|Hh1bUpX9ATD#moByY57-f2Ef1TP^lBi&p5_s7WGG9|0T}dlfxOx zXvScJO1Cnq`c`~{Dp;{;l<-KkCDE+pmexJkd}zCgE{eF=)K``-qC~IT6GcRog_)!X z?fK^F8UDz$(zFUrwuR$qro5>qqn>+Z%<5>;_*3pZ8QM|yv9CAtrAx;($>4l^_$_-L z*&?(77!-=zvnCVW&kUcZMb6;2!83si518Y%R*A3JZ8Is|kUCMu`!vxDgaWjs7^0j( ziTaS4HhQ)ldR=r)_7vYFUr%THE}cPF{0H45FJ5MQW^+W>P+eEX2kLp3zzFe*-pFVA zdDZRybv?H|>`9f$AKVjFWJ=wegO7hOOIYCtd?Vj{EYLT*^gl35|HQ`R=ti+ADm{jyQE7K@kdjuqJhWVSks>b^ zxha88-h3s;%3_5b1TqFCPTxVjvuB5U>v=HyZ$?JSk+&I%)M7KE*wOg<)1-Iy)8-K! z^XpIt|0ibmk9RtMmlUd7#Ap3Q!q9N4atQy)TmrhrFhfx1DAN`^vq@Q_SRl|V z#lU<~n67$mT)NvHh`%als+G-)x1`Y%4Bp*6Un5Ri9h=_Db zA-AdP!f>f0m@~>7X#uBM?diI@)Egjuz@jXKvm zJo+==juc9_<;CqeRaU9_Mz@;3e=E4=6TK+c`|uu#pIqhSyNm`G(X)&)B`8q0RBv#> z`gGlw(Q=1Xmf55VHj%C#^1lpc>LY8kfA@|rlC1EA<1#`iuyNO z(=;irt{_&K=i4)^x%;U(Xv<)+o=dczC5H3W~+e|f~{*ucxj@{Yi-cw^MqYr3fN zF5D+~!wd$#al?UfMnz(@K#wn`_5na@rRr8XqN@&M&FGEC@`+OEv}sI1hw>Up0qAWf zL#e4~&oM;TVfjRE+10B_gFlLEP9?Q-dARr3xi6nQqnw>k-S;~b z;!0s2VS4}W8b&pGuK=7im+t(`nz@FnT#VD|!)eQNp-W6)@>aA+j~K*H{$G`y2|QHY z|Hmy+CR@#jWY4~)lr1qBJB_RfHJFfP<}pK5(#ZZGSqcpyS&}01LnTWk5fzmXMGHkJ zTP6L^B+uj;lmB_W<~4=${+v0>z31M!-_O@o-O9GyW)j_mjx}!0@br_LE-7SIuPP84 z;5=O(U*g_um0tyG|61N@d9lEuOeiRd+#NY^{nd5;-CVlw&Ap7J?qwM^?E29wvS}2d zbzar4Fz&RSR(-|s!Z6+za&Z zY#D<5q_JUktIzvL0)yq_kLWG6DO{ri=?c!y!f(Dk%G{8)k`Gym%j#!OgXVDD3;$&v@qy#ISJfp=Vm>pls@9-mapVQChAHHd-x+OGx)(*Yr zC1qDUTZ6mM(b_hi!TuFF2k#8uI2;kD70AQ&di$L*4P*Y-@p`jdm%_c3f)XhYD^6M8&#Y$ZpzQMcR|6nsH>b=*R_Von!$BTRj7yGCXokoAQ z&ANvx0-Epw`QIEPgI(^cS2f(Y85yV@ygI{ewyv5Frng)e}KCZF7JbR(&W618_dcEh(#+^zZFY;o<815<5sOHQdeax9_!PyM&;{P zkBa5xymca0#)c#tke@3KNEM8a_mT&1gm;p&&JlMGH(cL(b)BckgMQ^9&vRwj!~3@l zY?L5}=Jzr080OGKb|y`ee(+`flQg|!lo6>=H)X4`$Gz~hLmu2a%kYW_Uu8x09Pa0J zKZ`E$BKJ=2GPj_3l*TEcZ*uYRr<*J^#5pILTT;k_cgto1ZL-%slyc16J~OH-(RgDA z%;EjEnoUkZ&acS{Q8`{i6T5^nywgqQI5bDIymoa7CSZG|WWVk>GM9)zy*bNih|QIm z%0+(Nnc*a_xo;$=!HQYaapLms>J1ToyjtFByY`C2H1wT#178#4+|{H0BBqtCdd$L% z_3Hc60j@{t9~MjM@LBalR&6@>B;9?r<7J~F+WXyYu*y3?px*=8MAK@EA+jRX8{CG?GI-< z54?Dc9CAh>QTAvyOEm0^+x;r2BWX|{3$Y7)L5l*qVE*y0`7J>l2wCmW zL1?|a`pJ-l{fb_N;R(Z9UMiSj6pQjOvQ^%DvhIJF!+Th7jO2~1f1N+(-TyCFYQZYw z4)>7caf^Ki_KJ^Zx2JUb z&$3zJy!*+rCV4%jqwyuNY3j1ZEiltS0xTzd+=itTb;IPYpaf?8Y+RSdVdpacB(bVQ zC(JupLfFp8y43%PMj2}T|VS@%LVp>hv4Y!RPMF?pp8U_$xCJ)S zQx!69>bphNTIb9yn*_yfj{N%bY)t{L1cs8<8|!f$;UQ*}IN=2<6lA;x^(`8t?;+ST zh)z4qeYYgZkIy{$4x28O-pugO&gauRh3;lti9)9Pvw+^)0!h~%m&8Q!AKX%urEMnl z?yEz?g#ODn$UM`+Q#$Q!6|zsq_`dLO5YK-6bJM6ya>}H+vnW^h?o$z;V&wvuM$dR& zeEq;uUUh$XR`TWeC$$c&Jjau2it3#%J-y}Qm>nW*s?En?R&6w@sDXMEr#8~$=b(gk zwDC3)NtAP;M2BW_lL^5ShpK$D%@|BnD{=!Tq)o(5@z3i7Z){} zGr}Exom_qDO{kAVkZ*MbLNHE666Kina#D{&>Jy%~w7yX$oj;cYCd^p9zy z8*+wgSEcj$4{WxKmCF(5o7U4jqwEvO&dm1H#7z}%VXAbW&W24v-tS6N3}qrm1OnE)fUkoE8yMMn9S$?IswS88tQWm4#Oid#ckgr6 zRtHm!mfNl-`d>O*1~d7%;~n+{Rph6BBy^95zqI{K((E!iFQ+h*C3EsbxNo_aRm5gj zKYug($r*Q#W9`p%Bf{bi6;IY0v`pB^^qu)gbg9QHQ7 zWBj(a1YSu)~2RK8Pi#C>{DMlrqFb9e_RehEHyI{n?e3vL_}L>kYJC z_ly$$)zFi*SFyNrnOt(B*7E$??s67EO%DgoZL2XNk8iVx~X_)o++4oaK1M|ou73vA0K^503j@uuVmLcHH4ya-kOIDfM%5%(E z+Xpt~#7y2!KB&)PoyCA+$~DXqxPxxALy!g-O?<9+9KTk4Pgq4AIdUkl`1<1#j^cJg zgU3`0hkHj_jxV>`Y~%LAZl^3o0}`Sm@iw7kwff{M%VwtN)|~!p{AsfA6vB5UolF~d zHWS%*uBDt<9y!9v2Xe|au&1j&iR1HXCdyCjxSgG*L{wmTD4(NQ=mFjpa~xooc6kju z`~+d{j7$h-;HAB04H!Zscu^hZffL#9!p$)9>sRI|Yovm)g@F>ZnosF2EgkU3ln0bR zTA}|+E(tt)!SG)-bEJi_0m{l+(cAz^pi}`9=~n?y&;2eG;d9{M6nj>BHGn(KA2n|O zt}$=FPq!j`p&kQ8>cirSzkU0c08%8{^Qyqi-w2LoO8)^E7;;I1;HQ6B$u0nNaX2CY zSmfi)F`m94zL8>#zu;8|{aBui@RzRKBlP1&mfFxEC@%cjl?NBs`cr^nm){>;$g?rhKr$AO&6qV_Wbn^}5tfFBry^e1`%du2~o zs$~dN;S_#%iwwA_QvmMjh%Qo?0?rR~6liyN5Xmej8(*V9ym*T`xAhHih-v$7U}8=dfXi2i*aAB!xM(Xekg*ix@r|ymDw*{*s0?dlVys2e)z62u1 z+k3esbJE=-P5S$&KdFp+2H7_2e=}OKDrf( z9-207?6$@f4m4B+9E*e((Y89!q?zH|mz_vM>kp*HGXldO0Hg#!EtFhRuOm$u8e~a9 z5(roy7m$Kh+zjW6@zw{&20u?1f2uP&boD}$#Zy)4o&T;vyBoqFiF2t;*g=|1=)PxB z8eM3Mp=l_obbc?I^xyLz?4Y1YDWPa+nm;O<$Cn;@ane616`J9OO2r=rZr{I_Kizyc zP#^^WCdIEp*()rRT+*YZK>V@^Zs=ht32x>Kwe zab)@ZEffz;VM4{XA6e421^h~`ji5r%)B{wZu#hD}f3$y@L0JV9f3g{-RK!A?vBUA}${YF(vO4)@`6f1 z-A|}e#LN{)(eXloDnX4Vs7eH|<@{r#LodP@Nz--$Dg_Par%DCpu2>2jUnqy~|J?eZ zBG4FVsz_A+ibdwv>mLp>P!(t}E>$JGaK$R~;fb{O3($y1ssQQo|5M;^JqC?7qe|hg zu0ZOqeFcp?qVn&Qu7FQJ4hcFi&|nR!*j)MF#b}QO^lN%5)4p*D^H+B){n8%VPUzi! zDihoGcP71a6!ab`l^hK&*dYrVYzJ0)#}xVrp!e;lI!+x+bfCN0KXwUAPU9@#l7@0& QuEJmfE|#`Dqx|px0L@K;Y5)KL literal 0 HcmV?d00001 diff --git a/buildSrc/gradle/wrapper/gradle-wrapper.properties b/buildSrc/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..e750102 --- /dev/null +++ b/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/buildSrc/src/main/graphql/org/springframework/security/convention/versions/CreateIssue.graphql b/buildSrc/src/main/graphql/org/springframework/security/convention/versions/CreateIssue.graphql new file mode 100644 index 0000000..b86498b --- /dev/null +++ b/buildSrc/src/main/graphql/org/springframework/security/convention/versions/CreateIssue.graphql @@ -0,0 +1,7 @@ +mutation CreateIssueInput($assigneeId: ID!, $labelIds: [ID!], $milestoneId: ID!, $repositoryId: ID!, $title: String!) { + createIssue(input: {assigneeIds: [$assigneeId], labelIds: $labelIds, milestoneId: $milestoneId, projectIds: [], repositoryId: $repositoryId, title: $title}) { + issue { + number + } + } +} diff --git a/buildSrc/src/main/graphql/org/springframework/security/convention/versions/FindCreateIssueInput.graphql b/buildSrc/src/main/graphql/org/springframework/security/convention/versions/FindCreateIssueInput.graphql new file mode 100644 index 0000000..275fa19 --- /dev/null +++ b/buildSrc/src/main/graphql/org/springframework/security/convention/versions/FindCreateIssueInput.graphql @@ -0,0 +1,20 @@ +query FindCreateIssueInput($owner: String!, $name: String!, $labelQuery: String, $milestoneName: String) { + repository(owner: $owner, name: $name) { + id + labels(query: $labelQuery, first: 1) { + nodes { + id + name + } + } + milestones(query: $milestoneName, states: [OPEN], first: 1) { + nodes { + id + title + } + } + } + viewer { + id + } +} diff --git a/buildSrc/src/main/graphql/org/springframework/security/convention/versions/RateLimit.graphql b/buildSrc/src/main/graphql/org/springframework/security/convention/versions/RateLimit.graphql new file mode 100644 index 0000000..a967639 --- /dev/null +++ b/buildSrc/src/main/graphql/org/springframework/security/convention/versions/RateLimit.graphql @@ -0,0 +1,8 @@ +query RateLimit { + rateLimit { + limit + cost + remaining + resetAt + } +} diff --git a/buildSrc/src/main/graphql/org/springframework/security/convention/versions/schema.json b/buildSrc/src/main/graphql/org/springframework/security/convention/versions/schema.json new file mode 100644 index 0000000..f04bf4e --- /dev/null +++ b/buildSrc/src/main/graphql/org/springframework/security/convention/versions/schema.json @@ -0,0 +1 @@ +{"data":{"__schema":{"queryType":{"name":"Query"},"mutationType":{"name":"Mutation"},"subscriptionType":null,"types":[{"kind":"INPUT_OBJECT","name":"AcceptEnterpriseAdministratorInvitationInput","description":"Autogenerated input type of AcceptEnterpriseAdministratorInvitation","fields":null,"inputFields":[{"name":"invitationId","description":"The id of the invitation being accepted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AcceptEnterpriseAdministratorInvitationPayload","description":"Autogenerated return type of AcceptEnterpriseAdministratorInvitation","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"invitation","description":"The invitation that was accepted.","args":[],"type":{"kind":"OBJECT","name":"EnterpriseAdministratorInvitation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of accepting an administrator invitation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AcceptTopicSuggestionInput","description":"Autogenerated input type of AcceptTopicSuggestion","fields":null,"inputFields":[{"name":"repositoryId","description":"The Node ID of the repository.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":"The name of the suggested topic.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AcceptTopicSuggestionPayload","description":"Autogenerated return type of AcceptTopicSuggestion","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"topic","description":"The accepted topic.","args":[],"type":{"kind":"OBJECT","name":"Topic","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"Actor","description":"Represents an object which can take actions on GitHub. Typically a User or Bot.","fields":[{"name":"avatarUrl","description":"A URL pointing to the actor's public avatar.","args":[{"name":"size","description":"The size of the resulting square image.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"login","description":"The username of the actor.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this actor.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this actor.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Bot","ofType":null},{"kind":"OBJECT","name":"EnterpriseUserAccount","ofType":null},{"kind":"OBJECT","name":"Mannequin","ofType":null},{"kind":"OBJECT","name":"Organization","ofType":null},{"kind":"OBJECT","name":"User","ofType":null}]},{"kind":"OBJECT","name":"ActorLocation","description":"Location information for an actor","fields":[{"name":"city","description":"City","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"country","description":"Country name","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"countryCode","description":"Country code","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"region","description":"Region name","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"regionCode","description":"Region or state code","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AddAssigneesToAssignableInput","description":"Autogenerated input type of AddAssigneesToAssignable","fields":null,"inputFields":[{"name":"assignableId","description":"The id of the assignable object to add assignees to.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"assigneeIds","description":"The id of users to add as assignees.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AddAssigneesToAssignablePayload","description":"Autogenerated return type of AddAssigneesToAssignable","fields":[{"name":"assignable","description":"The item that was assigned.","args":[],"type":{"kind":"INTERFACE","name":"Assignable","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AddCommentInput","description":"Autogenerated input type of AddComment","fields":null,"inputFields":[{"name":"subjectId","description":"The Node ID of the subject to modify.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"body","description":"The contents of the comment.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AddCommentPayload","description":"Autogenerated return type of AddComment","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"commentEdge","description":"The edge from the subject's comment connection.","args":[],"type":{"kind":"OBJECT","name":"IssueCommentEdge","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"subject","description":"The subject","args":[],"type":{"kind":"INTERFACE","name":"Node","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"timelineEdge","description":"The edge from the subject's timeline connection.","args":[],"type":{"kind":"OBJECT","name":"IssueTimelineItemEdge","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AddEnterpriseSupportEntitlementInput","description":"Autogenerated input type of AddEnterpriseSupportEntitlement","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the Enterprise which the admin belongs to.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"login","description":"The login of a member who will receive the support entitlement.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AddEnterpriseSupportEntitlementPayload","description":"Autogenerated return type of AddEnterpriseSupportEntitlement","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of adding the support entitlement.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AddLabelsToLabelableInput","description":"Autogenerated input type of AddLabelsToLabelable","fields":null,"inputFields":[{"name":"labelableId","description":"The id of the labelable object to add labels to.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"labelIds","description":"The ids of the labels to add.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AddLabelsToLabelablePayload","description":"Autogenerated return type of AddLabelsToLabelable","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"labelable","description":"The item that was labeled.","args":[],"type":{"kind":"INTERFACE","name":"Labelable","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AddProjectCardInput","description":"Autogenerated input type of AddProjectCard","fields":null,"inputFields":[{"name":"projectColumnId","description":"The Node ID of the ProjectColumn.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"contentId","description":"The content of the card. Must be a member of the ProjectCardItem union","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"note","description":"The note on the card.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AddProjectCardPayload","description":"Autogenerated return type of AddProjectCard","fields":[{"name":"cardEdge","description":"The edge from the ProjectColumn's card connection.","args":[],"type":{"kind":"OBJECT","name":"ProjectCardEdge","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"projectColumn","description":"The ProjectColumn","args":[],"type":{"kind":"OBJECT","name":"ProjectColumn","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AddProjectColumnInput","description":"Autogenerated input type of AddProjectColumn","fields":null,"inputFields":[{"name":"projectId","description":"The Node ID of the project.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":"The name of the column.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AddProjectColumnPayload","description":"Autogenerated return type of AddProjectColumn","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"columnEdge","description":"The edge from the project's column connection.","args":[],"type":{"kind":"OBJECT","name":"ProjectColumnEdge","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"project","description":"The project","args":[],"type":{"kind":"OBJECT","name":"Project","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AddPullRequestReviewCommentInput","description":"Autogenerated input type of AddPullRequestReviewComment","fields":null,"inputFields":[{"name":"pullRequestId","description":"The node ID of the pull request reviewing","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"pullRequestReviewId","description":"The Node ID of the review to modify.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"commitOID","description":"The SHA of the commit to comment on.","type":{"kind":"SCALAR","name":"GitObjectID","ofType":null},"defaultValue":null},{"name":"body","description":"The text of the comment.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"path","description":"The relative path of the file to comment on.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"position","description":"The line index in the diff to comment on.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"inReplyTo","description":"The comment id to reply to.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AddPullRequestReviewCommentPayload","description":"Autogenerated return type of AddPullRequestReviewComment","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"comment","description":"The newly created comment.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReviewComment","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"commentEdge","description":"The edge from the review's comment connection.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReviewCommentEdge","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AddPullRequestReviewInput","description":"Autogenerated input type of AddPullRequestReview","fields":null,"inputFields":[{"name":"pullRequestId","description":"The Node ID of the pull request to modify.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"commitOID","description":"The commit OID the review pertains to.","type":{"kind":"SCALAR","name":"GitObjectID","ofType":null},"defaultValue":null},{"name":"body","description":"The contents of the review body comment.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"event","description":"The event to perform on the pull request review.","type":{"kind":"ENUM","name":"PullRequestReviewEvent","ofType":null},"defaultValue":null},{"name":"comments","description":"The review line comments.","type":{"kind":"LIST","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DraftPullRequestReviewComment","ofType":null}},"defaultValue":null},{"name":"threads","description":"The review line comment threads.","type":{"kind":"LIST","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DraftPullRequestReviewThread","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AddPullRequestReviewPayload","description":"Autogenerated return type of AddPullRequestReview","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequestReview","description":"The newly created pull request review.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReview","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reviewEdge","description":"The edge from the pull request's review connection.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReviewEdge","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AddPullRequestReviewThreadInput","description":"Autogenerated input type of AddPullRequestReviewThread","fields":null,"inputFields":[{"name":"path","description":"Path to the file being commented on.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"body","description":"Body of the thread's first comment.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"pullRequestId","description":"The node ID of the pull request reviewing","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"pullRequestReviewId","description":"The Node ID of the review to modify.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"line","description":"The line of the blob to which the thread refers. The end of the line range for multi-line comments.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null},{"name":"side","description":"The side of the diff on which the line resides. For multi-line comments, this is the side for the end of the line range.","type":{"kind":"ENUM","name":"DiffSide","ofType":null},"defaultValue":"RIGHT"},{"name":"startLine","description":"The first line of the range to which the comment refers.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"startSide","description":"The side of the diff on which the start line resides.","type":{"kind":"ENUM","name":"DiffSide","ofType":null},"defaultValue":"RIGHT"},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AddPullRequestReviewThreadPayload","description":"Autogenerated return type of AddPullRequestReviewThread","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"thread","description":"The newly created thread.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReviewThread","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AddReactionInput","description":"Autogenerated input type of AddReaction","fields":null,"inputFields":[{"name":"subjectId","description":"The Node ID of the subject to modify.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"content","description":"The name of the emoji to react with.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ReactionContent","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AddReactionPayload","description":"Autogenerated return type of AddReaction","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reaction","description":"The reaction object.","args":[],"type":{"kind":"OBJECT","name":"Reaction","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"subject","description":"The reactable subject.","args":[],"type":{"kind":"INTERFACE","name":"Reactable","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AddStarInput","description":"Autogenerated input type of AddStar","fields":null,"inputFields":[{"name":"starrableId","description":"The Starrable ID to star.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AddStarPayload","description":"Autogenerated return type of AddStar","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"starrable","description":"The starrable.","args":[],"type":{"kind":"INTERFACE","name":"Starrable","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AddVerifiableDomainInput","description":"Autogenerated input type of AddVerifiableDomain","fields":null,"inputFields":[{"name":"ownerId","description":"The ID of the owner to add the domain to","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"domain","description":"The URL of the domain","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AddVerifiableDomainPayload","description":"Autogenerated return type of AddVerifiableDomain","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"domain","description":"The verifiable domain that was added.","args":[],"type":{"kind":"OBJECT","name":"VerifiableDomain","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AddedToProjectEvent","description":"Represents a 'added_to_project' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"App","description":"A GitHub App.","fields":[{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":"The description of the app.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"logoBackgroundColor","description":"The hex color code, without the leading '#', for the logo background.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"logoUrl","description":"A URL pointing to the app's logo.","args":[{"name":"size","description":"The size of the resulting image.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The name of the app.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":"A slug based on the name of the app for use in URLs.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The URL to the app's homepage.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ApproveVerifiableDomainInput","description":"Autogenerated input type of ApproveVerifiableDomain","fields":null,"inputFields":[{"name":"id","description":"The ID of the verifiable domain to approve.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ApproveVerifiableDomainPayload","description":"Autogenerated return type of ApproveVerifiableDomain","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"domain","description":"The verifiable domain that was approved.","args":[],"type":{"kind":"OBJECT","name":"VerifiableDomain","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ArchiveRepositoryInput","description":"Autogenerated input type of ArchiveRepository","fields":null,"inputFields":[{"name":"repositoryId","description":"The ID of the repository to mark as archived.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ArchiveRepositoryPayload","description":"Autogenerated return type of ArchiveRepository","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository that was marked as archived.","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"Assignable","description":"An object that can have users assigned to it.","fields":[{"name":"assignees","description":"A list of Users assigned to this object.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"UserConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null}]},{"kind":"OBJECT","name":"AssignedEvent","description":"Represents an 'assigned' event on any assignable object.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"assignable","description":"Identifies the assignable associated with the event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Assignable","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"assignee","description":"Identifies the user or mannequin that was assigned.","args":[],"type":{"kind":"UNION","name":"Assignee","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"Identifies the user who was assigned.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":true,"deprecationReason":"Assignees can now be mannequins. Use the `assignee` field instead. Removal on 2020-01-01 UTC."}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"Assignee","description":"Types that can be assigned to issues.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Bot","ofType":null},{"kind":"OBJECT","name":"Mannequin","ofType":null},{"kind":"OBJECT","name":"Organization","ofType":null},{"kind":"OBJECT","name":"User","ofType":null}]},{"kind":"INTERFACE","name":"AuditEntry","description":"An entry in the audit log.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"MembersCanDeleteReposClearAuditEntry","ofType":null},{"kind":"OBJECT","name":"MembersCanDeleteReposDisableAuditEntry","ofType":null},{"kind":"OBJECT","name":"MembersCanDeleteReposEnableAuditEntry","ofType":null},{"kind":"OBJECT","name":"OauthApplicationCreateAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgAddBillingManagerAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgAddMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgBlockUserAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgConfigDisableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgConfigEnableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgCreateAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgDisableOauthAppRestrictionsAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgDisableSamlAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgDisableTwoFactorRequirementAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgEnableOauthAppRestrictionsAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgEnableSamlAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgEnableTwoFactorRequirementAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgInviteMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgInviteToBusinessAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgOauthAppAccessApprovedAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgOauthAppAccessDeniedAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgOauthAppAccessRequestedAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgRemoveBillingManagerAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgRemoveMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgRemoveOutsideCollaboratorAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgRestoreMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUnblockUserAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUpdateDefaultRepositoryPermissionAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUpdateMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUpdateMemberRepositoryCreationPermissionAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUpdateMemberRepositoryInvitationPermissionAuditEntry","ofType":null},{"kind":"OBJECT","name":"PrivateRepositoryForkingDisableAuditEntry","ofType":null},{"kind":"OBJECT","name":"PrivateRepositoryForkingEnableAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoAddMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoAddTopicAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoArchivedAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoChangeMergeSettingAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableContributorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableSockpuppetDisallowedAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableContributorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableSockpuppetDisallowedAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigLockAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigUnlockAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoCreateAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoDestroyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoRemoveMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoRemoveTopicAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepositoryVisibilityChangeDisableAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepositoryVisibilityChangeEnableAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamAddMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamAddRepositoryAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamChangeParentTeamAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamRemoveMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamRemoveRepositoryAuditEntry","ofType":null}]},{"kind":"UNION","name":"AuditEntryActor","description":"Types that can initiate an audit log event.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Bot","ofType":null},{"kind":"OBJECT","name":"Organization","ofType":null},{"kind":"OBJECT","name":"User","ofType":null}]},{"kind":"INPUT_OBJECT","name":"AuditLogOrder","description":"Ordering options for Audit Log connections.","fields":null,"inputFields":[{"name":"field","description":"The field to order Audit Logs by.","type":{"kind":"ENUM","name":"AuditLogOrderField","ofType":null},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"ENUM","name":"OrderDirection","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"AuditLogOrderField","description":"Properties by which Audit Log connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order audit log entries by timestamp","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"AutoMergeDisabledEvent","description":"Represents a 'auto_merge_disabled' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"disabler","description":"The user who disabled auto-merge for this Pull Request","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reason","description":"The reason auto-merge was disabled","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reasonCode","description":"The reason_code relating to why auto-merge was disabled","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AutoMergeEnabledEvent","description":"Represents a 'auto_merge_enabled' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabler","description":"The user who enabled auto-merge for this Pull Request","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AutoMergeRequest","description":"Represents an auto-merge request for a pull request","fields":[{"name":"authorEmail","description":"The email address of the author of this auto-merge request.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"commitBody","description":"The commit message of the auto-merge request.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"commitHeadline","description":"The commit title of the auto-merge request.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enabledAt","description":"When was this auto-merge request was enabled.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enabledBy","description":"The actor who created the auto-merge request.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"mergeMethod","description":"The merge method of the auto-merge request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PullRequestMergeMethod","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The pull request that this auto-merge request is set against.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AutoRebaseEnabledEvent","description":"Represents a 'auto_rebase_enabled' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabler","description":"The user who enabled auto-merge (rebase) for this Pull Request","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AutoSquashEnabledEvent","description":"Represents a 'auto_squash_enabled' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabler","description":"The user who enabled auto-merge (squash) for this Pull Request","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AutomaticBaseChangeFailedEvent","description":"Represents a 'automatic_base_change_failed' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"newBase","description":"The new base for this PR","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"oldBase","description":"The old base for this PR","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AutomaticBaseChangeSucceededEvent","description":"Represents a 'automatic_base_change_succeeded' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"newBase","description":"The new base for this PR","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"oldBase","description":"The old base for this PR","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"BaseRefChangedEvent","description":"Represents a 'base_ref_changed' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currentRefName","description":"Identifies the name of the base ref for the pull request after it was changed.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"previousRefName","description":"Identifies the name of the base ref for the pull request before it was changed.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"BaseRefDeletedEvent","description":"Represents a 'base_ref_deleted' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"baseRefName","description":"Identifies the name of the Ref associated with the `base_ref_deleted` event.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"BaseRefForcePushedEvent","description":"Represents a 'base_ref_force_pushed' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"afterCommit","description":"Identifies the after commit SHA for the 'base_ref_force_pushed' event.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"beforeCommit","description":"Identifies the before commit SHA for the 'base_ref_force_pushed' event.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"ref","description":"Identifies the fully qualified ref name for the 'base_ref_force_pushed' event.","args":[],"type":{"kind":"OBJECT","name":"Ref","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Blame","description":"Represents a Git blame.","fields":[{"name":"ranges","description":"The list of ranges from a Git blame.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"BlameRange","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"BlameRange","description":"Represents a range of information from a Git blame.","fields":[{"name":"age","description":"Identifies the recency of the change, from 1 (new) to 10 (old). This is calculated as a 2-quantile and determines the length of distance between the median age of all the changes in the file and the recency of the current range's change.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commit","description":"Identifies the line author","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Commit","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"endingLine","description":"The ending line for the range","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"startingLine","description":"The starting line for the range","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Blob","description":"Represents a Git blob.","fields":[{"name":"abbreviatedOid","description":"An abbreviated version of the Git object ID","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"byteSize","description":"Byte size of Blob object","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commitResourcePath","description":"The HTTP path for this Git object","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commitUrl","description":"The HTTP URL for this Git object","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isBinary","description":"Indicates whether the Blob is binary or text. Returns null if unable to determine the encoding.","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"isTruncated","description":"Indicates whether the contents is truncated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"oid","description":"The Git object ID","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"GitObjectID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The Repository the Git object belongs to","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"text","description":"UTF8 text data or null if the Blob is binary","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"GitObject","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Boolean","description":"Represents `true` or `false` values.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Bot","description":"A special type of user which takes actions on behalf of GitHub Apps.","fields":[{"name":"avatarUrl","description":"A URL pointing to the GitHub App's public avatar.","args":[{"name":"size","description":"The size of the resulting square image.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"login","description":"The username of the actor.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this bot","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this bot","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Actor","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"BranchProtectionRule","description":"A branch protection rule.","fields":[{"name":"allowsDeletions","description":"Can this branch be deleted.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"allowsForcePushes","description":"Are force pushes allowed on this branch.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"branchProtectionRuleConflicts","description":"A list of conflicts matching branches protection rule and other branch protection rules","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"BranchProtectionRuleConflictConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"creator","description":"The actor who created this branch protection rule.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"dismissesStaleReviews","description":"Will new commits pushed to matching branches dismiss pull request review approvals.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isAdminEnforced","description":"Can admins overwrite branch protection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"matchingRefs","description":"Repository refs that are protected by this rule","args":[{"name":"query","description":"Filters refs with query on name","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"RefConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pattern","description":"Identifies the protection rule pattern.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pushAllowances","description":"A list push allowances for this branch protection rule.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PushAllowanceConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with this branch protection rule.","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"requiredApprovingReviewCount","description":"Number of approving reviews required to update matching branches.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"requiredStatusCheckContexts","description":"List of required status check contexts that must pass for commits to be accepted to matching branches.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"requiresApprovingReviews","description":"Are approving reviews required to update matching branches.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"requiresCodeOwnerReviews","description":"Are reviews from code owners required to update matching branches.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"requiresCommitSignatures","description":"Are commits required to be signed.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"requiresLinearHistory","description":"Are merge commits prohibited from being pushed to this branch.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"requiresStatusChecks","description":"Are status checks required to update matching branches.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"requiresStrictStatusChecks","description":"Are branches required to be up to date before merging.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"restrictsPushes","description":"Is pushing to matching branches restricted.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"restrictsReviewDismissals","description":"Is dismissal of pull request reviews restricted.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"reviewDismissalAllowances","description":"A list review dismissal allowances for this branch protection rule.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReviewDismissalAllowanceConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"BranchProtectionRuleConflict","description":"A conflict between two branch protection rules.","fields":[{"name":"branchProtectionRule","description":"Identifies the branch protection rule.","args":[],"type":{"kind":"OBJECT","name":"BranchProtectionRule","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"conflictingBranchProtectionRule","description":"Identifies the conflicting branch protection rule.","args":[],"type":{"kind":"OBJECT","name":"BranchProtectionRule","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"ref","description":"Identifies the branch ref that has conflicting rules","args":[],"type":{"kind":"OBJECT","name":"Ref","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"BranchProtectionRuleConflictConnection","description":"The connection type for BranchProtectionRuleConflict.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"BranchProtectionRuleConflictEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"BranchProtectionRuleConflict","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"BranchProtectionRuleConflictEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"BranchProtectionRuleConflict","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"BranchProtectionRuleConnection","description":"The connection type for BranchProtectionRule.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"BranchProtectionRuleEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"BranchProtectionRule","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"BranchProtectionRuleEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"BranchProtectionRule","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CVSS","description":"The Common Vulnerability Scoring System","fields":[{"name":"score","description":"The CVSS score associated with this advisory","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"vectorString","description":"The CVSS vector string associated with this advisory","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CWE","description":"A common weakness enumeration","fields":[{"name":"cweId","description":"The id of the CWE","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":"A detailed description of this CWE","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":"ID of the object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The name of this CWE","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CWEConnection","description":"The connection type for CWE.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CWEEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CWE","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CWEEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"CWE","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CancelEnterpriseAdminInvitationInput","description":"Autogenerated input type of CancelEnterpriseAdminInvitation","fields":null,"inputFields":[{"name":"invitationId","description":"The Node ID of the pending enterprise administrator invitation.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CancelEnterpriseAdminInvitationPayload","description":"Autogenerated return type of CancelEnterpriseAdminInvitation","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"invitation","description":"The invitation that was canceled.","args":[],"type":{"kind":"OBJECT","name":"EnterpriseAdministratorInvitation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of canceling an administrator invitation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ChangeUserStatusInput","description":"Autogenerated input type of ChangeUserStatus","fields":null,"inputFields":[{"name":"emoji","description":"The emoji to represent your status. Can either be a native Unicode emoji or an emoji name with colons, e.g., :grinning:.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"message","description":"A short description of your current status.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"organizationId","description":"The ID of the organization whose members will be allowed to see the status. If omitted, the status will be publicly visible.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"limitedAvailability","description":"Whether this status should indicate you are not fully available on GitHub, e.g., you are away.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"expiresAt","description":"If set, the user status will not be shown after this date.","type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ChangeUserStatusPayload","description":"Autogenerated return type of ChangeUserStatus","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"status","description":"Your updated status.","args":[],"type":{"kind":"OBJECT","name":"UserStatus","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CheckAnnotation","description":"A single check annotation.","fields":[{"name":"annotationLevel","description":"The annotation's severity level.","args":[],"type":{"kind":"ENUM","name":"CheckAnnotationLevel","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"blobUrl","description":"The path to the file that this annotation was made on.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"location","description":"The position of this annotation.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CheckAnnotationSpan","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"The annotation's message.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"path","description":"The path that this annotation was made on.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"rawDetails","description":"Additional information about the annotation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"title","description":"The annotation's title","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CheckAnnotationConnection","description":"The connection type for CheckAnnotation.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CheckAnnotationEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CheckAnnotation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CheckAnnotationData","description":"Information from a check run analysis to specific lines of code.","fields":null,"inputFields":[{"name":"path","description":"The path of the file to add an annotation to.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"location","description":"The location of the annotation","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CheckAnnotationRange","ofType":null}},"defaultValue":null},{"name":"annotationLevel","description":"Represents an annotation's information level","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CheckAnnotationLevel","ofType":null}},"defaultValue":null},{"name":"message","description":"A short description of the feedback for these lines of code.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"title","description":"The title that represents the annotation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"rawDetails","description":"Details about this annotation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CheckAnnotationEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"CheckAnnotation","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"CheckAnnotationLevel","description":"Represents an annotation's information level.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"FAILURE","description":"An annotation indicating an inescapable error.","isDeprecated":false,"deprecationReason":null},{"name":"NOTICE","description":"An annotation indicating some information.","isDeprecated":false,"deprecationReason":null},{"name":"WARNING","description":"An annotation indicating an ignorable error.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"CheckAnnotationPosition","description":"A character position in a check annotation.","fields":[{"name":"column","description":"Column number (1 indexed).","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"line","description":"Line number (1 indexed).","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CheckAnnotationRange","description":"Information from a check run analysis to specific lines of code.","fields":null,"inputFields":[{"name":"startLine","description":"The starting line of the range.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null},{"name":"startColumn","description":"The starting column of the range.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"endLine","description":"The ending line of the range.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null},{"name":"endColumn","description":"The ending column of the range.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CheckAnnotationSpan","description":"An inclusive pair of positions for a check annotation.","fields":[{"name":"end","description":"End position (inclusive).","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CheckAnnotationPosition","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"start","description":"Start position (inclusive).","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CheckAnnotationPosition","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"CheckConclusionState","description":"The possible states for a check suite or run conclusion.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ACTION_REQUIRED","description":"The check suite or run requires action.","isDeprecated":false,"deprecationReason":null},{"name":"TIMED_OUT","description":"The check suite or run has timed out.","isDeprecated":false,"deprecationReason":null},{"name":"CANCELLED","description":"The check suite or run has been cancelled.","isDeprecated":false,"deprecationReason":null},{"name":"FAILURE","description":"The check suite or run has failed.","isDeprecated":false,"deprecationReason":null},{"name":"SUCCESS","description":"The check suite or run has succeeded.","isDeprecated":false,"deprecationReason":null},{"name":"NEUTRAL","description":"The check suite or run was neutral.","isDeprecated":false,"deprecationReason":null},{"name":"SKIPPED","description":"The check suite or run was skipped.","isDeprecated":false,"deprecationReason":null},{"name":"STARTUP_FAILURE","description":"The check suite or run has failed at startup.","isDeprecated":false,"deprecationReason":null},{"name":"STALE","description":"The check suite or run was marked stale by GitHub. Only GitHub can use this conclusion.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"CheckRun","description":"A check run.","fields":[{"name":"annotations","description":"The check run's annotations","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CheckAnnotationConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"checkSuite","description":"The check suite that this run is a part of.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CheckSuite","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"completedAt","description":"Identifies the date and time when the check run was completed.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"conclusion","description":"The conclusion of the check run.","args":[],"type":{"kind":"ENUM","name":"CheckConclusionState","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"detailsUrl","description":"The URL from which to find full details of the check run on the integrator's site.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"externalId","description":"A reference for the check run on the integrator's system.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isRequired","description":"Whether this is required to pass before merging for a specific pull request.","args":[{"name":"pullRequestId","description":"The id of the pull request this is required for","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"pullRequestNumber","description":"The number of the pull request this is required for","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The name of the check for this check run.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"permalink","description":"The permalink to the check run summary.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with this check run.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this check run.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"startedAt","description":"Identifies the date and time when the check run was started.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"status","description":"The current status of the check run.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CheckStatusState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"summary","description":"A string representing the check run's summary","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"text","description":"A string representing the check run's text","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"title","description":"A string representing the check run","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this check run.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null},{"kind":"INTERFACE","name":"RequirableByPullRequest","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CheckRunAction","description":"Possible further actions the integrator can perform.","fields":null,"inputFields":[{"name":"label","description":"The text to be displayed on a button in the web UI.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"description","description":"A short explanation of what this action would do.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"identifier","description":"A reference for the action on the integrator's system. ","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CheckRunConnection","description":"The connection type for CheckRun.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CheckRunEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CheckRun","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CheckRunEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"CheckRun","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CheckRunFilter","description":"The filters that are available when fetching check runs.","fields":null,"inputFields":[{"name":"checkType","description":"Filters the check runs by this type.","type":{"kind":"ENUM","name":"CheckRunType","ofType":null},"defaultValue":null},{"name":"appId","description":"Filters the check runs created by this application ID.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"checkName","description":"Filters the check runs by this name.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"status","description":"Filters the check runs by this status.","type":{"kind":"ENUM","name":"CheckStatusState","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CheckRunOutput","description":"Descriptive details about the check run.","fields":null,"inputFields":[{"name":"title","description":"A title to provide for this check run.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"summary","description":"The summary of the check run (supports Commonmark).","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"text","description":"The details of the check run (supports Commonmark).","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"annotations","description":"The annotations that are made as part of the check run.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CheckAnnotationData","ofType":null}}},"defaultValue":null},{"name":"images","description":"Images attached to the check run output displayed in the GitHub pull request UI.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CheckRunOutputImage","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CheckRunOutputImage","description":"Images attached to the check run output displayed in the GitHub pull request UI.","fields":null,"inputFields":[{"name":"alt","description":"The alternative text for the image.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"imageUrl","description":"The full URL of the image.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"defaultValue":null},{"name":"caption","description":"A short image description.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"CheckRunType","description":"The possible types of check runs.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ALL","description":"Every check run available.","isDeprecated":false,"deprecationReason":null},{"name":"LATEST","description":"The latest check run.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"CheckStatusState","description":"The possible states for a check suite or run status.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"QUEUED","description":"The check suite or run has been queued.","isDeprecated":false,"deprecationReason":null},{"name":"IN_PROGRESS","description":"The check suite or run is in progress.","isDeprecated":false,"deprecationReason":null},{"name":"COMPLETED","description":"The check suite or run has been completed.","isDeprecated":false,"deprecationReason":null},{"name":"WAITING","description":"The check suite or run is in waiting state.","isDeprecated":false,"deprecationReason":null},{"name":"REQUESTED","description":"The check suite or run has been requested.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"CheckSuite","description":"A check suite.","fields":[{"name":"app","description":"The GitHub App which created this check suite.","args":[],"type":{"kind":"OBJECT","name":"App","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"branch","description":"The name of the branch for this check suite.","args":[],"type":{"kind":"OBJECT","name":"Ref","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"checkRuns","description":"The check runs associated with a check suite.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"filterBy","description":"Filters the check runs by this type.","type":{"kind":"INPUT_OBJECT","name":"CheckRunFilter","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CheckRunConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"commit","description":"The commit for this check suite","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Commit","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"conclusion","description":"The conclusion of this check suite.","args":[],"type":{"kind":"ENUM","name":"CheckConclusionState","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"matchingPullRequests","description":"A list of open pull requests matching the check suite.","args":[{"name":"states","description":"A list of states to filter the pull requests by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PullRequestState","ofType":null}}},"defaultValue":null},{"name":"labels","description":"A list of label names to filter the pull requests by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"headRefName","description":"The head ref name to filter the pull requests by.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"baseRefName","description":"The base ref name to filter the pull requests by.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for pull requests returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"IssueOrder","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"PullRequestConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"push","description":"The push that triggered this check suite.","args":[],"type":{"kind":"OBJECT","name":"Push","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with this check suite.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this check suite","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"status","description":"The status of this check suite.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CheckStatusState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this check suite","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CheckSuiteAutoTriggerPreference","description":"The auto-trigger preferences that are available for check suites.","fields":null,"inputFields":[{"name":"appId","description":"The node ID of the application that owns the check suite.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"setting","description":"Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CheckSuiteConnection","description":"The connection type for CheckSuite.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CheckSuiteEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CheckSuite","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CheckSuiteEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"CheckSuite","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CheckSuiteFilter","description":"The filters that are available when fetching check suites.","fields":null,"inputFields":[{"name":"appId","description":"Filters the check suites created by this application ID.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"checkName","description":"Filters the check suites by this name.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ClearLabelsFromLabelableInput","description":"Autogenerated input type of ClearLabelsFromLabelable","fields":null,"inputFields":[{"name":"labelableId","description":"The id of the labelable object to clear the labels from.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ClearLabelsFromLabelablePayload","description":"Autogenerated return type of ClearLabelsFromLabelable","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"labelable","description":"The item that was unlabeled.","args":[],"type":{"kind":"INTERFACE","name":"Labelable","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CloneProjectInput","description":"Autogenerated input type of CloneProject","fields":null,"inputFields":[{"name":"targetOwnerId","description":"The owner ID to create the project under.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"sourceId","description":"The source project to clone.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"includeWorkflows","description":"Whether or not to clone the source project's workflows.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"name","description":"The name of the project.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"body","description":"The description of the project.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"public","description":"The visibility of the project, defaults to false (private).","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CloneProjectPayload","description":"Autogenerated return type of CloneProject","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"jobStatusId","description":"The id of the JobStatus for populating cloned fields.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"project","description":"The new cloned project.","args":[],"type":{"kind":"OBJECT","name":"Project","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CloneTemplateRepositoryInput","description":"Autogenerated input type of CloneTemplateRepository","fields":null,"inputFields":[{"name":"repositoryId","description":"The Node ID of the template repository.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":"The name of the new repository.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"ownerId","description":"The ID of the owner for the new repository.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"description","description":"A short description of the new repository.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"visibility","description":"Indicates the repository's visibility level.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"RepositoryVisibility","ofType":null}},"defaultValue":null},{"name":"includeAllBranches","description":"Whether to copy all branches from the template to the new repository. Defaults to copying only the default branch of the template.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CloneTemplateRepositoryPayload","description":"Autogenerated return type of CloneTemplateRepository","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The new repository.","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"Closable","description":"An object that can be closed","fields":[{"name":"closed","description":"`true` if the object is closed (definition of closed may depend on type)","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"closedAt","description":"Identifies the date and time when the object was closed.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"Milestone","ofType":null},{"kind":"OBJECT","name":"Project","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null}]},{"kind":"INPUT_OBJECT","name":"CloseIssueInput","description":"Autogenerated input type of CloseIssue","fields":null,"inputFields":[{"name":"issueId","description":"ID of the issue to be closed.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CloseIssuePayload","description":"Autogenerated return type of CloseIssue","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"issue","description":"The issue that was closed.","args":[],"type":{"kind":"OBJECT","name":"Issue","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ClosePullRequestInput","description":"Autogenerated input type of ClosePullRequest","fields":null,"inputFields":[{"name":"pullRequestId","description":"ID of the pull request to be closed.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ClosePullRequestPayload","description":"Autogenerated return type of ClosePullRequest","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The pull request that was closed.","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ClosedEvent","description":"Represents a 'closed' event on any `Closable`.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"closable","description":"Object that was closed.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Closable","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"closer","description":"Object which triggered the creation of this event.","args":[],"type":{"kind":"UNION","name":"Closer","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this closed event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this closed event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"Closer","description":"The object which triggered a `ClosedEvent`.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Commit","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null}]},{"kind":"OBJECT","name":"CodeOfConduct","description":"The Code of Conduct for a repository","fields":[{"name":"body","description":"The body of the Code of Conduct","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"key","description":"The key for the Code of Conduct","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The formal name of the Code of Conduct","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this Code of Conduct","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this Code of Conduct","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"CollaboratorAffiliation","description":"Collaborators affiliation level with a subject.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"OUTSIDE","description":"All outside collaborators of an organization-owned subject.","isDeprecated":false,"deprecationReason":null},{"name":"DIRECT","description":"All collaborators with permissions to an organization-owned subject, regardless of organization membership status.","isDeprecated":false,"deprecationReason":null},{"name":"ALL","description":"All collaborators the authenticated user can see.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INTERFACE","name":"Comment","description":"Represents a comment.","fields":[{"name":"author","description":"The actor who authored the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"authorAssociation","description":"Author's association with the subject of the comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentAuthorAssociation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"body","description":"The body as Markdown.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyHTML","description":"The body rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyText","description":"The body rendered to text.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdViaEmail","description":"Check if this comment was created via an email reply.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"editor","description":"The actor who edited the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"includesCreatedEdit","description":"Check if this comment was edited and includes an edit with the creation data","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lastEditedAt","description":"The moment the editor made the last edit","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"publishedAt","description":"Identifies when the comment was published at.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"userContentEdits","description":"A list of edits to this content.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UserContentEditConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewerDidAuthor","description":"Did the viewer author this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CommitComment","ofType":null},{"kind":"OBJECT","name":"GistComment","ofType":null},{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"IssueComment","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null},{"kind":"OBJECT","name":"PullRequestReview","ofType":null},{"kind":"OBJECT","name":"PullRequestReviewComment","ofType":null},{"kind":"OBJECT","name":"TeamDiscussion","ofType":null},{"kind":"OBJECT","name":"TeamDiscussionComment","ofType":null}]},{"kind":"ENUM","name":"CommentAuthorAssociation","description":"A comment author association with repository.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"MEMBER","description":"Author is a member of the organization that owns the repository.","isDeprecated":false,"deprecationReason":null},{"name":"OWNER","description":"Author is the owner of the repository.","isDeprecated":false,"deprecationReason":null},{"name":"MANNEQUIN","description":"Author is a placeholder for an unclaimed user.","isDeprecated":false,"deprecationReason":null},{"name":"COLLABORATOR","description":"Author has been invited to collaborate on the repository.","isDeprecated":false,"deprecationReason":null},{"name":"CONTRIBUTOR","description":"Author has previously committed to the repository.","isDeprecated":false,"deprecationReason":null},{"name":"FIRST_TIME_CONTRIBUTOR","description":"Author has not previously committed to the repository.","isDeprecated":false,"deprecationReason":null},{"name":"FIRST_TIMER","description":"Author has not previously committed to GitHub.","isDeprecated":false,"deprecationReason":null},{"name":"NONE","description":"Author has no association with the repository.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"CommentCannotUpdateReason","description":"The possible errors that will prevent a user from updating a comment.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ARCHIVED","description":"Unable to create comment because repository is archived.","isDeprecated":false,"deprecationReason":null},{"name":"INSUFFICIENT_ACCESS","description":"You must be the author or have write access to this repository to update this comment.","isDeprecated":false,"deprecationReason":null},{"name":"LOCKED","description":"Unable to create comment because issue is locked.","isDeprecated":false,"deprecationReason":null},{"name":"LOGIN_REQUIRED","description":"You must be logged in to update this comment.","isDeprecated":false,"deprecationReason":null},{"name":"MAINTENANCE","description":"Repository is under maintenance.","isDeprecated":false,"deprecationReason":null},{"name":"VERIFIED_EMAIL_REQUIRED","description":"At least one email address must be verified to update this comment.","isDeprecated":false,"deprecationReason":null},{"name":"DENIED","description":"You cannot update this comment","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"CommentDeletedEvent","description":"Represents a 'comment_deleted' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deletedCommentAuthor","description":"The user who authored the deleted comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Commit","description":"Represents a Git commit.","fields":[{"name":"abbreviatedOid","description":"An abbreviated version of the Git object ID","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"additions","description":"The number of additions in this commit.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"associatedPullRequests","description":"The pull requests associated with a commit","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for pull requests.","type":{"kind":"INPUT_OBJECT","name":"PullRequestOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: ASC}"}],"type":{"kind":"OBJECT","name":"PullRequestConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"author","description":"Authorship details of the commit.","args":[],"type":{"kind":"OBJECT","name":"GitActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"authoredByCommitter","description":"Check if the committer and the author match.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"authoredDate","description":"The datetime when this commit was authored.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"authors","description":"The list of authors for this commit based on the git author and the Co-authored-by\nmessage trailer. The git author will always be first.\n","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"GitActorConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"blame","description":"Fetches `git blame` information.","args":[{"name":"path","description":"The file whose Git blame information you want.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Blame","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"changedFiles","description":"The number of changed files in this commit.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"checkSuites","description":"The check suites associated with a commit.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"filterBy","description":"Filters the check suites by this type.","type":{"kind":"INPUT_OBJECT","name":"CheckSuiteFilter","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CheckSuiteConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"comments","description":"Comments made on the commit.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CommitCommentConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commitResourcePath","description":"The HTTP path for this Git object","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commitUrl","description":"The HTTP URL for this Git object","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"committedDate","description":"The datetime when this commit was committed.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"committedViaWeb","description":"Check if committed via GitHub web UI.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"committer","description":"Committer details of the commit.","args":[],"type":{"kind":"OBJECT","name":"GitActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deletions","description":"The number of deletions in this commit.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deployments","description":"The deployments associated with a commit.","args":[{"name":"environments","description":"Environments to list deployments for","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for deployments returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"DeploymentOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: ASC}"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DeploymentConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"file","description":"The tree entry representing the file located at the given path.","args":[{"name":"path","description":"The path for the file","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"TreeEntry","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"history","description":"The linear commit history starting from (and including) this commit, in the same order as `git log`.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"path","description":"If non-null, filters history to only show commits touching files under this path.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"author","description":"If non-null, filters history to only show commits with matching authorship.","type":{"kind":"INPUT_OBJECT","name":"CommitAuthor","ofType":null},"defaultValue":null},{"name":"since","description":"Allows specifying a beginning time or date for fetching commits.","type":{"kind":"SCALAR","name":"GitTimestamp","ofType":null},"defaultValue":null},{"name":"until","description":"Allows specifying an ending time or date for fetching commits.","type":{"kind":"SCALAR","name":"GitTimestamp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CommitHistoryConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"The Git commit message","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"messageBody","description":"The Git commit message body","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"messageBodyHTML","description":"The commit message body rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"messageHeadline","description":"The Git commit message headline","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"messageHeadlineHTML","description":"The commit message headline rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"oid","description":"The Git object ID","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"GitObjectID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"onBehalfOf","description":"The organization this commit was made on behalf of.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"parents","description":"The parents of a commit.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CommitConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pushedDate","description":"The datetime when this commit was pushed.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The Repository this commit belongs to","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this commit","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"signature","description":"Commit signing information, if present.","args":[],"type":{"kind":"INTERFACE","name":"GitSignature","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"status","description":"Status information for this commit","args":[],"type":{"kind":"OBJECT","name":"Status","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"statusCheckRollup","description":"Check and Status rollup information for this commit.","args":[],"type":{"kind":"OBJECT","name":"StatusCheckRollup","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"submodules","description":"Returns a list of all submodules in this repository as of this Commit parsed from the .gitmodules file.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SubmoduleConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"tarballUrl","description":"Returns a URL to download a tarball archive for a repository.\nNote: For private repositories, these links are temporary and expire after five minutes.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"tree","description":"Commit's root Tree","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Tree","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"treeResourcePath","description":"The HTTP path for the tree of this commit","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"treeUrl","description":"The HTTP URL for the tree of this commit","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this commit","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanSubscribe","description":"Check if the viewer is able to change their subscription status for the repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerSubscription","description":"Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.","args":[],"type":{"kind":"ENUM","name":"SubscriptionState","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"zipballUrl","description":"Returns a URL to download a zipball archive for a repository.\nNote: For private repositories, these links are temporary and expire after five minutes.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"GitObject","ofType":null},{"kind":"INTERFACE","name":"Subscribable","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CommitAuthor","description":"Specifies an author for filtering Git commits.","fields":null,"inputFields":[{"name":"id","description":"ID of a User to filter by. If non-null, only commits authored by this user will be returned. This field takes precedence over emails.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"emails","description":"Email addresses to filter by. Commits authored by any of the specified email addresses will be returned.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CommitComment","description":"Represents a comment on a given Commit.","fields":[{"name":"author","description":"The actor who authored the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"authorAssociation","description":"Author's association with the subject of the comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentAuthorAssociation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"body","description":"Identifies the comment body.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyHTML","description":"The body rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyText","description":"The body rendered to text.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commit","description":"Identifies the commit associated with the comment, if the commit exists.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdViaEmail","description":"Check if this comment was created via an email reply.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"editor","description":"The actor who edited the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"includesCreatedEdit","description":"Check if this comment was edited and includes an edit with the creation data","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isMinimized","description":"Returns whether or not a comment has been minimized.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lastEditedAt","description":"The moment the editor made the last edit","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"minimizedReason","description":"Returns why the comment was minimized.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"path","description":"Identifies the file path associated with the comment.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"position","description":"Identifies the line position associated with the comment.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"publishedAt","description":"Identifies when the comment was published at.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reactionGroups","description":"A list of reactions grouped by content left on the subject.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionGroup","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"reactions","description":"A list of Reactions left on the Issue.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"content","description":"Allows filtering Reactions by emoji.","type":{"kind":"ENUM","name":"ReactionContent","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Allows specifying the order in which reactions are returned.","type":{"kind":"INPUT_OBJECT","name":"ReactionOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with this node.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path permalink for this commit comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL permalink for this commit comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"userContentEdits","description":"A list of edits to this content.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UserContentEditConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanDelete","description":"Check if the current viewer can delete this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanMinimize","description":"Check if the current viewer can minimize this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanReact","description":"Can user react to this subject","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanUpdate","description":"Check if the current viewer can update this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCannotUpdateReasons","description":"Reasons why the current viewer can not update this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentCannotUpdateReason","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerDidAuthor","description":"Did the viewer author this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Comment","ofType":null},{"kind":"INTERFACE","name":"Deletable","ofType":null},{"kind":"INTERFACE","name":"Minimizable","ofType":null},{"kind":"INTERFACE","name":"Updatable","ofType":null},{"kind":"INTERFACE","name":"UpdatableComment","ofType":null},{"kind":"INTERFACE","name":"Reactable","ofType":null},{"kind":"INTERFACE","name":"RepositoryNode","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CommitCommentConnection","description":"The connection type for CommitComment.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CommitCommentEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CommitComment","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CommitCommentEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"CommitComment","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CommitCommentThread","description":"A thread of comments on a commit.","fields":[{"name":"comments","description":"The comments that exist in this thread.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CommitCommentConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commit","description":"The commit the comments were made on.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"path","description":"The file the comments were made on.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"position","description":"The position in the diff for the commit that the comment was made on.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with this node.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"RepositoryNode","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CommitConnection","description":"The connection type for Commit.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CommitEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Commit","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CommitContributionOrder","description":"Ordering options for commit contribution connections.","fields":null,"inputFields":[{"name":"field","description":"The field by which to order commit contributions.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommitContributionOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"CommitContributionOrderField","description":"Properties by which commit contribution connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"OCCURRED_AT","description":"Order commit contributions by when they were made.","isDeprecated":false,"deprecationReason":null},{"name":"COMMIT_COUNT","description":"Order commit contributions by how many commits they represent.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"CommitContributionsByRepository","description":"This aggregates commits made by a user within one repository.","fields":[{"name":"contributions","description":"The commit contributions, each representing a day.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for commit contributions returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"CommitContributionOrder","ofType":null},"defaultValue":"{field: OCCURRED_AT, direction: DESC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CreatedCommitContributionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository in which the commits were made.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for the user's commits to the repository in this time range.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for the user's commits to the repository in this time range.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CommitEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CommitHistoryConnection","description":"The connection type for Commit.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CommitEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Commit","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConnectedEvent","description":"Represents a 'connected' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isCrossRepository","description":"Reference originated in a different repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"source","description":"Issue or pull request that made the reference.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"ReferencedSubject","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"subject","description":"Issue or pull request which was connected.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"ReferencedSubject","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"Contribution","description":"Represents a contribution a user made on GitHub, such as opening an issue.","fields":[{"name":"isRestricted","description":"Whether this contribution is associated with a record you do not have access to. For\nexample, your own 'first issue' contribution may have been made on a repository you can no\nlonger access.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"occurredAt","description":"When this contribution was made.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this contribution.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this contribution.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user who made this contribution.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CreatedCommitContribution","ofType":null},{"kind":"OBJECT","name":"CreatedIssueContribution","ofType":null},{"kind":"OBJECT","name":"CreatedPullRequestContribution","ofType":null},{"kind":"OBJECT","name":"CreatedPullRequestReviewContribution","ofType":null},{"kind":"OBJECT","name":"CreatedRepositoryContribution","ofType":null},{"kind":"OBJECT","name":"JoinedGitHubContribution","ofType":null},{"kind":"OBJECT","name":"RestrictedContribution","ofType":null}]},{"kind":"OBJECT","name":"ContributionCalendar","description":"A calendar of contributions made on GitHub by a user.","fields":[{"name":"colors","description":"A list of hex color codes used in this calendar. The darker the color, the more contributions it represents.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"isHalloween","description":"Determine if the color set was chosen because it's currently Halloween.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"months","description":"A list of the months of contributions in this calendar.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ContributionCalendarMonth","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalContributions","description":"The count of total contributions in the calendar.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"weeks","description":"A list of the weeks of contributions in this calendar.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ContributionCalendarWeek","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ContributionCalendarDay","description":"Represents a single day of contributions on GitHub by a user.","fields":[{"name":"color","description":"The hex color code that represents how many contributions were made on this day compared to others in the calendar.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"contributionCount","description":"How many contributions were made by the user on this day.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"contributionLevel","description":"Indication of contributions, relative to other days. Can be used to indicate which color to represent this day on a calendar.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ContributionLevel","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"date","description":"The day this square represents.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Date","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"weekday","description":"A number representing which day of the week this square represents, e.g., 1 is Monday.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ContributionCalendarMonth","description":"A month of contributions in a user's contribution graph.","fields":[{"name":"firstDay","description":"The date of the first day of this month.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Date","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The name of the month.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalWeeks","description":"How many weeks started in this month.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"year","description":"The year the month occurred in.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ContributionCalendarWeek","description":"A week of contributions in a user's contribution graph.","fields":[{"name":"contributionDays","description":"The days of contributions in this week.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ContributionCalendarDay","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"firstDay","description":"The date of the earliest square in this week.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Date","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"ContributionLevel","description":"Varying levels of contributions from none to many.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"NONE","description":"No contributions occurred.","isDeprecated":false,"deprecationReason":null},{"name":"FIRST_QUARTILE","description":"Lowest 25% of days of contributions.","isDeprecated":false,"deprecationReason":null},{"name":"SECOND_QUARTILE","description":"Second lowest 25% of days of contributions. More contributions than the first quartile.","isDeprecated":false,"deprecationReason":null},{"name":"THIRD_QUARTILE","description":"Second highest 25% of days of contributions. More contributions than second quartile, less than the fourth quartile.","isDeprecated":false,"deprecationReason":null},{"name":"FOURTH_QUARTILE","description":"Highest 25% of days of contributions. More contributions than the third quartile.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ContributionOrder","description":"Ordering options for contribution connections.","fields":null,"inputFields":[{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ContributionsCollection","description":"A contributions collection aggregates contributions such as opened issues and commits created by a user.","fields":[{"name":"commitContributionsByRepository","description":"Commit contributions made by the user, grouped by repository.","args":[{"name":"maxRepositories","description":"How many repositories should be included.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":"25"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CommitContributionsByRepository","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"contributionCalendar","description":"A calendar of this user's contributions on GitHub.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ContributionCalendar","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"contributionYears","description":"The years the user has been making contributions with the most recent year first.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"doesEndInCurrentMonth","description":"Determine if this collection's time span ends in the current month.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"earliestRestrictedContributionDate","description":"The date of the first restricted contribution the user made in this time period. Can only be non-null when the user has enabled private contribution counts.","args":[],"type":{"kind":"SCALAR","name":"Date","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"endedAt","description":"The ending date and time of this collection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"firstIssueContribution","description":"The first issue the user opened on GitHub. This will be null if that issue was opened outside the collection's time range and ignoreTimeRange is false. If the issue is not visible but the user has opted to show private contributions, a RestrictedContribution will be returned.","args":[],"type":{"kind":"UNION","name":"CreatedIssueOrRestrictedContribution","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"firstPullRequestContribution","description":"The first pull request the user opened on GitHub. This will be null if that pull request was opened outside the collection's time range and ignoreTimeRange is not true. If the pull request is not visible but the user has opted to show private contributions, a RestrictedContribution will be returned.","args":[],"type":{"kind":"UNION","name":"CreatedPullRequestOrRestrictedContribution","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"firstRepositoryContribution","description":"The first repository the user created on GitHub. This will be null if that first repository was created outside the collection's time range and ignoreTimeRange is false. If the repository is not visible, then a RestrictedContribution is returned.","args":[],"type":{"kind":"UNION","name":"CreatedRepositoryOrRestrictedContribution","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"hasActivityInThePast","description":"Does the user have any more activity in the timeline that occurred prior to the collection's time range?","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hasAnyContributions","description":"Determine if there are any contributions in this collection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hasAnyRestrictedContributions","description":"Determine if the user made any contributions in this time frame whose details are not visible because they were made in a private repository. Can only be true if the user enabled private contribution counts.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isSingleDay","description":"Whether or not the collector's time span is all within the same day.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issueContributions","description":"A list of issues the user opened.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"excludeFirst","description":"Should the user's first issue ever be excluded from the result.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"excludePopular","description":"Should the user's most commented issue be excluded from the result.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"orderBy","description":"Ordering options for contributions returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"ContributionOrder","ofType":null},"defaultValue":"{direction: DESC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CreatedIssueContributionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issueContributionsByRepository","description":"Issue contributions made by the user, grouped by repository.","args":[{"name":"maxRepositories","description":"How many repositories should be included.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":"25"},{"name":"excludeFirst","description":"Should the user's first issue ever be excluded from the result.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"excludePopular","description":"Should the user's most commented issue be excluded from the result.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"IssueContributionsByRepository","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"joinedGitHubContribution","description":"When the user signed up for GitHub. This will be null if that sign up date falls outside the collection's time range and ignoreTimeRange is false.","args":[],"type":{"kind":"OBJECT","name":"JoinedGitHubContribution","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"latestRestrictedContributionDate","description":"The date of the most recent restricted contribution the user made in this time period. Can only be non-null when the user has enabled private contribution counts.","args":[],"type":{"kind":"SCALAR","name":"Date","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"mostRecentCollectionWithActivity","description":"When this collection's time range does not include any activity from the user, use this\nto get a different collection from an earlier time range that does have activity.\n","args":[],"type":{"kind":"OBJECT","name":"ContributionsCollection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"mostRecentCollectionWithoutActivity","description":"Returns a different contributions collection from an earlier time range than this one\nthat does not have any contributions.\n","args":[],"type":{"kind":"OBJECT","name":"ContributionsCollection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"popularIssueContribution","description":"The issue the user opened on GitHub that received the most comments in the specified\ntime frame.\n","args":[],"type":{"kind":"OBJECT","name":"CreatedIssueContribution","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"popularPullRequestContribution","description":"The pull request the user opened on GitHub that received the most comments in the\nspecified time frame.\n","args":[],"type":{"kind":"OBJECT","name":"CreatedPullRequestContribution","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequestContributions","description":"Pull request contributions made by the user.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"excludeFirst","description":"Should the user's first pull request ever be excluded from the result.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"excludePopular","description":"Should the user's most commented pull request be excluded from the result.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"orderBy","description":"Ordering options for contributions returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"ContributionOrder","ofType":null},"defaultValue":"{direction: DESC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CreatedPullRequestContributionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequestContributionsByRepository","description":"Pull request contributions made by the user, grouped by repository.","args":[{"name":"maxRepositories","description":"How many repositories should be included.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":"25"},{"name":"excludeFirst","description":"Should the user's first pull request ever be excluded from the result.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"excludePopular","description":"Should the user's most commented pull request be excluded from the result.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestContributionsByRepository","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequestReviewContributions","description":"Pull request review contributions made by the user.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for contributions returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"ContributionOrder","ofType":null},"defaultValue":"{direction: DESC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CreatedPullRequestReviewContributionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequestReviewContributionsByRepository","description":"Pull request review contributions made by the user, grouped by repository.","args":[{"name":"maxRepositories","description":"How many repositories should be included.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":"25"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestReviewContributionsByRepository","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryContributions","description":"A list of repositories owned by the user that the user created in this time range.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"excludeFirst","description":"Should the user's first repository ever be excluded from the result.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"orderBy","description":"Ordering options for contributions returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"ContributionOrder","ofType":null},"defaultValue":"{direction: DESC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CreatedRepositoryContributionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"restrictedContributionsCount","description":"A count of contributions made by the user that the viewer cannot access. Only non-zero when the user has chosen to share their private contribution counts.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"startedAt","description":"The beginning date and time of this collection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCommitContributions","description":"How many commits were made by the user in this time span.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalIssueContributions","description":"How many issues the user opened.","args":[{"name":"excludeFirst","description":"Should the user's first issue ever be excluded from this count.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"excludePopular","description":"Should the user's most commented issue be excluded from this count.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalPullRequestContributions","description":"How many pull requests the user opened.","args":[{"name":"excludeFirst","description":"Should the user's first pull request ever be excluded from this count.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"excludePopular","description":"Should the user's most commented pull request be excluded from this count.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalPullRequestReviewContributions","description":"How many pull request reviews the user left.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalRepositoriesWithContributedCommits","description":"How many different repositories the user committed to.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalRepositoriesWithContributedIssues","description":"How many different repositories the user opened issues in.","args":[{"name":"excludeFirst","description":"Should the user's first issue ever be excluded from this count.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"excludePopular","description":"Should the user's most commented issue be excluded from this count.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalRepositoriesWithContributedPullRequestReviews","description":"How many different repositories the user left pull request reviews in.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalRepositoriesWithContributedPullRequests","description":"How many different repositories the user opened pull requests in.","args":[{"name":"excludeFirst","description":"Should the user's first pull request ever be excluded from this count.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"excludePopular","description":"Should the user's most commented pull request be excluded from this count.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalRepositoryContributions","description":"How many repositories the user created.","args":[{"name":"excludeFirst","description":"Should the user's first repository ever be excluded from this count.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user who made the contributions in this collection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ConvertProjectCardNoteToIssueInput","description":"Autogenerated input type of ConvertProjectCardNoteToIssue","fields":null,"inputFields":[{"name":"projectCardId","description":"The ProjectCard ID to convert.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"repositoryId","description":"The ID of the repository to create the issue in.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"title","description":"The title of the newly created issue. Defaults to the card's note text.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"body","description":"The body of the newly created issue.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConvertProjectCardNoteToIssuePayload","description":"Autogenerated return type of ConvertProjectCardNoteToIssue","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"projectCard","description":"The updated ProjectCard.","args":[],"type":{"kind":"OBJECT","name":"ProjectCard","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConvertToDraftEvent","description":"Represents a 'convert_to_draft' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this convert to draft event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this convert to draft event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConvertedNoteToIssueEvent","description":"Represents a 'converted_note_to_issue' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateBranchProtectionRuleInput","description":"Autogenerated input type of CreateBranchProtectionRule","fields":null,"inputFields":[{"name":"repositoryId","description":"The global relay id of the repository in which a new branch protection rule should be created in.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"pattern","description":"The glob-like pattern used to determine matching branches.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"requiresApprovingReviews","description":"Are approving reviews required to update matching branches.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"requiredApprovingReviewCount","description":"Number of approving reviews required to update matching branches.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"requiresCommitSignatures","description":"Are commits required to be signed.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"requiresLinearHistory","description":"Are merge commits prohibited from being pushed to this branch.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"allowsForcePushes","description":"Are force pushes allowed on this branch.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"allowsDeletions","description":"Can this branch be deleted.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"isAdminEnforced","description":"Can admins overwrite branch protection.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"requiresStatusChecks","description":"Are status checks required to update matching branches.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"requiresStrictStatusChecks","description":"Are branches required to be up to date before merging.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"requiresCodeOwnerReviews","description":"Are reviews from code owners required to update matching branches.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"dismissesStaleReviews","description":"Will new commits pushed to matching branches dismiss pull request review approvals.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"restrictsReviewDismissals","description":"Is dismissal of pull request reviews restricted.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"reviewDismissalActorIds","description":"A list of User or Team IDs allowed to dismiss reviews on pull requests targeting matching branches.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"restrictsPushes","description":"Is pushing to matching branches restricted.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"pushActorIds","description":"A list of User, Team or App IDs allowed to push to matching branches.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"requiredStatusCheckContexts","description":"List of required status check contexts that must pass for commits to be accepted to matching branches.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreateBranchProtectionRulePayload","description":"Autogenerated return type of CreateBranchProtectionRule","fields":[{"name":"branchProtectionRule","description":"The newly created BranchProtectionRule.","args":[],"type":{"kind":"OBJECT","name":"BranchProtectionRule","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateCheckRunInput","description":"Autogenerated input type of CreateCheckRun","fields":null,"inputFields":[{"name":"repositoryId","description":"The node ID of the repository.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":"The name of the check.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"headSha","description":"The SHA of the head commit.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"GitObjectID","ofType":null}},"defaultValue":null},{"name":"detailsUrl","description":"The URL of the integrator's site that has the full details of the check.","type":{"kind":"SCALAR","name":"URI","ofType":null},"defaultValue":null},{"name":"externalId","description":"A reference for the run on the integrator's system.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"status","description":"The current status.","type":{"kind":"ENUM","name":"RequestableCheckStatusState","ofType":null},"defaultValue":null},{"name":"startedAt","description":"The time that the check run began.","type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"conclusion","description":"The final conclusion of the check.","type":{"kind":"ENUM","name":"CheckConclusionState","ofType":null},"defaultValue":null},{"name":"completedAt","description":"The time that the check run finished.","type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"output","description":"Descriptive details about the run.","type":{"kind":"INPUT_OBJECT","name":"CheckRunOutput","ofType":null},"defaultValue":null},{"name":"actions","description":"Possible further actions the integrator can perform, which a user may trigger.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CheckRunAction","ofType":null}}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreateCheckRunPayload","description":"Autogenerated return type of CreateCheckRun","fields":[{"name":"checkRun","description":"The newly created check run.","args":[],"type":{"kind":"OBJECT","name":"CheckRun","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateCheckSuiteInput","description":"Autogenerated input type of CreateCheckSuite","fields":null,"inputFields":[{"name":"repositoryId","description":"The Node ID of the repository.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"headSha","description":"The SHA of the head commit.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"GitObjectID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreateCheckSuitePayload","description":"Autogenerated return type of CreateCheckSuite","fields":[{"name":"checkSuite","description":"The newly created check suite.","args":[],"type":{"kind":"OBJECT","name":"CheckSuite","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateEnterpriseOrganizationInput","description":"Autogenerated input type of CreateEnterpriseOrganization","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise owning the new organization.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"login","description":"The login of the new organization.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"profileName","description":"The profile name of the new organization.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"billingEmail","description":"The email used for sending billing receipts.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"adminLogins","description":"The logins for the administrators of the new organization.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreateEnterpriseOrganizationPayload","description":"Autogenerated return type of CreateEnterpriseOrganization","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise that owns the created organization.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The organization that was created.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateIpAllowListEntryInput","description":"Autogenerated input type of CreateIpAllowListEntry","fields":null,"inputFields":[{"name":"ownerId","description":"The ID of the owner for which to create the new IP allow list entry.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"allowListValue","description":"An IP address or range of addresses in CIDR notation.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"name","description":"An optional name for the IP allow list entry.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"isActive","description":"Whether the IP allow list entry is active when an IP allow list is enabled.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreateIpAllowListEntryPayload","description":"Autogenerated return type of CreateIpAllowListEntry","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"ipAllowListEntry","description":"The IP allow list entry that was created.","args":[],"type":{"kind":"OBJECT","name":"IpAllowListEntry","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateIssueInput","description":"Autogenerated input type of CreateIssue","fields":null,"inputFields":[{"name":"repositoryId","description":"The Node ID of the repository.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"title","description":"The title for the issue.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"body","description":"The body for the issue description.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"assigneeIds","description":"The Node ID for the user assignee for this issue.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"milestoneId","description":"The Node ID of the milestone for this issue.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"labelIds","description":"An array of Node IDs of labels for this issue.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"projectIds","description":"An array of Node IDs for projects associated with this issue.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"issueTemplate","description":"The name of an issue template in the repository, assigns labels and assignees from the template to the issue","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreateIssuePayload","description":"Autogenerated return type of CreateIssue","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"issue","description":"The new issue.","args":[],"type":{"kind":"OBJECT","name":"Issue","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateProjectInput","description":"Autogenerated input type of CreateProject","fields":null,"inputFields":[{"name":"ownerId","description":"The owner ID to create the project under.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":"The name of project.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"body","description":"The description of project.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"template","description":"The name of the GitHub-provided template.","type":{"kind":"ENUM","name":"ProjectTemplate","ofType":null},"defaultValue":null},{"name":"repositoryIds","description":"A list of repository IDs to create as linked repositories for the project","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreateProjectPayload","description":"Autogenerated return type of CreateProject","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"project","description":"The new project.","args":[],"type":{"kind":"OBJECT","name":"Project","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreatePullRequestInput","description":"Autogenerated input type of CreatePullRequest","fields":null,"inputFields":[{"name":"repositoryId","description":"The Node ID of the repository.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"baseRefName","description":"The name of the branch you want your changes pulled into. This should be an existing branch\non the current repository. You cannot update the base branch on a pull request to point\nto another repository.\n","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"headRefName","description":"The name of the branch where your changes are implemented. For cross-repository pull requests\nin the same network, namespace `head_ref_name` with a user like this: `username:branch`.\n","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"title","description":"The title of the pull request.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"body","description":"The contents of the pull request.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"maintainerCanModify","description":"Indicates whether maintainers can modify the pull request.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"true"},{"name":"draft","description":"Indicates whether this pull request should be a draft.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreatePullRequestPayload","description":"Autogenerated return type of CreatePullRequest","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The new pull request.","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateRefInput","description":"Autogenerated input type of CreateRef","fields":null,"inputFields":[{"name":"repositoryId","description":"The Node ID of the Repository to create the Ref in.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":"The fully qualified name of the new Ref (ie: `refs/heads/my_new_branch`).","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"oid","description":"The GitObjectID that the new Ref shall target. Must point to a commit.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"GitObjectID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreateRefPayload","description":"Autogenerated return type of CreateRef","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"ref","description":"The newly created ref.","args":[],"type":{"kind":"OBJECT","name":"Ref","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateRepositoryInput","description":"Autogenerated input type of CreateRepository","fields":null,"inputFields":[{"name":"name","description":"The name of the new repository.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"ownerId","description":"The ID of the owner for the new repository.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"description","description":"A short description of the new repository.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"visibility","description":"Indicates the repository's visibility level.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"RepositoryVisibility","ofType":null}},"defaultValue":null},{"name":"template","description":"Whether this repository should be marked as a template such that anyone who can access it can create new repositories with the same files and directory structure.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"homepageUrl","description":"The URL for a web page about this repository.","type":{"kind":"SCALAR","name":"URI","ofType":null},"defaultValue":null},{"name":"hasWikiEnabled","description":"Indicates if the repository should have the wiki feature enabled.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"hasIssuesEnabled","description":"Indicates if the repository should have the issues feature enabled.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"true"},{"name":"teamId","description":"When an organization is specified as the owner, this ID identifies the team that should be granted access to the new repository.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreateRepositoryPayload","description":"Autogenerated return type of CreateRepository","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The new repository.","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateTeamDiscussionCommentInput","description":"Autogenerated input type of CreateTeamDiscussionComment","fields":null,"inputFields":[{"name":"discussionId","description":"The ID of the discussion to which the comment belongs.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"body","description":"The content of the comment.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreateTeamDiscussionCommentPayload","description":"Autogenerated return type of CreateTeamDiscussionComment","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamDiscussionComment","description":"The new comment.","args":[],"type":{"kind":"OBJECT","name":"TeamDiscussionComment","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateTeamDiscussionInput","description":"Autogenerated input type of CreateTeamDiscussion","fields":null,"inputFields":[{"name":"teamId","description":"The ID of the team to which the discussion belongs.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"title","description":"The title of the discussion.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"body","description":"The content of the discussion.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"private","description":"If true, restricts the visibility of this discussion to team members and organization admins. If false or not specified, allows any organization member to view this discussion.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreateTeamDiscussionPayload","description":"Autogenerated return type of CreateTeamDiscussion","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamDiscussion","description":"The new discussion.","args":[],"type":{"kind":"OBJECT","name":"TeamDiscussion","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreatedCommitContribution","description":"Represents the contribution a user made by committing to a repository.","fields":[{"name":"commitCount","description":"How many commits were made on this day to this repository by the user.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isRestricted","description":"Whether this contribution is associated with a record you do not have access to. For\nexample, your own 'first issue' contribution may have been made on a repository you can no\nlonger access.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"occurredAt","description":"When this contribution was made.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository the user made a commit in.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this contribution.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this contribution.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user who made this contribution.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Contribution","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreatedCommitContributionConnection","description":"The connection type for CreatedCommitContribution.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CreatedCommitContributionEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CreatedCommitContribution","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of commits across days and repositories in the connection.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreatedCommitContributionEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"CreatedCommitContribution","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreatedIssueContribution","description":"Represents the contribution a user made on GitHub by opening an issue.","fields":[{"name":"isRestricted","description":"Whether this contribution is associated with a record you do not have access to. For\nexample, your own 'first issue' contribution may have been made on a repository you can no\nlonger access.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issue","description":"The issue that was opened.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Issue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"occurredAt","description":"When this contribution was made.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this contribution.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this contribution.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user who made this contribution.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Contribution","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreatedIssueContributionConnection","description":"The connection type for CreatedIssueContribution.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CreatedIssueContributionEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CreatedIssueContribution","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreatedIssueContributionEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"CreatedIssueContribution","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"CreatedIssueOrRestrictedContribution","description":"Represents either a issue the viewer can access or a restricted contribution.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CreatedIssueContribution","ofType":null},{"kind":"OBJECT","name":"RestrictedContribution","ofType":null}]},{"kind":"OBJECT","name":"CreatedPullRequestContribution","description":"Represents the contribution a user made on GitHub by opening a pull request.","fields":[{"name":"isRestricted","description":"Whether this contribution is associated with a record you do not have access to. For\nexample, your own 'first issue' contribution may have been made on a repository you can no\nlonger access.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"occurredAt","description":"When this contribution was made.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The pull request that was opened.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this contribution.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this contribution.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user who made this contribution.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Contribution","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreatedPullRequestContributionConnection","description":"The connection type for CreatedPullRequestContribution.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CreatedPullRequestContributionEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CreatedPullRequestContribution","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreatedPullRequestContributionEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"CreatedPullRequestContribution","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"CreatedPullRequestOrRestrictedContribution","description":"Represents either a pull request the viewer can access or a restricted contribution.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CreatedPullRequestContribution","ofType":null},{"kind":"OBJECT","name":"RestrictedContribution","ofType":null}]},{"kind":"OBJECT","name":"CreatedPullRequestReviewContribution","description":"Represents the contribution a user made by leaving a review on a pull request.","fields":[{"name":"isRestricted","description":"Whether this contribution is associated with a record you do not have access to. For\nexample, your own 'first issue' contribution may have been made on a repository you can no\nlonger access.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"occurredAt","description":"When this contribution was made.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The pull request the user reviewed.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequestReview","description":"The review the user left on the pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestReview","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository containing the pull request that the user reviewed.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this contribution.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this contribution.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user who made this contribution.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Contribution","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreatedPullRequestReviewContributionConnection","description":"The connection type for CreatedPullRequestReviewContribution.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CreatedPullRequestReviewContributionEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CreatedPullRequestReviewContribution","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreatedPullRequestReviewContributionEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"CreatedPullRequestReviewContribution","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreatedRepositoryContribution","description":"Represents the contribution a user made on GitHub by creating a repository.","fields":[{"name":"isRestricted","description":"Whether this contribution is associated with a record you do not have access to. For\nexample, your own 'first issue' contribution may have been made on a repository you can no\nlonger access.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"occurredAt","description":"When this contribution was made.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository that was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this contribution.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this contribution.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user who made this contribution.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Contribution","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreatedRepositoryContributionConnection","description":"The connection type for CreatedRepositoryContribution.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CreatedRepositoryContributionEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CreatedRepositoryContribution","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CreatedRepositoryContributionEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"CreatedRepositoryContribution","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"CreatedRepositoryOrRestrictedContribution","description":"Represents either a repository the viewer can access or a restricted contribution.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CreatedRepositoryContribution","ofType":null},{"kind":"OBJECT","name":"RestrictedContribution","ofType":null}]},{"kind":"OBJECT","name":"CrossReferencedEvent","description":"Represents a mention made by one issue or pull request to another.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isCrossRepository","description":"Reference originated in a different repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"referencedAt","description":"Identifies when the reference was made.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"source","description":"Issue or pull request that made the reference.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"ReferencedSubject","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"target","description":"Issue or pull request to which the reference was made.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"ReferencedSubject","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"willCloseTarget","description":"Checks if the target will be closed when the source is merged.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Date","description":"An ISO-8601 encoded date string.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"DateTime","description":"An ISO-8601 encoded UTC date string.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DeclineTopicSuggestionInput","description":"Autogenerated input type of DeclineTopicSuggestion","fields":null,"inputFields":[{"name":"repositoryId","description":"The Node ID of the repository.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":"The name of the suggested topic.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"reason","description":"The reason why the suggested topic is declined.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"TopicSuggestionDeclineReason","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeclineTopicSuggestionPayload","description":"Autogenerated return type of DeclineTopicSuggestion","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"topic","description":"The declined topic.","args":[],"type":{"kind":"OBJECT","name":"Topic","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"DefaultRepositoryPermissionField","description":"The possible default permissions for repositories.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"NONE","description":"No access","isDeprecated":false,"deprecationReason":null},{"name":"READ","description":"Can read repos by default","isDeprecated":false,"deprecationReason":null},{"name":"WRITE","description":"Can read and write repos by default","isDeprecated":false,"deprecationReason":null},{"name":"ADMIN","description":"Can read, write, and administrate repos by default","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INTERFACE","name":"Deletable","description":"Entities that can be deleted.","fields":[{"name":"viewerCanDelete","description":"Check if the current viewer can delete this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CommitComment","ofType":null},{"kind":"OBJECT","name":"GistComment","ofType":null},{"kind":"OBJECT","name":"IssueComment","ofType":null},{"kind":"OBJECT","name":"PullRequestReview","ofType":null},{"kind":"OBJECT","name":"PullRequestReviewComment","ofType":null},{"kind":"OBJECT","name":"TeamDiscussion","ofType":null},{"kind":"OBJECT","name":"TeamDiscussionComment","ofType":null}]},{"kind":"INPUT_OBJECT","name":"DeleteBranchProtectionRuleInput","description":"Autogenerated input type of DeleteBranchProtectionRule","fields":null,"inputFields":[{"name":"branchProtectionRuleId","description":"The global relay id of the branch protection rule to be deleted.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeleteBranchProtectionRulePayload","description":"Autogenerated return type of DeleteBranchProtectionRule","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DeleteDeploymentInput","description":"Autogenerated input type of DeleteDeployment","fields":null,"inputFields":[{"name":"id","description":"The Node ID of the deployment to be deleted.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeleteDeploymentPayload","description":"Autogenerated return type of DeleteDeployment","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DeleteIpAllowListEntryInput","description":"Autogenerated input type of DeleteIpAllowListEntry","fields":null,"inputFields":[{"name":"ipAllowListEntryId","description":"The ID of the IP allow list entry to delete.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeleteIpAllowListEntryPayload","description":"Autogenerated return type of DeleteIpAllowListEntry","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"ipAllowListEntry","description":"The IP allow list entry that was deleted.","args":[],"type":{"kind":"OBJECT","name":"IpAllowListEntry","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DeleteIssueCommentInput","description":"Autogenerated input type of DeleteIssueComment","fields":null,"inputFields":[{"name":"id","description":"The ID of the comment to delete.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeleteIssueCommentPayload","description":"Autogenerated return type of DeleteIssueComment","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DeleteIssueInput","description":"Autogenerated input type of DeleteIssue","fields":null,"inputFields":[{"name":"issueId","description":"The ID of the issue to delete.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeleteIssuePayload","description":"Autogenerated return type of DeleteIssue","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository the issue belonged to","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DeleteProjectCardInput","description":"Autogenerated input type of DeleteProjectCard","fields":null,"inputFields":[{"name":"cardId","description":"The id of the card to delete.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeleteProjectCardPayload","description":"Autogenerated return type of DeleteProjectCard","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"column","description":"The column the deleted card was in.","args":[],"type":{"kind":"OBJECT","name":"ProjectColumn","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deletedCardId","description":"The deleted card ID.","args":[],"type":{"kind":"SCALAR","name":"ID","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DeleteProjectColumnInput","description":"Autogenerated input type of DeleteProjectColumn","fields":null,"inputFields":[{"name":"columnId","description":"The id of the column to delete.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeleteProjectColumnPayload","description":"Autogenerated return type of DeleteProjectColumn","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deletedColumnId","description":"The deleted column ID.","args":[],"type":{"kind":"SCALAR","name":"ID","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"project","description":"The project the deleted column was in.","args":[],"type":{"kind":"OBJECT","name":"Project","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DeleteProjectInput","description":"Autogenerated input type of DeleteProject","fields":null,"inputFields":[{"name":"projectId","description":"The Project ID to update.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeleteProjectPayload","description":"Autogenerated return type of DeleteProject","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"owner","description":"The repository or organization the project was removed from.","args":[],"type":{"kind":"INTERFACE","name":"ProjectOwner","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DeletePullRequestReviewCommentInput","description":"Autogenerated input type of DeletePullRequestReviewComment","fields":null,"inputFields":[{"name":"id","description":"The ID of the comment to delete.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeletePullRequestReviewCommentPayload","description":"Autogenerated return type of DeletePullRequestReviewComment","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequestReview","description":"The pull request review the deleted comment belonged to.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReview","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DeletePullRequestReviewInput","description":"Autogenerated input type of DeletePullRequestReview","fields":null,"inputFields":[{"name":"pullRequestReviewId","description":"The Node ID of the pull request review to delete.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeletePullRequestReviewPayload","description":"Autogenerated return type of DeletePullRequestReview","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequestReview","description":"The deleted pull request review.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReview","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DeleteRefInput","description":"Autogenerated input type of DeleteRef","fields":null,"inputFields":[{"name":"refId","description":"The Node ID of the Ref to be deleted.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeleteRefPayload","description":"Autogenerated return type of DeleteRef","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DeleteTeamDiscussionCommentInput","description":"Autogenerated input type of DeleteTeamDiscussionComment","fields":null,"inputFields":[{"name":"id","description":"The ID of the comment to delete.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeleteTeamDiscussionCommentPayload","description":"Autogenerated return type of DeleteTeamDiscussionComment","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DeleteTeamDiscussionInput","description":"Autogenerated input type of DeleteTeamDiscussion","fields":null,"inputFields":[{"name":"id","description":"The discussion ID to delete.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeleteTeamDiscussionPayload","description":"Autogenerated return type of DeleteTeamDiscussion","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DeleteVerifiableDomainInput","description":"Autogenerated input type of DeleteVerifiableDomain","fields":null,"inputFields":[{"name":"id","description":"The ID of the verifiable domain to delete.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeleteVerifiableDomainPayload","description":"Autogenerated return type of DeleteVerifiableDomain","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"owner","description":"The owning account from which the domain was deleted.","args":[],"type":{"kind":"UNION","name":"VerifiableDomainOwner","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DemilestonedEvent","description":"Represents a 'demilestoned' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"milestoneTitle","description":"Identifies the milestone title associated with the 'demilestoned' event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"subject","description":"Object referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"MilestoneItem","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeployKey","description":"A repository deploy key.","fields":[{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"key","description":"The deploy key.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"readOnly","description":"Whether or not the deploy key is read only.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"title","description":"The deploy key title.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"verified","description":"Whether or not the deploy key has been verified.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeployKeyConnection","description":"The connection type for DeployKey.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"DeployKeyEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"DeployKey","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeployKeyEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"DeployKey","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeployedEvent","description":"Represents a 'deployed' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deployment","description":"The deployment associated with the 'deployed' event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Deployment","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"ref","description":"The ref associated with the 'deployed' event.","args":[],"type":{"kind":"OBJECT","name":"Ref","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Deployment","description":"Represents triggered deployment instance.","fields":[{"name":"commit","description":"Identifies the commit sha of the deployment.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"commitOid","description":"Identifies the oid of the deployment commit, even if the commit has been deleted.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"creator","description":"Identifies the actor who triggered the deployment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Actor","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":"The deployment description.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"environment","description":"The latest environment to which this deployment was made.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"latestEnvironment","description":"The latest environment to which this deployment was made.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"latestStatus","description":"The latest status of this deployment.","args":[],"type":{"kind":"OBJECT","name":"DeploymentStatus","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"originalEnvironment","description":"The original environment to which this deployment was made.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"payload","description":"Extra information that a deployment system might need.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"ref","description":"Identifies the Ref of the deployment, if the deployment was created by ref.","args":[],"type":{"kind":"OBJECT","name":"Ref","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"Identifies the repository associated with the deployment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":"The current state of the deployment.","args":[],"type":{"kind":"ENUM","name":"DeploymentState","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"statuses","description":"A list of statuses associated with the deployment.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DeploymentStatusConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"task","description":"The deployment task.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeploymentConnection","description":"The connection type for Deployment.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"DeploymentEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Deployment","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeploymentEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"Deployment","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeploymentEnvironmentChangedEvent","description":"Represents a 'deployment_environment_changed' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deploymentStatus","description":"The deployment status that updated the deployment environment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeploymentStatus","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DeploymentOrder","description":"Ordering options for deployment connections","fields":null,"inputFields":[{"name":"field","description":"The field to order deployments by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"DeploymentOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"DeploymentOrderField","description":"Properties by which deployment connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order collection by creation time","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"DeploymentState","description":"The possible states in which a deployment can be.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ABANDONED","description":"The pending deployment was not updated after 30 minutes.","isDeprecated":false,"deprecationReason":null},{"name":"ACTIVE","description":"The deployment is currently active.","isDeprecated":false,"deprecationReason":null},{"name":"DESTROYED","description":"An inactive transient deployment.","isDeprecated":false,"deprecationReason":null},{"name":"ERROR","description":"The deployment experienced an error.","isDeprecated":false,"deprecationReason":null},{"name":"FAILURE","description":"The deployment has failed.","isDeprecated":false,"deprecationReason":null},{"name":"INACTIVE","description":"The deployment is inactive.","isDeprecated":false,"deprecationReason":null},{"name":"PENDING","description":"The deployment is pending.","isDeprecated":false,"deprecationReason":null},{"name":"QUEUED","description":"The deployment has queued","isDeprecated":false,"deprecationReason":null},{"name":"IN_PROGRESS","description":"The deployment is in progress.","isDeprecated":false,"deprecationReason":null},{"name":"WAITING","description":"The deployment is waiting.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"DeploymentStatus","description":"Describes the status of a given deployment attempt.","fields":[{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"creator","description":"Identifies the actor who triggered the deployment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Actor","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deployment","description":"Identifies the deployment associated with status.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Deployment","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":"Identifies the description of the deployment.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"environmentUrl","description":"Identifies the environment URL of the deployment.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"logUrl","description":"Identifies the log URL of the deployment.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":"Identifies the current state of the deployment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"DeploymentStatusState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeploymentStatusConnection","description":"The connection type for DeploymentStatus.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"DeploymentStatusEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"DeploymentStatus","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeploymentStatusEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"DeploymentStatus","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"DeploymentStatusState","description":"The possible states for a deployment status.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"PENDING","description":"The deployment is pending.","isDeprecated":false,"deprecationReason":null},{"name":"SUCCESS","description":"The deployment was successful.","isDeprecated":false,"deprecationReason":null},{"name":"FAILURE","description":"The deployment has failed.","isDeprecated":false,"deprecationReason":null},{"name":"INACTIVE","description":"The deployment is inactive.","isDeprecated":false,"deprecationReason":null},{"name":"ERROR","description":"The deployment experienced an error.","isDeprecated":false,"deprecationReason":null},{"name":"QUEUED","description":"The deployment is queued","isDeprecated":false,"deprecationReason":null},{"name":"IN_PROGRESS","description":"The deployment is in progress.","isDeprecated":false,"deprecationReason":null},{"name":"WAITING","description":"The deployment is waiting.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"DiffSide","description":"The possible sides of a diff.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"LEFT","description":"The left side of the diff.","isDeprecated":false,"deprecationReason":null},{"name":"RIGHT","description":"The right side of the diff.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DisablePullRequestAutoMergeInput","description":"Autogenerated input type of DisablePullRequestAutoMerge","fields":null,"inputFields":[{"name":"pullRequestId","description":"ID of the pull request to disable auto merge on.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DisablePullRequestAutoMergePayload","description":"Autogenerated return type of DisablePullRequestAutoMerge","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The pull request auto merge was disabled on.","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DisconnectedEvent","description":"Represents a 'disconnected' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isCrossRepository","description":"Reference originated in a different repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"source","description":"Issue or pull request from which the issue was disconnected.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"ReferencedSubject","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"subject","description":"Issue or pull request which was disconnected.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"ReferencedSubject","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DismissPullRequestReviewInput","description":"Autogenerated input type of DismissPullRequestReview","fields":null,"inputFields":[{"name":"pullRequestReviewId","description":"The Node ID of the pull request review to modify.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"message","description":"The contents of the pull request review dismissal message.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DismissPullRequestReviewPayload","description":"Autogenerated return type of DismissPullRequestReview","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequestReview","description":"The dismissed pull request review.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReview","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DraftPullRequestReviewComment","description":"Specifies a review comment to be left with a Pull Request Review.","fields":null,"inputFields":[{"name":"path","description":"Path to the file being commented on.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"position","description":"Position in the file to leave a comment on.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null},{"name":"body","description":"Body of the comment to leave.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DraftPullRequestReviewThread","description":"Specifies a review comment thread to be left with a Pull Request Review.","fields":null,"inputFields":[{"name":"path","description":"Path to the file being commented on.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"line","description":"The line of the blob to which the thread refers. The end of the line range for multi-line comments.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null},{"name":"side","description":"The side of the diff on which the line resides. For multi-line comments, this is the side for the end of the line range.","type":{"kind":"ENUM","name":"DiffSide","ofType":null},"defaultValue":"RIGHT"},{"name":"startLine","description":"The first line of the range to which the comment refers.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"startSide","description":"The side of the diff on which the start line resides.","type":{"kind":"ENUM","name":"DiffSide","ofType":null},"defaultValue":"RIGHT"},{"name":"body","description":"Body of the comment to leave.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"EnablePullRequestAutoMergeInput","description":"Autogenerated input type of EnablePullRequestAutoMerge","fields":null,"inputFields":[{"name":"pullRequestId","description":"ID of the pull request to enable auto-merge on.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"commitHeadline","description":"Commit headline to use for the commit when the PR is mergable; if omitted, a default message will be used.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"commitBody","description":"Commit body to use for the commit when the PR is mergable; if omitted, a default message will be used.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"mergeMethod","description":"The merge method to use. If omitted, defaults to 'MERGE'","type":{"kind":"ENUM","name":"PullRequestMergeMethod","ofType":null},"defaultValue":"MERGE"},{"name":"authorEmail","description":"The email address to associate with this merge.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnablePullRequestAutoMergePayload","description":"Autogenerated return type of EnablePullRequestAutoMerge","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The pull request auto-merge was enabled on.","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Enterprise","description":"An account to manage multiple organizations with consolidated policy and billing.","fields":[{"name":"avatarUrl","description":"A URL pointing to the enterprise's public avatar.","args":[{"name":"size","description":"The size of the resulting square image.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"billingInfo","description":"Enterprise billing information visible to enterprise billing managers.","args":[],"type":{"kind":"OBJECT","name":"EnterpriseBillingInfo","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":"The description of the enterprise.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"descriptionHTML","description":"The description of the enterprise as HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"location","description":"The location of the enterprise.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"members","description":"A list of users who are members of this enterprise.","args":[{"name":"organizationLogins","description":"Only return members within the organizations with these logins","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"query","description":"The search string to look for.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for members returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"EnterpriseMemberOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"},{"name":"role","description":"The role of the user in the enterprise organization or server.","type":{"kind":"ENUM","name":"EnterpriseUserAccountMembershipRole","ofType":null},"defaultValue":null},{"name":"deployment","description":"Only return members within the selected GitHub Enterprise deployment","type":{"kind":"ENUM","name":"EnterpriseUserDeployment","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseMemberConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The name of the enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"organizations","description":"A list of organizations that belong to this enterprise.","args":[{"name":"query","description":"The search string to look for.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for organizations returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"OrganizationOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"ownerInfo","description":"Enterprise information only visible to enterprise owners.","args":[],"type":{"kind":"OBJECT","name":"EnterpriseOwnerInfo","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":"The URL-friendly identifier for the enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"userAccounts","description":"A list of user accounts on this enterprise.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseUserAccountConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerIsAdmin","description":"Is the current viewer an admin of this enterprise?","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"websiteUrl","description":"The URL of the enterprise website.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseAdministratorConnection","description":"The connection type for User.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseAdministratorEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseAdministratorEdge","description":"A User who is an administrator of an enterprise.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"role","description":"The role of the administrator.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseAdministratorRole","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseAdministratorInvitation","description":"An invitation for a user to become an owner or billing manager of an enterprise.","fields":[{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"email","description":"The email of the person who was invited to the enterprise.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise the invitation is for.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Enterprise","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"invitee","description":"The user who was invited to the enterprise.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"inviter","description":"The user who created the invitation.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"role","description":"The invitee's pending role in the enterprise (owner or billing_manager).","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseAdministratorRole","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseAdministratorInvitationConnection","description":"The connection type for EnterpriseAdministratorInvitation.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseAdministratorInvitationEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseAdministratorInvitation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseAdministratorInvitationEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"EnterpriseAdministratorInvitation","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"EnterpriseAdministratorInvitationOrder","description":"Ordering options for enterprise administrator invitation connections","fields":null,"inputFields":[{"name":"field","description":"The field to order enterprise administrator invitations by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseAdministratorInvitationOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"EnterpriseAdministratorInvitationOrderField","description":"Properties by which enterprise administrator invitation connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order enterprise administrator member invitations by creation time","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"EnterpriseAdministratorRole","description":"The possible administrator roles in an enterprise account.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"OWNER","description":"Represents an owner of the enterprise account.","isDeprecated":false,"deprecationReason":null},{"name":"BILLING_MANAGER","description":"Represents a billing manager of the enterprise account.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INTERFACE","name":"EnterpriseAuditEntryData","description":"Metadata for an audit entry containing enterprise account information.","fields":[{"name":"enterpriseResourcePath","description":"The HTTP path for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseSlug","description":"The slug of the enterprise.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseUrl","description":"The HTTP URL for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"MembersCanDeleteReposClearAuditEntry","ofType":null},{"kind":"OBJECT","name":"MembersCanDeleteReposDisableAuditEntry","ofType":null},{"kind":"OBJECT","name":"MembersCanDeleteReposEnableAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgInviteToBusinessAuditEntry","ofType":null},{"kind":"OBJECT","name":"PrivateRepositoryForkingDisableAuditEntry","ofType":null},{"kind":"OBJECT","name":"PrivateRepositoryForkingEnableAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepositoryVisibilityChangeDisableAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepositoryVisibilityChangeEnableAuditEntry","ofType":null}]},{"kind":"OBJECT","name":"EnterpriseBillingInfo","description":"Enterprise billing information visible to enterprise billing managers and owners.","fields":[{"name":"allLicensableUsersCount","description":"The number of licenseable users/emails across the enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"assetPacks","description":"The number of data packs used by all organizations owned by the enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"availableSeats","description":"The number of available seats across all owned organizations based on the unique number of billable users.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":true,"deprecationReason":"`availableSeats` will be replaced with `totalAvailableLicenses` to provide more clarity on the value being returned Use EnterpriseBillingInfo.totalAvailableLicenses instead. Removal on 2020-01-01 UTC."},{"name":"bandwidthQuota","description":"The bandwidth quota in GB for all organizations owned by the enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bandwidthUsage","description":"The bandwidth usage in GB for all organizations owned by the enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bandwidthUsagePercentage","description":"The bandwidth usage as a percentage of the bandwidth quota.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"seats","description":"The total seats across all organizations owned by the enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":true,"deprecationReason":"`seats` will be replaced with `totalLicenses` to provide more clarity on the value being returned Use EnterpriseBillingInfo.totalLicenses instead. Removal on 2020-01-01 UTC."},{"name":"storageQuota","description":"The storage quota in GB for all organizations owned by the enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"storageUsage","description":"The storage usage in GB for all organizations owned by the enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"storageUsagePercentage","description":"The storage usage as a percentage of the storage quota.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalAvailableLicenses","description":"The number of available licenses across all owned organizations based on the unique number of billable users.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalLicenses","description":"The total number of licenses allocated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"EnterpriseDefaultRepositoryPermissionSettingValue","description":"The possible values for the enterprise default repository permission setting.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"NO_POLICY","description":"Organizations in the enterprise choose default repository permissions for their members.","isDeprecated":false,"deprecationReason":null},{"name":"ADMIN","description":"Organization members will be able to clone, pull, push, and add new collaborators to all organization repositories.","isDeprecated":false,"deprecationReason":null},{"name":"WRITE","description":"Organization members will be able to clone, pull, and push all organization repositories.","isDeprecated":false,"deprecationReason":null},{"name":"READ","description":"Organization members will be able to clone and pull all organization repositories.","isDeprecated":false,"deprecationReason":null},{"name":"NONE","description":"Organization members will only be able to clone and pull public repositories.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","description":"The possible values for an enabled/disabled enterprise setting.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ENABLED","description":"The setting is enabled for organizations in the enterprise.","isDeprecated":false,"deprecationReason":null},{"name":"DISABLED","description":"The setting is disabled for organizations in the enterprise.","isDeprecated":false,"deprecationReason":null},{"name":"NO_POLICY","description":"There is no policy set for organizations in the enterprise.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"EnterpriseEnabledSettingValue","description":"The possible values for an enabled/no policy enterprise setting.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ENABLED","description":"The setting is enabled for organizations in the enterprise.","isDeprecated":false,"deprecationReason":null},{"name":"NO_POLICY","description":"There is no policy set for organizations in the enterprise.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseIdentityProvider","description":"An identity provider configured to provision identities for an enterprise.","fields":[{"name":"digestMethod","description":"The digest algorithm used to sign SAML requests for the identity provider.","args":[],"type":{"kind":"ENUM","name":"SamlDigestAlgorithm","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise this identity provider belongs to.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"externalIdentities","description":"ExternalIdentities provisioned by this identity provider.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ExternalIdentityConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"idpCertificate","description":"The x509 certificate used by the identity provider to sign assertions and responses.","args":[],"type":{"kind":"SCALAR","name":"X509Certificate","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"issuer","description":"The Issuer Entity ID for the SAML identity provider.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"recoveryCodes","description":"Recovery codes that can be used by admins to access the enterprise if the identity provider is unavailable.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"signatureMethod","description":"The signature algorithm used to sign SAML requests for the identity provider.","args":[],"type":{"kind":"ENUM","name":"SamlSignatureAlgorithm","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"ssoUrl","description":"The URL endpoint for the identity provider's SAML SSO.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"EnterpriseMember","description":"An object that is a member of an enterprise.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"EnterpriseUserAccount","ofType":null},{"kind":"OBJECT","name":"User","ofType":null}]},{"kind":"OBJECT","name":"EnterpriseMemberConnection","description":"The connection type for EnterpriseMember.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseMemberEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"UNION","name":"EnterpriseMember","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseMemberEdge","description":"A User who is a member of an enterprise through one or more organizations.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isUnlicensed","description":"Whether the user does not have a license for the enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":true,"deprecationReason":"All members consume a license Removal on 2021-01-01 UTC."},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"UNION","name":"EnterpriseMember","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"EnterpriseMemberOrder","description":"Ordering options for enterprise member connections.","fields":null,"inputFields":[{"name":"field","description":"The field to order enterprise members by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseMemberOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"EnterpriseMemberOrderField","description":"Properties by which enterprise member connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"LOGIN","description":"Order enterprise members by login","isDeprecated":false,"deprecationReason":null},{"name":"CREATED_AT","description":"Order enterprise members by creation time","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"EnterpriseMembersCanCreateRepositoriesSettingValue","description":"The possible values for the enterprise members can create repositories setting.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"NO_POLICY","description":"Organization administrators choose whether to allow members to create repositories.","isDeprecated":false,"deprecationReason":null},{"name":"ALL","description":"Members will be able to create public and private repositories.","isDeprecated":false,"deprecationReason":null},{"name":"PUBLIC","description":"Members will be able to create only public repositories.","isDeprecated":false,"deprecationReason":null},{"name":"PRIVATE","description":"Members will be able to create only private repositories.","isDeprecated":false,"deprecationReason":null},{"name":"DISABLED","description":"Members will not be able to create public or private repositories.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"EnterpriseMembersCanMakePurchasesSettingValue","description":"The possible values for the members can make purchases setting.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ENABLED","description":"The setting is enabled for organizations in the enterprise.","isDeprecated":false,"deprecationReason":null},{"name":"DISABLED","description":"The setting is disabled for organizations in the enterprise.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseOrganizationMembershipConnection","description":"The connection type for Organization.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseOrganizationMembershipEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Organization","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseOrganizationMembershipEdge","description":"An enterprise organization that a user is a member of.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"role","description":"The role of the user in the enterprise membership.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseUserAccountMembershipRole","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseOutsideCollaboratorConnection","description":"The connection type for User.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseOutsideCollaboratorEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseOutsideCollaboratorEdge","description":"A User who is an outside collaborator of an enterprise through one or more organizations.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isUnlicensed","description":"Whether the outside collaborator does not have a license for the enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":true,"deprecationReason":"All outside collaborators consume a license Removal on 2021-01-01 UTC."},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositories","description":"The enterprise organization repositories this user is a member of.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for repositories.","type":{"kind":"INPUT_OBJECT","name":"RepositoryOrder","ofType":null},"defaultValue":"{field: NAME, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseRepositoryInfoConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseOwnerInfo","description":"Enterprise information only visible to enterprise owners.","fields":[{"name":"admins","description":"A list of all of the administrators for this enterprise.","args":[{"name":"query","description":"The search string to look for.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"role","description":"The role to filter by.","type":{"kind":"ENUM","name":"EnterpriseAdministratorRole","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for administrators returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"EnterpriseMemberOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseAdministratorConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"affiliatedUsersWithTwoFactorDisabled","description":"A list of users in the enterprise who currently have two-factor authentication disabled.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"UserConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"affiliatedUsersWithTwoFactorDisabledExist","description":"Whether or not affiliated users with two-factor authentication disabled exist in the enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"allowPrivateRepositoryForkingSetting","description":"The setting value for whether private repository forking is enabled for repositories in organizations in this enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"allowPrivateRepositoryForkingSettingOrganizations","description":"A list of enterprise organizations configured with the provided private repository forking setting value.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"value","description":"The setting value to find organizations for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for organizations with this setting.","type":{"kind":"INPUT_OBJECT","name":"OrganizationOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"defaultRepositoryPermissionSetting","description":"The setting value for base repository permissions for organizations in this enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseDefaultRepositoryPermissionSettingValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"defaultRepositoryPermissionSettingOrganizations","description":"A list of enterprise organizations configured with the provided default repository permission.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"value","description":"The permission to find organizations for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"DefaultRepositoryPermissionField","ofType":null}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for organizations with this setting.","type":{"kind":"INPUT_OBJECT","name":"OrganizationOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"domains","description":"A list of domains owned by the enterprise.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"isVerified","description":"Filter whether or not the domain is verified.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"null"},{"name":"orderBy","description":"Ordering options for verifiable domains returned.","type":{"kind":"INPUT_OBJECT","name":"VerifiableDomainOrder","ofType":null},"defaultValue":"{field: DOMAIN, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"VerifiableDomainConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseServerInstallations","description":"Enterprise Server installations owned by the enterprise.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"connectedOnly","description":"Whether or not to only return installations discovered via GitHub Connect.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"orderBy","description":"Ordering options for Enterprise Server installations returned.","type":{"kind":"INPUT_OBJECT","name":"EnterpriseServerInstallationOrder","ofType":null},"defaultValue":"{field: HOST_NAME, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseServerInstallationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"ipAllowListEnabledSetting","description":"The setting value for whether the enterprise has an IP allow list enabled.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"IpAllowListEnabledSettingValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"ipAllowListEntries","description":"The IP addresses that are allowed to access resources owned by the enterprise.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for IP allow list entries returned.","type":{"kind":"INPUT_OBJECT","name":"IpAllowListEntryOrder","ofType":null},"defaultValue":"{field: ALLOW_LIST_VALUE, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"IpAllowListEntryConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isUpdatingDefaultRepositoryPermission","description":"Whether or not the default repository permission is currently being updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isUpdatingTwoFactorRequirement","description":"Whether the two-factor authentication requirement is currently being enforced.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanChangeRepositoryVisibilitySetting","description":"The setting value for whether organization members with admin permissions on a repository can change repository visibility.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanChangeRepositoryVisibilitySettingOrganizations","description":"A list of enterprise organizations configured with the provided can change repository visibility setting value.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"value","description":"The setting value to find organizations for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for organizations with this setting.","type":{"kind":"INPUT_OBJECT","name":"OrganizationOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanCreateInternalRepositoriesSetting","description":"The setting value for whether members of organizations in the enterprise can create internal repositories.","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanCreatePrivateRepositoriesSetting","description":"The setting value for whether members of organizations in the enterprise can create private repositories.","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanCreatePublicRepositoriesSetting","description":"The setting value for whether members of organizations in the enterprise can create public repositories.","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanCreateRepositoriesSetting","description":"The setting value for whether members of organizations in the enterprise can create repositories.","args":[],"type":{"kind":"ENUM","name":"EnterpriseMembersCanCreateRepositoriesSettingValue","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanCreateRepositoriesSettingOrganizations","description":"A list of enterprise organizations configured with the provided repository creation setting value.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"value","description":"The setting to find organizations for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrganizationMembersCanCreateRepositoriesSettingValue","ofType":null}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for organizations with this setting.","type":{"kind":"INPUT_OBJECT","name":"OrganizationOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanDeleteIssuesSetting","description":"The setting value for whether members with admin permissions for repositories can delete issues.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanDeleteIssuesSettingOrganizations","description":"A list of enterprise organizations configured with the provided members can delete issues setting value.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"value","description":"The setting value to find organizations for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for organizations with this setting.","type":{"kind":"INPUT_OBJECT","name":"OrganizationOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanDeleteRepositoriesSetting","description":"The setting value for whether members with admin permissions for repositories can delete or transfer repositories.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanDeleteRepositoriesSettingOrganizations","description":"A list of enterprise organizations configured with the provided members can delete repositories setting value.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"value","description":"The setting value to find organizations for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for organizations with this setting.","type":{"kind":"INPUT_OBJECT","name":"OrganizationOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanInviteCollaboratorsSetting","description":"The setting value for whether members of organizations in the enterprise can invite outside collaborators.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanInviteCollaboratorsSettingOrganizations","description":"A list of enterprise organizations configured with the provided members can invite collaborators setting value.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"value","description":"The setting value to find organizations for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for organizations with this setting.","type":{"kind":"INPUT_OBJECT","name":"OrganizationOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanMakePurchasesSetting","description":"Indicates whether members of this enterprise's organizations can purchase additional services for those organizations.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseMembersCanMakePurchasesSettingValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanUpdateProtectedBranchesSetting","description":"The setting value for whether members with admin permissions for repositories can update protected branches.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanUpdateProtectedBranchesSettingOrganizations","description":"A list of enterprise organizations configured with the provided members can update protected branches setting value.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"value","description":"The setting value to find organizations for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for organizations with this setting.","type":{"kind":"INPUT_OBJECT","name":"OrganizationOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanViewDependencyInsightsSetting","description":"The setting value for whether members can view dependency insights.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membersCanViewDependencyInsightsSettingOrganizations","description":"A list of enterprise organizations configured with the provided members can view dependency insights setting value.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"value","description":"The setting value to find organizations for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for organizations with this setting.","type":{"kind":"INPUT_OBJECT","name":"OrganizationOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"notificationDeliveryRestrictionEnabledSetting","description":"Indicates if email notification delivery for this enterprise is restricted to verified domains.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"NotificationRestrictionSettingValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"organizationProjectsSetting","description":"The setting value for whether organization projects are enabled for organizations in this enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"organizationProjectsSettingOrganizations","description":"A list of enterprise organizations configured with the provided organization projects setting value.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"value","description":"The setting value to find organizations for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for organizations with this setting.","type":{"kind":"INPUT_OBJECT","name":"OrganizationOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"outsideCollaborators","description":"A list of outside collaborators across the repositories in the enterprise.","args":[{"name":"login","description":"The login of one specific outside collaborator.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"query","description":"The search string to look for.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for outside collaborators returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"EnterpriseMemberOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"},{"name":"visibility","description":"Only return outside collaborators on repositories with this visibility.","type":{"kind":"ENUM","name":"RepositoryVisibility","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseOutsideCollaboratorConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pendingAdminInvitations","description":"A list of pending administrator invitations for the enterprise.","args":[{"name":"query","description":"The search string to look for.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for pending enterprise administrator invitations returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"EnterpriseAdministratorInvitationOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: DESC}"},{"name":"role","description":"The role to filter by.","type":{"kind":"ENUM","name":"EnterpriseAdministratorRole","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseAdministratorInvitationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pendingCollaboratorInvitations","description":"A list of pending collaborator invitations across the repositories in the enterprise.","args":[{"name":"query","description":"The search string to look for.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for pending repository collaborator invitations returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"RepositoryInvitationOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: DESC}"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryInvitationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pendingCollaborators","description":"A list of pending collaborators across the repositories in the enterprise.","args":[{"name":"query","description":"The search string to look for.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for pending repository collaborator invitations returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"RepositoryInvitationOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: DESC}"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterprisePendingCollaboratorConnection","ofType":null}},"isDeprecated":true,"deprecationReason":"Repository invitations can now be associated with an email, not only an invitee. Use the `pendingCollaboratorInvitations` field instead. Removal on 2020-10-01 UTC."},{"name":"pendingMemberInvitations","description":"A list of pending member invitations for organizations in the enterprise.","args":[{"name":"query","description":"The search string to look for.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterprisePendingMemberInvitationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryProjectsSetting","description":"The setting value for whether repository projects are enabled in this enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryProjectsSettingOrganizations","description":"A list of enterprise organizations configured with the provided repository projects setting value.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"value","description":"The setting value to find organizations for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for organizations with this setting.","type":{"kind":"INPUT_OBJECT","name":"OrganizationOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"samlIdentityProvider","description":"The SAML Identity Provider for the enterprise.","args":[],"type":{"kind":"OBJECT","name":"EnterpriseIdentityProvider","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"samlIdentityProviderSettingOrganizations","description":"A list of enterprise organizations configured with the SAML single sign-on setting value.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"value","description":"The setting value to find organizations for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"IdentityProviderConfigurationState","ofType":null}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for organizations with this setting.","type":{"kind":"INPUT_OBJECT","name":"OrganizationOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"supportEntitlements","description":"A list of members with a support entitlement.","args":[{"name":"orderBy","description":"Ordering options for support entitlement users returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"EnterpriseMemberOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseMemberConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"teamDiscussionsSetting","description":"The setting value for whether team discussions are enabled for organizations in this enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"teamDiscussionsSettingOrganizations","description":"A list of enterprise organizations configured with the provided team discussions setting value.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"value","description":"The setting value to find organizations for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for organizations with this setting.","type":{"kind":"INPUT_OBJECT","name":"OrganizationOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"twoFactorRequiredSetting","description":"The setting value for whether the enterprise requires two-factor authentication for its organizations and users.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledSettingValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"twoFactorRequiredSettingOrganizations","description":"A list of enterprise organizations configured with the two-factor authentication setting value.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"value","description":"The setting value to find organizations for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for organizations with this setting.","type":{"kind":"INPUT_OBJECT","name":"OrganizationOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterprisePendingCollaboratorConnection","description":"The connection type for User.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterprisePendingCollaboratorEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterprisePendingCollaboratorEdge","description":"A user with an invitation to be a collaborator on a repository owned by an organization in an enterprise.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isUnlicensed","description":"Whether the invited collaborator does not have a license for the enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":true,"deprecationReason":"All pending collaborators consume a license Removal on 2021-01-01 UTC."},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositories","description":"The enterprise organization repositories this user is a member of.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for repositories.","type":{"kind":"INPUT_OBJECT","name":"RepositoryOrder","ofType":null},"defaultValue":"{field: NAME, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseRepositoryInfoConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterprisePendingMemberInvitationConnection","description":"The connection type for OrganizationInvitation.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterprisePendingMemberInvitationEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationInvitation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalUniqueUserCount","description":"Identifies the total count of unique users in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterprisePendingMemberInvitationEdge","description":"An invitation to be a member in an enterprise organization.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isUnlicensed","description":"Whether the invitation has a license for the enterprise.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":true,"deprecationReason":"All pending members consume a license Removal on 2020-07-01 UTC."},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"OrganizationInvitation","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseRepositoryInfo","description":"A subset of repository information queryable from an enterprise.","fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isPrivate","description":"Identifies if the repository is private.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The repository's name.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nameWithOwner","description":"The repository's name with owner.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseRepositoryInfoConnection","description":"The connection type for EnterpriseRepositoryInfo.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseRepositoryInfoEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseRepositoryInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseRepositoryInfoEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"EnterpriseRepositoryInfo","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseServerInstallation","description":"An Enterprise Server installation.","fields":[{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customerName","description":"The customer name to which the Enterprise Server installation belongs.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hostName","description":"The host name of the Enterprise Server installation.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isConnected","description":"Whether or not the installation is connected to an Enterprise Server installation via GitHub Connect.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"userAccounts","description":"User accounts on this Enterprise Server installation.","args":[{"name":"orderBy","description":"Ordering options for Enterprise Server user accounts returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"EnterpriseServerUserAccountOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseServerUserAccountConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"userAccountsUploads","description":"User accounts uploads for the Enterprise Server installation.","args":[{"name":"orderBy","description":"Ordering options for Enterprise Server user accounts uploads returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"EnterpriseServerUserAccountsUploadOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: DESC}"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseServerUserAccountsUploadConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseServerInstallationConnection","description":"The connection type for EnterpriseServerInstallation.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseServerInstallationEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseServerInstallation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseServerInstallationEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"EnterpriseServerInstallation","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"EnterpriseServerInstallationOrder","description":"Ordering options for Enterprise Server installation connections.","fields":null,"inputFields":[{"name":"field","description":"The field to order Enterprise Server installations by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseServerInstallationOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"EnterpriseServerInstallationOrderField","description":"Properties by which Enterprise Server installation connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"HOST_NAME","description":"Order Enterprise Server installations by host name","isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_NAME","description":"Order Enterprise Server installations by customer name","isDeprecated":false,"deprecationReason":null},{"name":"CREATED_AT","description":"Order Enterprise Server installations by creation time","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseServerUserAccount","description":"A user account on an Enterprise Server installation.","fields":[{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"emails","description":"User emails belonging to this user account.","args":[{"name":"orderBy","description":"Ordering options for Enterprise Server user account emails returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"EnterpriseServerUserAccountEmailOrder","ofType":null},"defaultValue":"{field: EMAIL, direction: ASC}"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseServerUserAccountEmailConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseServerInstallation","description":"The Enterprise Server installation on which this user account exists.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseServerInstallation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isSiteAdmin","description":"Whether the user account is a site administrator on the Enterprise Server installation.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"login","description":"The login of the user account on the Enterprise Server installation.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"profileName","description":"The profile name of the user account on the Enterprise Server installation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"remoteCreatedAt","description":"The date and time when the user account was created on the Enterprise Server installation.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"remoteUserId","description":"The ID of the user account on the Enterprise Server installation.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseServerUserAccountConnection","description":"The connection type for EnterpriseServerUserAccount.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseServerUserAccountEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseServerUserAccount","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseServerUserAccountEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"EnterpriseServerUserAccount","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseServerUserAccountEmail","description":"An email belonging to a user account on an Enterprise Server installation.","fields":[{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"email","description":"The email address.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isPrimary","description":"Indicates whether this is the primary email of the associated user account.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"userAccount","description":"The user account to which the email belongs.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseServerUserAccount","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseServerUserAccountEmailConnection","description":"The connection type for EnterpriseServerUserAccountEmail.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseServerUserAccountEmailEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseServerUserAccountEmail","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseServerUserAccountEmailEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"EnterpriseServerUserAccountEmail","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"EnterpriseServerUserAccountEmailOrder","description":"Ordering options for Enterprise Server user account email connections.","fields":null,"inputFields":[{"name":"field","description":"The field to order emails by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseServerUserAccountEmailOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"EnterpriseServerUserAccountEmailOrderField","description":"Properties by which Enterprise Server user account email connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"EMAIL","description":"Order emails by email","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"EnterpriseServerUserAccountOrder","description":"Ordering options for Enterprise Server user account connections.","fields":null,"inputFields":[{"name":"field","description":"The field to order user accounts by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseServerUserAccountOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"EnterpriseServerUserAccountOrderField","description":"Properties by which Enterprise Server user account connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"LOGIN","description":"Order user accounts by login","isDeprecated":false,"deprecationReason":null},{"name":"REMOTE_CREATED_AT","description":"Order user accounts by creation time on the Enterprise Server installation","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseServerUserAccountsUpload","description":"A user accounts upload from an Enterprise Server installation.","fields":[{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise to which this upload belongs.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Enterprise","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseServerInstallation","description":"The Enterprise Server installation for which this upload was generated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseServerInstallation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The name of the file uploaded.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"syncState","description":"The synchronization state of the upload","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseServerUserAccountsUploadSyncState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseServerUserAccountsUploadConnection","description":"The connection type for EnterpriseServerUserAccountsUpload.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseServerUserAccountsUploadEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseServerUserAccountsUpload","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseServerUserAccountsUploadEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"EnterpriseServerUserAccountsUpload","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"EnterpriseServerUserAccountsUploadOrder","description":"Ordering options for Enterprise Server user accounts upload connections.","fields":null,"inputFields":[{"name":"field","description":"The field to order user accounts uploads by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseServerUserAccountsUploadOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"EnterpriseServerUserAccountsUploadOrderField","description":"Properties by which Enterprise Server user accounts upload connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order user accounts uploads by creation time","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"EnterpriseServerUserAccountsUploadSyncState","description":"Synchronization state of the Enterprise Server user accounts upload","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"PENDING","description":"The synchronization of the upload is pending.","isDeprecated":false,"deprecationReason":null},{"name":"SUCCESS","description":"The synchronization of the upload succeeded.","isDeprecated":false,"deprecationReason":null},{"name":"FAILURE","description":"The synchronization of the upload failed.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseUserAccount","description":"An account for a user who is an admin of an enterprise or a member of an enterprise through one or more organizations.","fields":[{"name":"avatarUrl","description":"A URL pointing to the enterprise user account's public avatar.","args":[{"name":"size","description":"The size of the resulting square image.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise in which this user account exists.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Enterprise","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"login","description":"An identifier for the enterprise user account, a login or email address","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The name of the enterprise user account","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizations","description":"A list of enterprise organizations this user is a member of.","args":[{"name":"query","description":"The search string to look for.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for organizations returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"OrganizationOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"},{"name":"role","description":"The role of the user in the enterprise organization.","type":{"kind":"ENUM","name":"EnterpriseUserAccountMembershipRole","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseOrganizationMembershipConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this user.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this user.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user within the enterprise.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Actor","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseUserAccountConnection","description":"The connection type for EnterpriseUserAccount.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseUserAccountEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"EnterpriseUserAccount","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EnterpriseUserAccountEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"EnterpriseUserAccount","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"EnterpriseUserAccountMembershipRole","description":"The possible roles for enterprise membership.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"MEMBER","description":"The user is a member of the enterprise membership.","isDeprecated":false,"deprecationReason":null},{"name":"OWNER","description":"The user is an owner of the enterprise membership.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"EnterpriseUserDeployment","description":"The possible GitHub Enterprise deployments where this user can exist.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CLOUD","description":"The user is part of a GitHub Enterprise Cloud deployment.","isDeprecated":false,"deprecationReason":null},{"name":"SERVER","description":"The user is part of a GitHub Enterprise Server deployment.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"ExternalIdentity","description":"An external identity provisioned by SAML SSO or SCIM.","fields":[{"name":"guid","description":"The GUID for this identity","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"organizationInvitation","description":"Organization invitation for this SCIM-provisioned external identity","args":[],"type":{"kind":"OBJECT","name":"OrganizationInvitation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"samlIdentity","description":"SAML Identity attributes","args":[],"type":{"kind":"OBJECT","name":"ExternalIdentitySamlAttributes","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"scimIdentity","description":"SCIM Identity attributes","args":[],"type":{"kind":"OBJECT","name":"ExternalIdentityScimAttributes","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"User linked to this external identity. Will be NULL if this identity has not been claimed by an organization member.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ExternalIdentityConnection","description":"The connection type for ExternalIdentity.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ExternalIdentityEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ExternalIdentity","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ExternalIdentityEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"ExternalIdentity","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ExternalIdentitySamlAttributes","description":"SAML attributes for the External Identity","fields":[{"name":"emails","description":"The emails associated with the SAML identity","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"UserEmailMetadata","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"familyName","description":"Family name of the SAML identity","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"givenName","description":"Given name of the SAML identity","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"groups","description":"The groups linked to this identity in IDP","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"nameId","description":"The NameID of the SAML identity","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"username","description":"The userName of the SAML identity","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ExternalIdentityScimAttributes","description":"SCIM attributes for the External Identity","fields":[{"name":"emails","description":"The emails associated with the SCIM identity","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"UserEmailMetadata","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"familyName","description":"Family name of the SCIM identity","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"givenName","description":"Given name of the SCIM identity","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"groups","description":"The groups linked to this identity in IDP","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"username","description":"The userName of the SCIM identity","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"FileViewedState","description":"The possible viewed states of a file .","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"DISMISSED","description":"The file has new changes since last viewed.","isDeprecated":false,"deprecationReason":null},{"name":"VIEWED","description":"The file has been marked as viewed.","isDeprecated":false,"deprecationReason":null},{"name":"UNVIEWED","description":"The file has not been marked as viewed.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"SCALAR","name":"Float","description":"Represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"FollowUserInput","description":"Autogenerated input type of FollowUser","fields":null,"inputFields":[{"name":"userId","description":"ID of the user to follow.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FollowUserPayload","description":"Autogenerated return type of FollowUser","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user that was followed.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FollowerConnection","description":"The connection type for User.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"UserEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FollowingConnection","description":"The connection type for User.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"UserEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FundingLink","description":"A funding platform link for a repository.","fields":[{"name":"platform","description":"The funding platform this link is for.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"FundingPlatform","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The configured URL for this funding link.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"FundingPlatform","description":"The possible funding platforms for repository funding links.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"GITHUB","description":"GitHub funding platform.","isDeprecated":false,"deprecationReason":null},{"name":"PATREON","description":"Patreon funding platform.","isDeprecated":false,"deprecationReason":null},{"name":"OPEN_COLLECTIVE","description":"Open Collective funding platform.","isDeprecated":false,"deprecationReason":null},{"name":"KO_FI","description":"Ko-fi funding platform.","isDeprecated":false,"deprecationReason":null},{"name":"TIDELIFT","description":"Tidelift funding platform.","isDeprecated":false,"deprecationReason":null},{"name":"COMMUNITY_BRIDGE","description":"Community Bridge funding platform.","isDeprecated":false,"deprecationReason":null},{"name":"LIBERAPAY","description":"Liberapay funding platform.","isDeprecated":false,"deprecationReason":null},{"name":"ISSUEHUNT","description":"IssueHunt funding platform.","isDeprecated":false,"deprecationReason":null},{"name":"OTECHIE","description":"Otechie funding platform.","isDeprecated":false,"deprecationReason":null},{"name":"CUSTOM","description":"Custom funding platform.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"GenericHovercardContext","description":"A generic hovercard context with a message and icon","fields":[{"name":"message","description":"A string describing this context","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"octicon","description":"An octicon to accompany this context","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"HovercardContext","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Gist","description":"A Gist.","fields":[{"name":"comments","description":"A list of comments associated with the gist","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"GistCommentConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":"The gist description.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"files","description":"The files in this gist.","args":[{"name":"limit","description":"The maximum number of files to return.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":"10"},{"name":"oid","description":"The oid of the files to return","type":{"kind":"SCALAR","name":"GitObjectID","ofType":null},"defaultValue":null}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"GistFile","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"forks","description":"A list of forks associated with the gist","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for gists returned from the connection","type":{"kind":"INPUT_OBJECT","name":"GistOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"GistConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isFork","description":"Identifies if the gist is a fork.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isPublic","description":"Whether the gist is public or not.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The gist name.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"owner","description":"The gist owner.","args":[],"type":{"kind":"INTERFACE","name":"RepositoryOwner","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pushedAt","description":"Identifies when the gist was last pushed to.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTML path to this resource.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"stargazerCount","description":"Returns a count of how many stargazers there are on this object\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"stargazers","description":"A list of users who have starred this starrable.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Order for connection","type":{"kind":"INPUT_OBJECT","name":"StarOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"StargazerConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this Gist.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerHasStarred","description":"Returns a boolean indicating whether the viewing user has starred this starrable.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Starrable","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"GistComment","description":"Represents a comment on an Gist.","fields":[{"name":"author","description":"The actor who authored the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"authorAssociation","description":"Author's association with the gist.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentAuthorAssociation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"body","description":"Identifies the comment body.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyHTML","description":"The body rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyText","description":"The body rendered to text.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdViaEmail","description":"Check if this comment was created via an email reply.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"editor","description":"The actor who edited the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"gist","description":"The associated gist.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Gist","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"includesCreatedEdit","description":"Check if this comment was edited and includes an edit with the creation data","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isMinimized","description":"Returns whether or not a comment has been minimized.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lastEditedAt","description":"The moment the editor made the last edit","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"minimizedReason","description":"Returns why the comment was minimized.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"publishedAt","description":"Identifies when the comment was published at.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"userContentEdits","description":"A list of edits to this content.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UserContentEditConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanDelete","description":"Check if the current viewer can delete this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanMinimize","description":"Check if the current viewer can minimize this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanUpdate","description":"Check if the current viewer can update this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCannotUpdateReasons","description":"Reasons why the current viewer can not update this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentCannotUpdateReason","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerDidAuthor","description":"Did the viewer author this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Comment","ofType":null},{"kind":"INTERFACE","name":"Deletable","ofType":null},{"kind":"INTERFACE","name":"Minimizable","ofType":null},{"kind":"INTERFACE","name":"Updatable","ofType":null},{"kind":"INTERFACE","name":"UpdatableComment","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"GistCommentConnection","description":"The connection type for GistComment.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"GistCommentEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"GistComment","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"GistCommentEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"GistComment","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"GistConnection","description":"The connection type for Gist.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"GistEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Gist","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"GistEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"Gist","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"GistFile","description":"A file in a gist.","fields":[{"name":"encodedName","description":"The file name encoded to remove characters that are invalid in URL paths.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"encoding","description":"The gist file encoding.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"extension","description":"The file extension from the file name.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"isImage","description":"Indicates if this file is an image.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isTruncated","description":"Whether the file's contents were truncated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"language","description":"The programming language this file is written in.","args":[],"type":{"kind":"OBJECT","name":"Language","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The gist file name.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"size","description":"The gist file size in bytes.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"text","description":"UTF8 text data or null if the file is binary","args":[{"name":"truncate","description":"Optionally truncate the returned file to this length.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"GistOrder","description":"Ordering options for gist connections","fields":null,"inputFields":[{"name":"field","description":"The field to order repositories by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"GistOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"GistOrderField","description":"Properties by which gist connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order gists by creation time","isDeprecated":false,"deprecationReason":null},{"name":"UPDATED_AT","description":"Order gists by update time","isDeprecated":false,"deprecationReason":null},{"name":"PUSHED_AT","description":"Order gists by push time","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"GistPrivacy","description":"The privacy of a Gist","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"PUBLIC","description":"Public","isDeprecated":false,"deprecationReason":null},{"name":"SECRET","description":"Secret","isDeprecated":false,"deprecationReason":null},{"name":"ALL","description":"Gists that are public and secret","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"GitActor","description":"Represents an actor in a Git commit (ie. an author or committer).","fields":[{"name":"avatarUrl","description":"A URL pointing to the author's public avatar.","args":[{"name":"size","description":"The size of the resulting square image.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"date","description":"The timestamp of the Git action (authoring or committing).","args":[],"type":{"kind":"SCALAR","name":"GitTimestamp","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"email","description":"The email in the Git commit.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The name in the Git commit.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The GitHub user corresponding to the email field. Null if no such user exists.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"GitActorConnection","description":"The connection type for GitActor.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"GitActorEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"GitActor","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"GitActorEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"GitActor","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"GitHubMetadata","description":"Represents information about the GitHub instance.","fields":[{"name":"gitHubServicesSha","description":"Returns a String that's a SHA of `github-services`","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"GitObjectID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"gitIpAddresses","description":"IP addresses that users connect to for git operations","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"hookIpAddresses","description":"IP addresses that service hooks are sent from","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"importerIpAddresses","description":"IP addresses that the importer connects from","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"isPasswordAuthenticationVerifiable","description":"Whether or not users are verified","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pagesIpAddresses","description":"IP addresses for GitHub Pages' A records","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"GitObject","description":"Represents a Git object.","fields":[{"name":"abbreviatedOid","description":"An abbreviated version of the Git object ID","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commitResourcePath","description":"The HTTP path for this Git object","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commitUrl","description":"The HTTP URL for this Git object","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"oid","description":"The Git object ID","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"GitObjectID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The Repository the Git object belongs to","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Blob","ofType":null},{"kind":"OBJECT","name":"Commit","ofType":null},{"kind":"OBJECT","name":"Tag","ofType":null},{"kind":"OBJECT","name":"Tree","ofType":null}]},{"kind":"SCALAR","name":"GitObjectID","description":"A Git object ID.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"GitSSHRemote","description":"Git SSH string","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"GitSignature","description":"Information about a signature (GPG or S/MIME) on a Commit or Tag.","fields":[{"name":"email","description":"Email used to sign this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isValid","description":"True if the signature is valid and verified by GitHub.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"payload","description":"Payload for GPG signing object. Raw ODB object without the signature header.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"signature","description":"ASCII-armored signature header from object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"signer","description":"GitHub user corresponding to the email signing this commit.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":"The state of this signature. `VALID` if signature is valid and verified by GitHub, otherwise represents reason why signature is considered invalid.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"GitSignatureState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"wasSignedByGitHub","description":"True if the signature was made with GitHub's signing key.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"GpgSignature","ofType":null},{"kind":"OBJECT","name":"SmimeSignature","ofType":null},{"kind":"OBJECT","name":"UnknownSignature","ofType":null}]},{"kind":"ENUM","name":"GitSignatureState","description":"The state of a Git signature.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"VALID","description":"Valid signature and verified by GitHub","isDeprecated":false,"deprecationReason":null},{"name":"INVALID","description":"Invalid signature","isDeprecated":false,"deprecationReason":null},{"name":"MALFORMED_SIG","description":"Malformed signature","isDeprecated":false,"deprecationReason":null},{"name":"UNKNOWN_KEY","description":"Key used for signing not known to GitHub","isDeprecated":false,"deprecationReason":null},{"name":"BAD_EMAIL","description":"Invalid email used for signing","isDeprecated":false,"deprecationReason":null},{"name":"UNVERIFIED_EMAIL","description":"Email used for signing unverified on GitHub","isDeprecated":false,"deprecationReason":null},{"name":"NO_USER","description":"Email used for signing not known to GitHub","isDeprecated":false,"deprecationReason":null},{"name":"UNKNOWN_SIG_TYPE","description":"Unknown signature type","isDeprecated":false,"deprecationReason":null},{"name":"UNSIGNED","description":"Unsigned","isDeprecated":false,"deprecationReason":null},{"name":"GPGVERIFY_UNAVAILABLE","description":"Internal error - the GPG verification service is unavailable at the moment","isDeprecated":false,"deprecationReason":null},{"name":"GPGVERIFY_ERROR","description":"Internal error - the GPG verification service misbehaved","isDeprecated":false,"deprecationReason":null},{"name":"NOT_SIGNING_KEY","description":"The usage flags for the key that signed this don't allow signing","isDeprecated":false,"deprecationReason":null},{"name":"EXPIRED_KEY","description":"Signing key expired","isDeprecated":false,"deprecationReason":null},{"name":"OCSP_PENDING","description":"Valid signature, pending certificate revocation checking","isDeprecated":false,"deprecationReason":null},{"name":"OCSP_ERROR","description":"Valid signature, though certificate revocation check failed","isDeprecated":false,"deprecationReason":null},{"name":"BAD_CERT","description":"The signing certificate or its chain could not be verified","isDeprecated":false,"deprecationReason":null},{"name":"OCSP_REVOKED","description":"One or more certificates in chain has been revoked","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"SCALAR","name":"GitTimestamp","description":"An ISO-8601 encoded date string. Unlike the DateTime type, GitTimestamp is not converted in UTC.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"GpgSignature","description":"Represents a GPG signature on a Commit or Tag.","fields":[{"name":"email","description":"Email used to sign this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isValid","description":"True if the signature is valid and verified by GitHub.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"keyId","description":"Hex-encoded ID of the key that signed this object.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"payload","description":"Payload for GPG signing object. Raw ODB object without the signature header.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"signature","description":"ASCII-armored signature header from object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"signer","description":"GitHub user corresponding to the email signing this commit.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":"The state of this signature. `VALID` if signature is valid and verified by GitHub, otherwise represents reason why signature is considered invalid.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"GitSignatureState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"wasSignedByGitHub","description":"True if the signature was made with GitHub's signing key.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"GitSignature","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"HTML","description":"A string containing HTML code.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"HeadRefDeletedEvent","description":"Represents a 'head_ref_deleted' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"headRef","description":"Identifies the Ref associated with the `head_ref_deleted` event.","args":[],"type":{"kind":"OBJECT","name":"Ref","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"headRefName","description":"Identifies the name of the Ref associated with the `head_ref_deleted` event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"HeadRefForcePushedEvent","description":"Represents a 'head_ref_force_pushed' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"afterCommit","description":"Identifies the after commit SHA for the 'head_ref_force_pushed' event.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"beforeCommit","description":"Identifies the before commit SHA for the 'head_ref_force_pushed' event.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"ref","description":"Identifies the fully qualified ref name for the 'head_ref_force_pushed' event.","args":[],"type":{"kind":"OBJECT","name":"Ref","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"HeadRefRestoredEvent","description":"Represents a 'head_ref_restored' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Hovercard","description":"Detail needed to display a hovercard for a user","fields":[{"name":"contexts","description":"Each of the contexts for this hovercard","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"HovercardContext","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"HovercardContext","description":"An individual line of a hovercard","fields":[{"name":"message","description":"A string describing this context","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"octicon","description":"An octicon to accompany this context","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"GenericHovercardContext","ofType":null},{"kind":"OBJECT","name":"OrganizationTeamsHovercardContext","ofType":null},{"kind":"OBJECT","name":"OrganizationsHovercardContext","ofType":null},{"kind":"OBJECT","name":"ReviewStatusHovercardContext","ofType":null},{"kind":"OBJECT","name":"ViewerHovercardContext","ofType":null}]},{"kind":"SCALAR","name":"ID","description":"Represents a unique identifier that is Base64 obfuscated. It is often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"VXNlci0xMA==\"`) or integer (such as `4`) input value will be accepted as an ID.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"IdentityProviderConfigurationState","description":"The possible states in which authentication can be configured with an identity provider.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ENFORCED","description":"Authentication with an identity provider is configured and enforced.","isDeprecated":false,"deprecationReason":null},{"name":"CONFIGURED","description":"Authentication with an identity provider is configured but not enforced.","isDeprecated":false,"deprecationReason":null},{"name":"UNCONFIGURED","description":"Authentication with an identity provider is not configured.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"SCALAR","name":"Int","description":"Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"InviteEnterpriseAdminInput","description":"Autogenerated input type of InviteEnterpriseAdmin","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise to which you want to invite an administrator.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"invitee","description":"The login of a user to invite as an administrator.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"email","description":"The email of the person to invite as an administrator.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"role","description":"The role of the administrator.","type":{"kind":"ENUM","name":"EnterpriseAdministratorRole","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"InviteEnterpriseAdminPayload","description":"Autogenerated return type of InviteEnterpriseAdmin","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"invitation","description":"The created enterprise administrator invitation.","args":[],"type":{"kind":"OBJECT","name":"EnterpriseAdministratorInvitation","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"IpAllowListEnabledSettingValue","description":"The possible values for the IP allow list enabled setting.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ENABLED","description":"The setting is enabled for the owner.","isDeprecated":false,"deprecationReason":null},{"name":"DISABLED","description":"The setting is disabled for the owner.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"IpAllowListEntry","description":"An IP address or range of addresses that is allowed to access an owner's resources.","fields":[{"name":"allowListValue","description":"A single IP address or range of IP addresses in CIDR notation.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isActive","description":"Whether the entry is currently active.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The name of the IP allow list entry.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"owner","description":"The owner of the IP allow list entry.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"IpAllowListOwner","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"IpAllowListEntryConnection","description":"The connection type for IpAllowListEntry.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"IpAllowListEntryEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"IpAllowListEntry","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"IpAllowListEntryEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"IpAllowListEntry","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"IpAllowListEntryOrder","description":"Ordering options for IP allow list entry connections.","fields":null,"inputFields":[{"name":"field","description":"The field to order IP allow list entries by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"IpAllowListEntryOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"IpAllowListEntryOrderField","description":"Properties by which IP allow list entry connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order IP allow list entries by creation time.","isDeprecated":false,"deprecationReason":null},{"name":"ALLOW_LIST_VALUE","description":"Order IP allow list entries by the allow list value.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"UNION","name":"IpAllowListOwner","description":"Types that can own an IP allow list.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Enterprise","ofType":null},{"kind":"OBJECT","name":"Organization","ofType":null}]},{"kind":"OBJECT","name":"Issue","description":"An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project.","fields":[{"name":"activeLockReason","description":"Reason that the conversation was locked.","args":[],"type":{"kind":"ENUM","name":"LockReason","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"assignees","description":"A list of Users assigned to this object.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"UserConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"author","description":"The actor who authored the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"authorAssociation","description":"Author's association with the subject of the comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentAuthorAssociation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"body","description":"Identifies the body of the issue.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyHTML","description":"The body rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyResourcePath","description":"The http path for this issue body","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyText","description":"Identifies the body of the issue rendered to text.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyUrl","description":"The http URL for this issue body","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"closed","description":"`true` if the object is closed (definition of closed may depend on type)","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"closedAt","description":"Identifies the date and time when the object was closed.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"comments","description":"A list of comments associated with the Issue.","args":[{"name":"orderBy","description":"Ordering options for issue comments returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"IssueCommentOrder","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"IssueCommentConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdViaEmail","description":"Check if this comment was created via an email reply.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"editor","description":"The actor who edited the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"hovercard","description":"The hovercard information for this issue","args":[{"name":"includeNotificationContexts","description":"Whether or not to include notification contexts","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"true"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Hovercard","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"includesCreatedEdit","description":"Check if this comment was edited and includes an edit with the creation data","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isPinned","description":"Indicates whether or not this issue is currently pinned to the repository issues list","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"isReadByViewer","description":"Is this issue read by the viewer","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"labels","description":"A list of labels associated with the object.","args":[{"name":"orderBy","description":"Ordering options for labels returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"LabelOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: ASC}"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"LabelConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"lastEditedAt","description":"The moment the editor made the last edit","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"locked","description":"`true` if the object is locked","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"milestone","description":"Identifies the milestone associated with the issue.","args":[],"type":{"kind":"OBJECT","name":"Milestone","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"number","description":"Identifies the issue number.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"participants","description":"A list of Users that are participating in the Issue conversation.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"UserConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"projectCards","description":"List of project cards associated with this issue.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"archivedStates","description":"A list of archived states to filter the cards by","type":{"kind":"LIST","name":null,"ofType":{"kind":"ENUM","name":"ProjectCardArchivedState","ofType":null}},"defaultValue":"[ARCHIVED, NOT_ARCHIVED]"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProjectCardConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"publishedAt","description":"Identifies when the comment was published at.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reactionGroups","description":"A list of reactions grouped by content left on the subject.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionGroup","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"reactions","description":"A list of Reactions left on the Issue.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"content","description":"Allows filtering Reactions by emoji.","type":{"kind":"ENUM","name":"ReactionContent","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Allows specifying the order in which reactions are returned.","type":{"kind":"INPUT_OBJECT","name":"ReactionOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with this node.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this issue","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":"Identifies the state of the issue.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"IssueState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"timeline","description":"A list of events, comments, commits, etc. associated with the issue.","args":[{"name":"since","description":"Allows filtering timeline events by a `since` timestamp.","type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"IssueTimelineConnection","ofType":null}},"isDeprecated":true,"deprecationReason":"`timeline` will be removed Use Issue.timelineItems instead. Removal on 2020-10-01 UTC."},{"name":"timelineItems","description":"A list of events, comments, commits, etc. associated with the issue.","args":[{"name":"since","description":"Filter timeline items by a `since` timestamp.","type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"skip","description":"Skips the first _n_ elements in the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"itemTypes","description":"Filter timeline items by type.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"IssueTimelineItemsItemType","ofType":null}}},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"IssueTimelineItemsConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"title","description":"Identifies the issue title.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this issue","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"userContentEdits","description":"A list of edits to this content.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UserContentEditConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanReact","description":"Can user react to this subject","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanSubscribe","description":"Check if the viewer is able to change their subscription status for the repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanUpdate","description":"Check if the current viewer can update this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCannotUpdateReasons","description":"Reasons why the current viewer can not update this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentCannotUpdateReason","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerDidAuthor","description":"Did the viewer author this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerSubscription","description":"Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.","args":[],"type":{"kind":"ENUM","name":"SubscriptionState","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Assignable","ofType":null},{"kind":"INTERFACE","name":"Closable","ofType":null},{"kind":"INTERFACE","name":"Comment","ofType":null},{"kind":"INTERFACE","name":"Updatable","ofType":null},{"kind":"INTERFACE","name":"UpdatableComment","ofType":null},{"kind":"INTERFACE","name":"Labelable","ofType":null},{"kind":"INTERFACE","name":"Lockable","ofType":null},{"kind":"INTERFACE","name":"Reactable","ofType":null},{"kind":"INTERFACE","name":"RepositoryNode","ofType":null},{"kind":"INTERFACE","name":"Subscribable","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"IssueComment","description":"Represents a comment on an Issue.","fields":[{"name":"author","description":"The actor who authored the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"authorAssociation","description":"Author's association with the subject of the comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentAuthorAssociation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"body","description":"The body as Markdown.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyHTML","description":"The body rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyText","description":"The body rendered to text.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdViaEmail","description":"Check if this comment was created via an email reply.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"editor","description":"The actor who edited the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"includesCreatedEdit","description":"Check if this comment was edited and includes an edit with the creation data","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isMinimized","description":"Returns whether or not a comment has been minimized.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issue","description":"Identifies the issue associated with the comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Issue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lastEditedAt","description":"The moment the editor made the last edit","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"minimizedReason","description":"Returns why the comment was minimized.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"publishedAt","description":"Identifies when the comment was published at.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"Returns the pull request associated with the comment, if this comment was made on a\npull request.\n","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reactionGroups","description":"A list of reactions grouped by content left on the subject.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionGroup","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"reactions","description":"A list of Reactions left on the Issue.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"content","description":"Allows filtering Reactions by emoji.","type":{"kind":"ENUM","name":"ReactionContent","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Allows specifying the order in which reactions are returned.","type":{"kind":"INPUT_OBJECT","name":"ReactionOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with this node.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this issue comment","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this issue comment","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"userContentEdits","description":"A list of edits to this content.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UserContentEditConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanDelete","description":"Check if the current viewer can delete this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanMinimize","description":"Check if the current viewer can minimize this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanReact","description":"Can user react to this subject","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanUpdate","description":"Check if the current viewer can update this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCannotUpdateReasons","description":"Reasons why the current viewer can not update this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentCannotUpdateReason","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerDidAuthor","description":"Did the viewer author this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Comment","ofType":null},{"kind":"INTERFACE","name":"Deletable","ofType":null},{"kind":"INTERFACE","name":"Minimizable","ofType":null},{"kind":"INTERFACE","name":"Updatable","ofType":null},{"kind":"INTERFACE","name":"UpdatableComment","ofType":null},{"kind":"INTERFACE","name":"Reactable","ofType":null},{"kind":"INTERFACE","name":"RepositoryNode","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"IssueCommentConnection","description":"The connection type for IssueComment.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"IssueCommentEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"IssueComment","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"IssueCommentEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"IssueComment","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"IssueCommentOrder","description":"Ways in which lists of issue comments can be ordered upon return.","fields":null,"inputFields":[{"name":"field","description":"The field in which to order issue comments by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"IssueCommentOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The direction in which to order issue comments by the specified field.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"IssueCommentOrderField","description":"Properties by which issue comment connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"UPDATED_AT","description":"Order issue comments by update time","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"IssueConnection","description":"The connection type for Issue.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"IssueEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Issue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"IssueContributionsByRepository","description":"This aggregates issues opened by a user within one repository.","fields":[{"name":"contributions","description":"The issue contributions.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for contributions returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"ContributionOrder","ofType":null},"defaultValue":"{direction: DESC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CreatedIssueContributionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository in which the issues were opened.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"IssueEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"Issue","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"IssueFilters","description":"Ways in which to filter lists of issues.","fields":null,"inputFields":[{"name":"assignee","description":"List issues assigned to given name. Pass in `null` for issues with no assigned user, and `*` for issues assigned to any user.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"createdBy","description":"List issues created by given name.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"labels","description":"List issues where the list of label names exist on the issue.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"mentioned","description":"List issues where the given name is mentioned in the issue.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"milestone","description":"List issues by given milestone argument. If an string representation of an integer is passed, it should refer to a milestone by its number field. Pass in `null` for issues with no milestone, and `*` for issues that are assigned to any milestone.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"since","description":"List issues that have been updated at or after the given date.","type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"states","description":"List issues filtered by the list of states given.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"IssueState","ofType":null}}},"defaultValue":null},{"name":"viewerSubscribed","description":"List issues subscribed to by viewer.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"IssueOrPullRequest","description":"Used for return value of Repository.issueOrPullRequest.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null}]},{"kind":"INPUT_OBJECT","name":"IssueOrder","description":"Ways in which lists of issues can be ordered upon return.","fields":null,"inputFields":[{"name":"field","description":"The field in which to order issues by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"IssueOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The direction in which to order issues by the specified field.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"IssueOrderField","description":"Properties by which issue connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order issues by creation time","isDeprecated":false,"deprecationReason":null},{"name":"UPDATED_AT","description":"Order issues by update time","isDeprecated":false,"deprecationReason":null},{"name":"COMMENTS","description":"Order issues by comment count","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"IssueState","description":"The possible states of an issue.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"OPEN","description":"An issue that is still open","isDeprecated":false,"deprecationReason":null},{"name":"CLOSED","description":"An issue that has been closed","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"IssueTemplate","description":"A repository issue template.","fields":[{"name":"about","description":"The template purpose.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"body","description":"The suggested issue body.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The template name.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"title","description":"The suggested issue title.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"IssueTimelineConnection","description":"The connection type for IssueTimelineItem.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"IssueTimelineItemEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"UNION","name":"IssueTimelineItem","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"IssueTimelineItem","description":"An item in an issue timeline","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"AssignedEvent","ofType":null},{"kind":"OBJECT","name":"ClosedEvent","ofType":null},{"kind":"OBJECT","name":"Commit","ofType":null},{"kind":"OBJECT","name":"CrossReferencedEvent","ofType":null},{"kind":"OBJECT","name":"DemilestonedEvent","ofType":null},{"kind":"OBJECT","name":"IssueComment","ofType":null},{"kind":"OBJECT","name":"LabeledEvent","ofType":null},{"kind":"OBJECT","name":"LockedEvent","ofType":null},{"kind":"OBJECT","name":"MilestonedEvent","ofType":null},{"kind":"OBJECT","name":"ReferencedEvent","ofType":null},{"kind":"OBJECT","name":"RenamedTitleEvent","ofType":null},{"kind":"OBJECT","name":"ReopenedEvent","ofType":null},{"kind":"OBJECT","name":"SubscribedEvent","ofType":null},{"kind":"OBJECT","name":"TransferredEvent","ofType":null},{"kind":"OBJECT","name":"UnassignedEvent","ofType":null},{"kind":"OBJECT","name":"UnlabeledEvent","ofType":null},{"kind":"OBJECT","name":"UnlockedEvent","ofType":null},{"kind":"OBJECT","name":"UnsubscribedEvent","ofType":null},{"kind":"OBJECT","name":"UserBlockedEvent","ofType":null}]},{"kind":"OBJECT","name":"IssueTimelineItemEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"UNION","name":"IssueTimelineItem","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"IssueTimelineItems","description":"An item in an issue timeline","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"AddedToProjectEvent","ofType":null},{"kind":"OBJECT","name":"AssignedEvent","ofType":null},{"kind":"OBJECT","name":"ClosedEvent","ofType":null},{"kind":"OBJECT","name":"CommentDeletedEvent","ofType":null},{"kind":"OBJECT","name":"ConnectedEvent","ofType":null},{"kind":"OBJECT","name":"ConvertedNoteToIssueEvent","ofType":null},{"kind":"OBJECT","name":"CrossReferencedEvent","ofType":null},{"kind":"OBJECT","name":"DemilestonedEvent","ofType":null},{"kind":"OBJECT","name":"DisconnectedEvent","ofType":null},{"kind":"OBJECT","name":"IssueComment","ofType":null},{"kind":"OBJECT","name":"LabeledEvent","ofType":null},{"kind":"OBJECT","name":"LockedEvent","ofType":null},{"kind":"OBJECT","name":"MarkedAsDuplicateEvent","ofType":null},{"kind":"OBJECT","name":"MentionedEvent","ofType":null},{"kind":"OBJECT","name":"MilestonedEvent","ofType":null},{"kind":"OBJECT","name":"MovedColumnsInProjectEvent","ofType":null},{"kind":"OBJECT","name":"PinnedEvent","ofType":null},{"kind":"OBJECT","name":"ReferencedEvent","ofType":null},{"kind":"OBJECT","name":"RemovedFromProjectEvent","ofType":null},{"kind":"OBJECT","name":"RenamedTitleEvent","ofType":null},{"kind":"OBJECT","name":"ReopenedEvent","ofType":null},{"kind":"OBJECT","name":"SubscribedEvent","ofType":null},{"kind":"OBJECT","name":"TransferredEvent","ofType":null},{"kind":"OBJECT","name":"UnassignedEvent","ofType":null},{"kind":"OBJECT","name":"UnlabeledEvent","ofType":null},{"kind":"OBJECT","name":"UnlockedEvent","ofType":null},{"kind":"OBJECT","name":"UnmarkedAsDuplicateEvent","ofType":null},{"kind":"OBJECT","name":"UnpinnedEvent","ofType":null},{"kind":"OBJECT","name":"UnsubscribedEvent","ofType":null},{"kind":"OBJECT","name":"UserBlockedEvent","ofType":null}]},{"kind":"OBJECT","name":"IssueTimelineItemsConnection","description":"The connection type for IssueTimelineItems.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"IssueTimelineItemsEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"filteredCount","description":"Identifies the count of items after applying `before` and `after` filters.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"UNION","name":"IssueTimelineItems","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageCount","description":"Identifies the count of items after applying `before`/`after` filters and `first`/`last`/`skip` slicing.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the timeline was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"IssueTimelineItemsEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"UNION","name":"IssueTimelineItems","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"IssueTimelineItemsItemType","description":"The possible item types found in a timeline.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ISSUE_COMMENT","description":"Represents a comment on an Issue.","isDeprecated":false,"deprecationReason":null},{"name":"CROSS_REFERENCED_EVENT","description":"Represents a mention made by one issue or pull request to another.","isDeprecated":false,"deprecationReason":null},{"name":"ADDED_TO_PROJECT_EVENT","description":"Represents a 'added_to_project' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"ASSIGNED_EVENT","description":"Represents an 'assigned' event on any assignable object.","isDeprecated":false,"deprecationReason":null},{"name":"CLOSED_EVENT","description":"Represents a 'closed' event on any `Closable`.","isDeprecated":false,"deprecationReason":null},{"name":"COMMENT_DELETED_EVENT","description":"Represents a 'comment_deleted' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"CONNECTED_EVENT","description":"Represents a 'connected' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"CONVERTED_NOTE_TO_ISSUE_EVENT","description":"Represents a 'converted_note_to_issue' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"DEMILESTONED_EVENT","description":"Represents a 'demilestoned' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"DISCONNECTED_EVENT","description":"Represents a 'disconnected' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"LABELED_EVENT","description":"Represents a 'labeled' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"LOCKED_EVENT","description":"Represents a 'locked' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"MARKED_AS_DUPLICATE_EVENT","description":"Represents a 'marked_as_duplicate' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"MENTIONED_EVENT","description":"Represents a 'mentioned' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"MILESTONED_EVENT","description":"Represents a 'milestoned' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"MOVED_COLUMNS_IN_PROJECT_EVENT","description":"Represents a 'moved_columns_in_project' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"PINNED_EVENT","description":"Represents a 'pinned' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"REFERENCED_EVENT","description":"Represents a 'referenced' event on a given `ReferencedSubject`.","isDeprecated":false,"deprecationReason":null},{"name":"REMOVED_FROM_PROJECT_EVENT","description":"Represents a 'removed_from_project' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"RENAMED_TITLE_EVENT","description":"Represents a 'renamed' event on a given issue or pull request","isDeprecated":false,"deprecationReason":null},{"name":"REOPENED_EVENT","description":"Represents a 'reopened' event on any `Closable`.","isDeprecated":false,"deprecationReason":null},{"name":"SUBSCRIBED_EVENT","description":"Represents a 'subscribed' event on a given `Subscribable`.","isDeprecated":false,"deprecationReason":null},{"name":"TRANSFERRED_EVENT","description":"Represents a 'transferred' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"UNASSIGNED_EVENT","description":"Represents an 'unassigned' event on any assignable object.","isDeprecated":false,"deprecationReason":null},{"name":"UNLABELED_EVENT","description":"Represents an 'unlabeled' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"UNLOCKED_EVENT","description":"Represents an 'unlocked' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"USER_BLOCKED_EVENT","description":"Represents a 'user_blocked' event on a given user.","isDeprecated":false,"deprecationReason":null},{"name":"UNMARKED_AS_DUPLICATE_EVENT","description":"Represents an 'unmarked_as_duplicate' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"UNPINNED_EVENT","description":"Represents an 'unpinned' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"UNSUBSCRIBED_EVENT","description":"Represents an 'unsubscribed' event on a given `Subscribable`.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"JoinedGitHubContribution","description":"Represents a user signing up for a GitHub account.","fields":[{"name":"isRestricted","description":"Whether this contribution is associated with a record you do not have access to. For\nexample, your own 'first issue' contribution may have been made on a repository you can no\nlonger access.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"occurredAt","description":"When this contribution was made.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this contribution.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this contribution.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user who made this contribution.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Contribution","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Label","description":"A label for categorizing Issues or Milestones with a given Repository.","fields":[{"name":"color","description":"Identifies the label color.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the label was created.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":"A brief description of this label.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isDefault","description":"Indicates whether or not this is a default label.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issues","description":"A list of issues associated with this label.","args":[{"name":"orderBy","description":"Ordering options for issues returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"IssueOrder","ofType":null},"defaultValue":null},{"name":"labels","description":"A list of label names to filter the pull requests by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"states","description":"A list of states to filter the issues by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"IssueState","ofType":null}}},"defaultValue":null},{"name":"filterBy","description":"Filtering options for issues returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"IssueFilters","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"IssueConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"Identifies the label name.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequests","description":"A list of pull requests associated with this label.","args":[{"name":"states","description":"A list of states to filter the pull requests by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PullRequestState","ofType":null}}},"defaultValue":null},{"name":"labels","description":"A list of label names to filter the pull requests by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"headRefName","description":"The head ref name to filter the pull requests by.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"baseRefName","description":"The base ref name to filter the pull requests by.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for pull requests returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"IssueOrder","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with this label.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this label.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the label was last updated.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this label.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"LabelConnection","description":"The connection type for Label.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"LabelEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Label","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"LabelEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"Label","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"LabelOrder","description":"Ways in which lists of labels can be ordered upon return.","fields":null,"inputFields":[{"name":"field","description":"The field in which to order labels by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LabelOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The direction in which to order labels by the specified field.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"LabelOrderField","description":"Properties by which label connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"NAME","description":"Order labels by name ","isDeprecated":false,"deprecationReason":null},{"name":"CREATED_AT","description":"Order labels by creation time","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INTERFACE","name":"Labelable","description":"An object that can have labels assigned to it.","fields":[{"name":"labels","description":"A list of labels associated with the object.","args":[{"name":"orderBy","description":"Ordering options for labels returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"LabelOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: ASC}"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"LabelConnection","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null}]},{"kind":"OBJECT","name":"LabeledEvent","description":"Represents a 'labeled' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":"Identifies the label associated with the 'labeled' event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Label","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"labelable","description":"Identifies the `Labelable` associated with the event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Labelable","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Language","description":"Represents a given language found in repositories.","fields":[{"name":"color","description":"The color defined for the current language.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The name of the current language.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"LanguageConnection","description":"A list of languages associated with the parent.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"LanguageEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Language","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalSize","description":"The total size in bytes of files written in that language.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"LanguageEdge","description":"Represents the language of a repository.","fields":[{"name":"cursor","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Language","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"size","description":"The number of bytes of code written in the language.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"LanguageOrder","description":"Ordering options for language connections.","fields":null,"inputFields":[{"name":"field","description":"The field to order languages by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"LanguageOrderField","description":"Properties by which language connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"SIZE","description":"Order languages by the size of all files containing the language","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"License","description":"A repository's open source license","fields":[{"name":"body","description":"The full text of the license","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"conditions","description":"The conditions set by the license","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"LicenseRule","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":"A human-readable description of the license","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"featured","description":"Whether the license should be featured","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hidden","description":"Whether the license should be displayed in license pickers","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"implementation","description":"Instructions on how to implement the license","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"key","description":"The lowercased SPDX ID of the license","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"limitations","description":"The limitations set by the license","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"LicenseRule","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The license full name specified by ","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nickname","description":"Customary short name if applicable (e.g, GPLv3)","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"permissions","description":"The permissions set by the license","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"LicenseRule","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"pseudoLicense","description":"Whether the license is a pseudo-license placeholder (e.g., other, no-license)","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"spdxId","description":"Short identifier specified by ","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"URL to the license on ","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"LicenseRule","description":"Describes a License's conditions, permissions, and limitations","fields":[{"name":"description","description":"A description of the rule","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"key","description":"The machine-readable rule key","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":"The human-readable rule label","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"LinkRepositoryToProjectInput","description":"Autogenerated input type of LinkRepositoryToProject","fields":null,"inputFields":[{"name":"projectId","description":"The ID of the Project to link to a Repository","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"repositoryId","description":"The ID of the Repository to link to a Project.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"LinkRepositoryToProjectPayload","description":"Autogenerated return type of LinkRepositoryToProject","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"project","description":"The linked Project.","args":[],"type":{"kind":"OBJECT","name":"Project","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The linked Repository.","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"LockLockableInput","description":"Autogenerated input type of LockLockable","fields":null,"inputFields":[{"name":"lockableId","description":"ID of the item to be locked.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"lockReason","description":"A reason for why the item will be locked.","type":{"kind":"ENUM","name":"LockReason","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"LockLockablePayload","description":"Autogenerated return type of LockLockable","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"lockedRecord","description":"The item that was locked.","args":[],"type":{"kind":"INTERFACE","name":"Lockable","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"LockReason","description":"The possible reasons that an issue or pull request was locked.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"OFF_TOPIC","description":"The issue or pull request was locked because the conversation was off-topic.","isDeprecated":false,"deprecationReason":null},{"name":"TOO_HEATED","description":"The issue or pull request was locked because the conversation was too heated.","isDeprecated":false,"deprecationReason":null},{"name":"RESOLVED","description":"The issue or pull request was locked because the conversation was resolved.","isDeprecated":false,"deprecationReason":null},{"name":"SPAM","description":"The issue or pull request was locked because the conversation was spam.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INTERFACE","name":"Lockable","description":"An object that can be locked.","fields":[{"name":"activeLockReason","description":"Reason that the conversation was locked.","args":[],"type":{"kind":"ENUM","name":"LockReason","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"locked","description":"`true` if the object is locked","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null}]},{"kind":"OBJECT","name":"LockedEvent","description":"Represents a 'locked' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lockReason","description":"Reason that the conversation was locked (optional).","args":[],"type":{"kind":"ENUM","name":"LockReason","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"lockable","description":"Object that was locked.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Lockable","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Mannequin","description":"A placeholder user for attribution of imported data on GitHub.","fields":[{"name":"avatarUrl","description":"A URL pointing to the GitHub App's public avatar.","args":[{"name":"size","description":"The size of the resulting square image.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"email","description":"The mannequin's email on the source instance.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"login","description":"The username of the actor.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTML path to this resource.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The URL to this resource.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Actor","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"MarkFileAsViewedInput","description":"Autogenerated input type of MarkFileAsViewed","fields":null,"inputFields":[{"name":"pullRequestId","description":"The Node ID of the pull request.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"path","description":"The path of the file to mark as viewed","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MarkFileAsViewedPayload","description":"Autogenerated return type of MarkFileAsViewed","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The updated pull request.","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"MarkPullRequestReadyForReviewInput","description":"Autogenerated input type of MarkPullRequestReadyForReview","fields":null,"inputFields":[{"name":"pullRequestId","description":"ID of the pull request to be marked as ready for review.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MarkPullRequestReadyForReviewPayload","description":"Autogenerated return type of MarkPullRequestReadyForReview","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The pull request that is ready for review.","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MarkedAsDuplicateEvent","description":"Represents a 'marked_as_duplicate' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"canonical","description":"The authoritative issue or pull request which has been duplicated by another.","args":[],"type":{"kind":"UNION","name":"IssueOrPullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"duplicate","description":"The issue or pull request which has been marked as a duplicate of another.","args":[],"type":{"kind":"UNION","name":"IssueOrPullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isCrossRepository","description":"Canonical and duplicate belong to different repositories.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MarketplaceCategory","description":"A public description of a Marketplace category.","fields":[{"name":"description","description":"The category's description.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"howItWorks","description":"The technical description of how apps listed in this category work with GitHub.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The category's name.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"primaryListingCount","description":"How many Marketplace listings have this as their primary category.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this Marketplace category.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"secondaryListingCount","description":"How many Marketplace listings have this as their secondary category.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":"The short name of the category used in its URL.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this Marketplace category.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MarketplaceListing","description":"A listing in the GitHub integration marketplace.","fields":[{"name":"app","description":"The GitHub App this listing represents.","args":[],"type":{"kind":"OBJECT","name":"App","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"companyUrl","description":"URL to the listing owner's company site.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"configurationResourcePath","description":"The HTTP path for configuring access to the listing's integration or OAuth app","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"configurationUrl","description":"The HTTP URL for configuring access to the listing's integration or OAuth app","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"documentationUrl","description":"URL to the listing's documentation.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"extendedDescription","description":"The listing's detailed description.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"extendedDescriptionHTML","description":"The listing's detailed description rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fullDescription","description":"The listing's introductory description.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fullDescriptionHTML","description":"The listing's introductory description rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hasPublishedFreeTrialPlans","description":"Does this listing have any plans with a free trial?","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hasTermsOfService","description":"Does this listing have a terms of service link?","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hasVerifiedOwner","description":"Whether the creator of the app is a verified org","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"howItWorks","description":"A technical description of how this app works with GitHub.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"howItWorksHTML","description":"The listing's technical description rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"installationUrl","description":"URL to install the product to the viewer's account or organization.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"installedForViewer","description":"Whether this listing's app has been installed for the current viewer","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isArchived","description":"Whether this listing has been removed from the Marketplace.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isDraft","description":"Whether this listing is still an editable draft that has not been submitted for review and is not publicly visible in the Marketplace.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isPaid","description":"Whether the product this listing represents is available as part of a paid plan.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isPublic","description":"Whether this listing has been approved for display in the Marketplace.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isRejected","description":"Whether this listing has been rejected by GitHub for display in the Marketplace.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isUnverified","description":"Whether this listing has been approved for unverified display in the Marketplace.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isUnverifiedPending","description":"Whether this draft listing has been submitted for review for approval to be unverified in the Marketplace.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isVerificationPendingFromDraft","description":"Whether this draft listing has been submitted for review from GitHub for approval to be verified in the Marketplace.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isVerificationPendingFromUnverified","description":"Whether this unverified listing has been submitted for review from GitHub for approval to be verified in the Marketplace.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isVerified","description":"Whether this listing has been approved for verified display in the Marketplace.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"logoBackgroundColor","description":"The hex color code, without the leading '#', for the logo background.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"logoUrl","description":"URL for the listing's logo image.","args":[{"name":"size","description":"The size in pixels of the resulting square image.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":"400"}],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The listing's full name.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"normalizedShortDescription","description":"The listing's very short description without a trailing period or ampersands.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pricingUrl","description":"URL to the listing's detailed pricing.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"primaryCategory","description":"The category that best describes the listing.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"MarketplaceCategory","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"privacyPolicyUrl","description":"URL to the listing's privacy policy, may return an empty string for listings that do not require a privacy policy URL.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for the Marketplace listing.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"screenshotUrls","description":"The URLs for the listing's screenshots.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"secondaryCategory","description":"An alternate category that describes the listing.","args":[],"type":{"kind":"OBJECT","name":"MarketplaceCategory","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"shortDescription","description":"The listing's very short description.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":"The short name of the listing used in its URL.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"statusUrl","description":"URL to the listing's status page.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"supportEmail","description":"An email address for support for this listing's app.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"supportUrl","description":"Either a URL or an email address for support for this listing's app, may return an empty string for listings that do not require a support URL.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"termsOfServiceUrl","description":"URL to the listing's terms of service.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for the Marketplace listing.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanAddPlans","description":"Can the current viewer add plans for this Marketplace listing.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanApprove","description":"Can the current viewer approve this Marketplace listing.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanDelist","description":"Can the current viewer delist this Marketplace listing.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanEdit","description":"Can the current viewer edit this Marketplace listing.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanEditCategories","description":"Can the current viewer edit the primary and secondary category of this\nMarketplace listing.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanEditPlans","description":"Can the current viewer edit the plans for this Marketplace listing.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanRedraft","description":"Can the current viewer return this Marketplace listing to draft state\nso it becomes editable again.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanReject","description":"Can the current viewer reject this Marketplace listing by returning it to\nan editable draft state or rejecting it entirely.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanRequestApproval","description":"Can the current viewer request this listing be reviewed for display in\nthe Marketplace as verified.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerHasPurchased","description":"Indicates whether the current user has an active subscription to this Marketplace listing.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerHasPurchasedForAllOrganizations","description":"Indicates if the current user has purchased a subscription to this Marketplace listing\nfor all of the organizations the user owns.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerIsListingAdmin","description":"Does the current viewer role allow them to administer this Marketplace listing.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MarketplaceListingConnection","description":"Look up Marketplace Listings","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"MarketplaceListingEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"MarketplaceListing","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MarketplaceListingEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"MarketplaceListing","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"MemberStatusable","description":"Entities that have members who can set status messages.","fields":[{"name":"memberStatuses","description":"Get the status messages members of this entity have set that are either public or visible only to the organization.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for user statuses returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"UserStatusOrder","ofType":null},"defaultValue":"{field: UPDATED_AT, direction: DESC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"UserStatusConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Organization","ofType":null},{"kind":"OBJECT","name":"Team","ofType":null}]},{"kind":"OBJECT","name":"MembersCanDeleteReposClearAuditEntry","description":"Audit log entry for a members_can_delete_repos.clear event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseResourcePath","description":"The HTTP path for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseSlug","description":"The slug of the enterprise.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseUrl","description":"The HTTP URL for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"EnterpriseAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MembersCanDeleteReposDisableAuditEntry","description":"Audit log entry for a members_can_delete_repos.disable event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseResourcePath","description":"The HTTP path for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseSlug","description":"The slug of the enterprise.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseUrl","description":"The HTTP URL for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"EnterpriseAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MembersCanDeleteReposEnableAuditEntry","description":"Audit log entry for a members_can_delete_repos.enable event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseResourcePath","description":"The HTTP path for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseSlug","description":"The slug of the enterprise.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseUrl","description":"The HTTP URL for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"EnterpriseAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MentionedEvent","description":"Represents a 'mentioned' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"MergeBranchInput","description":"Autogenerated input type of MergeBranch","fields":null,"inputFields":[{"name":"repositoryId","description":"The Node ID of the Repository containing the base branch that will be modified.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"base","description":"The name of the base branch that the provided head will be merged into.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"head","description":"The head to merge into the base branch. This can be a branch name or a commit GitObjectID.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"commitMessage","description":"Message to use for the merge commit. If omitted, a default will be used.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"authorEmail","description":"The email address to associate with this commit.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MergeBranchPayload","description":"Autogenerated return type of MergeBranch","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"mergeCommit","description":"The resulting merge Commit.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"MergePullRequestInput","description":"Autogenerated input type of MergePullRequest","fields":null,"inputFields":[{"name":"pullRequestId","description":"ID of the pull request to be merged.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"commitHeadline","description":"Commit headline to use for the merge commit; if omitted, a default message will be used.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"commitBody","description":"Commit body to use for the merge commit; if omitted, a default message will be used","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"expectedHeadOid","description":"OID that the pull request head ref must match to allow merge; if omitted, no check is performed.","type":{"kind":"SCALAR","name":"GitObjectID","ofType":null},"defaultValue":null},{"name":"mergeMethod","description":"The merge method to use. If omitted, defaults to 'MERGE'","type":{"kind":"ENUM","name":"PullRequestMergeMethod","ofType":null},"defaultValue":"MERGE"},{"name":"authorEmail","description":"The email address to associate with this merge.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MergePullRequestPayload","description":"Autogenerated return type of MergePullRequest","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The pull request that was merged.","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"MergeableState","description":"Whether or not a PullRequest can be merged.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"MERGEABLE","description":"The pull request can be merged.","isDeprecated":false,"deprecationReason":null},{"name":"CONFLICTING","description":"The pull request cannot be merged due to merge conflicts.","isDeprecated":false,"deprecationReason":null},{"name":"UNKNOWN","description":"The mergeability of the pull request is still being calculated.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"MergedEvent","description":"Represents a 'merged' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"commit","description":"Identifies the commit associated with the `merge` event.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"mergeRef","description":"Identifies the Ref associated with the `merge` event.","args":[],"type":{"kind":"OBJECT","name":"Ref","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"mergeRefName","description":"Identifies the name of the Ref associated with the `merge` event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this merged event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this merged event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Milestone","description":"Represents a Milestone object on a given repository.","fields":[{"name":"closed","description":"`true` if the object is closed (definition of closed may depend on type)","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"closedAt","description":"Identifies the date and time when the object was closed.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"creator","description":"Identifies the actor who created the milestone.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":"Identifies the description of the milestone.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"dueOn","description":"Identifies the due date of the milestone.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issues","description":"A list of issues associated with the milestone.","args":[{"name":"orderBy","description":"Ordering options for issues returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"IssueOrder","ofType":null},"defaultValue":null},{"name":"labels","description":"A list of label names to filter the pull requests by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"states","description":"A list of states to filter the issues by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"IssueState","ofType":null}}},"defaultValue":null},{"name":"filterBy","description":"Filtering options for issues returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"IssueFilters","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"IssueConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"number","description":"Identifies the number of the milestone.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"progressPercentage","description":"Identifies the percentage complete for the milestone","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequests","description":"A list of pull requests associated with the milestone.","args":[{"name":"states","description":"A list of states to filter the pull requests by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PullRequestState","ofType":null}}},"defaultValue":null},{"name":"labels","description":"A list of label names to filter the pull requests by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"headRefName","description":"The head ref name to filter the pull requests by.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"baseRefName","description":"The base ref name to filter the pull requests by.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for pull requests returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"IssueOrder","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with this milestone.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this milestone","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":"Identifies the state of the milestone.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"MilestoneState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"title","description":"Identifies the title of the milestone.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this milestone","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Closable","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MilestoneConnection","description":"The connection type for Milestone.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"MilestoneEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Milestone","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MilestoneEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"Milestone","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"MilestoneItem","description":"Types that can be inside a Milestone.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null}]},{"kind":"INPUT_OBJECT","name":"MilestoneOrder","description":"Ordering options for milestone connections.","fields":null,"inputFields":[{"name":"field","description":"The field to order milestones by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"MilestoneOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"MilestoneOrderField","description":"Properties by which milestone connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"DUE_DATE","description":"Order milestones by when they are due.","isDeprecated":false,"deprecationReason":null},{"name":"CREATED_AT","description":"Order milestones by when they were created.","isDeprecated":false,"deprecationReason":null},{"name":"UPDATED_AT","description":"Order milestones by when they were last updated.","isDeprecated":false,"deprecationReason":null},{"name":"NUMBER","description":"Order milestones by their number.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"MilestoneState","description":"The possible states of a milestone.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"OPEN","description":"A milestone that is still open.","isDeprecated":false,"deprecationReason":null},{"name":"CLOSED","description":"A milestone that has been closed.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"MilestonedEvent","description":"Represents a 'milestoned' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"milestoneTitle","description":"Identifies the milestone title associated with the 'milestoned' event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"subject","description":"Object referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"MilestoneItem","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"Minimizable","description":"Entities that can be minimized.","fields":[{"name":"isMinimized","description":"Returns whether or not a comment has been minimized.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"minimizedReason","description":"Returns why the comment was minimized.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanMinimize","description":"Check if the current viewer can minimize this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CommitComment","ofType":null},{"kind":"OBJECT","name":"GistComment","ofType":null},{"kind":"OBJECT","name":"IssueComment","ofType":null},{"kind":"OBJECT","name":"PullRequestReviewComment","ofType":null}]},{"kind":"INPUT_OBJECT","name":"MinimizeCommentInput","description":"Autogenerated input type of MinimizeComment","fields":null,"inputFields":[{"name":"subjectId","description":"The Node ID of the subject to modify.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"classifier","description":"The classification of comment","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ReportedContentClassifiers","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MinimizeCommentPayload","description":"Autogenerated return type of MinimizeComment","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"minimizedComment","description":"The comment that was minimized.","args":[],"type":{"kind":"INTERFACE","name":"Minimizable","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"MoveProjectCardInput","description":"Autogenerated input type of MoveProjectCard","fields":null,"inputFields":[{"name":"cardId","description":"The id of the card to move.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"columnId","description":"The id of the column to move it into.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"afterCardId","description":"Place the new card after the card with this id. Pass null to place it at the top.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MoveProjectCardPayload","description":"Autogenerated return type of MoveProjectCard","fields":[{"name":"cardEdge","description":"The new edge of the moved card.","args":[],"type":{"kind":"OBJECT","name":"ProjectCardEdge","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"MoveProjectColumnInput","description":"Autogenerated input type of MoveProjectColumn","fields":null,"inputFields":[{"name":"columnId","description":"The id of the column to move.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"afterColumnId","description":"Place the new column after the column with this id. Pass null to place it at the front.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MoveProjectColumnPayload","description":"Autogenerated return type of MoveProjectColumn","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"columnEdge","description":"The new edge of the moved column.","args":[],"type":{"kind":"OBJECT","name":"ProjectColumnEdge","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MovedColumnsInProjectEvent","description":"Represents a 'moved_columns_in_project' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Mutation","description":"The root query for implementing GraphQL mutations.","fields":[{"name":"acceptEnterpriseAdministratorInvitation","description":"Accepts a pending invitation for a user to become an administrator of an enterprise.","args":[{"name":"input","description":"Parameters for AcceptEnterpriseAdministratorInvitation","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AcceptEnterpriseAdministratorInvitationInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"AcceptEnterpriseAdministratorInvitationPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"acceptTopicSuggestion","description":"Applies a suggested topic to the repository.","args":[{"name":"input","description":"Parameters for AcceptTopicSuggestion","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AcceptTopicSuggestionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"AcceptTopicSuggestionPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"addAssigneesToAssignable","description":"Adds assignees to an assignable object.","args":[{"name":"input","description":"Parameters for AddAssigneesToAssignable","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AddAssigneesToAssignableInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"AddAssigneesToAssignablePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"addComment","description":"Adds a comment to an Issue or Pull Request.","args":[{"name":"input","description":"Parameters for AddComment","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AddCommentInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"AddCommentPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"addEnterpriseSupportEntitlement","description":"Adds a support entitlement to an enterprise member.","args":[{"name":"input","description":"Parameters for AddEnterpriseSupportEntitlement","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AddEnterpriseSupportEntitlementInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"AddEnterpriseSupportEntitlementPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"addLabelsToLabelable","description":"Adds labels to a labelable object.","args":[{"name":"input","description":"Parameters for AddLabelsToLabelable","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AddLabelsToLabelableInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"AddLabelsToLabelablePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"addProjectCard","description":"Adds a card to a ProjectColumn. Either `contentId` or `note` must be provided but **not** both.","args":[{"name":"input","description":"Parameters for AddProjectCard","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AddProjectCardInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"AddProjectCardPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"addProjectColumn","description":"Adds a column to a Project.","args":[{"name":"input","description":"Parameters for AddProjectColumn","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AddProjectColumnInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"AddProjectColumnPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"addPullRequestReview","description":"Adds a review to a Pull Request.","args":[{"name":"input","description":"Parameters for AddPullRequestReview","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AddPullRequestReviewInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"AddPullRequestReviewPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"addPullRequestReviewComment","description":"Adds a comment to a review.","args":[{"name":"input","description":"Parameters for AddPullRequestReviewComment","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AddPullRequestReviewCommentInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"AddPullRequestReviewCommentPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"addPullRequestReviewThread","description":"Adds a new thread to a pending Pull Request Review.","args":[{"name":"input","description":"Parameters for AddPullRequestReviewThread","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AddPullRequestReviewThreadInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"AddPullRequestReviewThreadPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"addReaction","description":"Adds a reaction to a subject.","args":[{"name":"input","description":"Parameters for AddReaction","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AddReactionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"AddReactionPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"addStar","description":"Adds a star to a Starrable.","args":[{"name":"input","description":"Parameters for AddStar","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AddStarInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"AddStarPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"addVerifiableDomain","description":"Adds a verifiable domain to an owning account.","args":[{"name":"input","description":"Parameters for AddVerifiableDomain","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AddVerifiableDomainInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"AddVerifiableDomainPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"approveVerifiableDomain","description":"Approve a verifiable domain for notification delivery.","args":[{"name":"input","description":"Parameters for ApproveVerifiableDomain","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ApproveVerifiableDomainInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ApproveVerifiableDomainPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"archiveRepository","description":"Marks a repository as archived.","args":[{"name":"input","description":"Parameters for ArchiveRepository","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ArchiveRepositoryInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ArchiveRepositoryPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"cancelEnterpriseAdminInvitation","description":"Cancels a pending invitation for an administrator to join an enterprise.","args":[{"name":"input","description":"Parameters for CancelEnterpriseAdminInvitation","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CancelEnterpriseAdminInvitationInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CancelEnterpriseAdminInvitationPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"changeUserStatus","description":"Update your status on GitHub.","args":[{"name":"input","description":"Parameters for ChangeUserStatus","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ChangeUserStatusInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ChangeUserStatusPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clearLabelsFromLabelable","description":"Clears all labels from a labelable object.","args":[{"name":"input","description":"Parameters for ClearLabelsFromLabelable","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ClearLabelsFromLabelableInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ClearLabelsFromLabelablePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"cloneProject","description":"Creates a new project by cloning configuration from an existing project.","args":[{"name":"input","description":"Parameters for CloneProject","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CloneProjectInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CloneProjectPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"cloneTemplateRepository","description":"Create a new repository with the same files and directory structure as a template repository.","args":[{"name":"input","description":"Parameters for CloneTemplateRepository","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CloneTemplateRepositoryInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CloneTemplateRepositoryPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"closeIssue","description":"Close an issue.","args":[{"name":"input","description":"Parameters for CloseIssue","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CloseIssueInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CloseIssuePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"closePullRequest","description":"Close a pull request.","args":[{"name":"input","description":"Parameters for ClosePullRequest","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ClosePullRequestInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ClosePullRequestPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"convertProjectCardNoteToIssue","description":"Convert a project note card to one associated with a newly created issue.","args":[{"name":"input","description":"Parameters for ConvertProjectCardNoteToIssue","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConvertProjectCardNoteToIssueInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ConvertProjectCardNoteToIssuePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createBranchProtectionRule","description":"Create a new branch protection rule","args":[{"name":"input","description":"Parameters for CreateBranchProtectionRule","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateBranchProtectionRuleInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CreateBranchProtectionRulePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createCheckRun","description":"Create a check run.","args":[{"name":"input","description":"Parameters for CreateCheckRun","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateCheckRunInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CreateCheckRunPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createCheckSuite","description":"Create a check suite","args":[{"name":"input","description":"Parameters for CreateCheckSuite","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateCheckSuiteInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CreateCheckSuitePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createEnterpriseOrganization","description":"Creates an organization as part of an enterprise account.","args":[{"name":"input","description":"Parameters for CreateEnterpriseOrganization","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateEnterpriseOrganizationInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CreateEnterpriseOrganizationPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createIpAllowListEntry","description":"Creates a new IP allow list entry.","args":[{"name":"input","description":"Parameters for CreateIpAllowListEntry","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateIpAllowListEntryInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CreateIpAllowListEntryPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createIssue","description":"Creates a new issue.","args":[{"name":"input","description":"Parameters for CreateIssue","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateIssueInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CreateIssuePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createProject","description":"Creates a new project.","args":[{"name":"input","description":"Parameters for CreateProject","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateProjectInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CreateProjectPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createPullRequest","description":"Create a new pull request","args":[{"name":"input","description":"Parameters for CreatePullRequest","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreatePullRequestInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CreatePullRequestPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createRef","description":"Create a new Git Ref.","args":[{"name":"input","description":"Parameters for CreateRef","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateRefInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CreateRefPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createRepository","description":"Create a new repository.","args":[{"name":"input","description":"Parameters for CreateRepository","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateRepositoryInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CreateRepositoryPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createTeamDiscussion","description":"Creates a new team discussion.","args":[{"name":"input","description":"Parameters for CreateTeamDiscussion","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateTeamDiscussionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CreateTeamDiscussionPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createTeamDiscussionComment","description":"Creates a new team discussion comment.","args":[{"name":"input","description":"Parameters for CreateTeamDiscussionComment","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateTeamDiscussionCommentInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CreateTeamDiscussionCommentPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"declineTopicSuggestion","description":"Rejects a suggested topic for the repository.","args":[{"name":"input","description":"Parameters for DeclineTopicSuggestion","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DeclineTopicSuggestionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DeclineTopicSuggestionPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deleteBranchProtectionRule","description":"Delete a branch protection rule","args":[{"name":"input","description":"Parameters for DeleteBranchProtectionRule","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DeleteBranchProtectionRuleInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DeleteBranchProtectionRulePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deleteDeployment","description":"Deletes a deployment.","args":[{"name":"input","description":"Parameters for DeleteDeployment","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DeleteDeploymentInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DeleteDeploymentPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deleteIpAllowListEntry","description":"Deletes an IP allow list entry.","args":[{"name":"input","description":"Parameters for DeleteIpAllowListEntry","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DeleteIpAllowListEntryInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DeleteIpAllowListEntryPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deleteIssue","description":"Deletes an Issue object.","args":[{"name":"input","description":"Parameters for DeleteIssue","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DeleteIssueInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DeleteIssuePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deleteIssueComment","description":"Deletes an IssueComment object.","args":[{"name":"input","description":"Parameters for DeleteIssueComment","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DeleteIssueCommentInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DeleteIssueCommentPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deleteProject","description":"Deletes a project.","args":[{"name":"input","description":"Parameters for DeleteProject","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DeleteProjectInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DeleteProjectPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deleteProjectCard","description":"Deletes a project card.","args":[{"name":"input","description":"Parameters for DeleteProjectCard","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DeleteProjectCardInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DeleteProjectCardPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deleteProjectColumn","description":"Deletes a project column.","args":[{"name":"input","description":"Parameters for DeleteProjectColumn","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DeleteProjectColumnInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DeleteProjectColumnPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deletePullRequestReview","description":"Deletes a pull request review.","args":[{"name":"input","description":"Parameters for DeletePullRequestReview","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DeletePullRequestReviewInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DeletePullRequestReviewPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deletePullRequestReviewComment","description":"Deletes a pull request review comment.","args":[{"name":"input","description":"Parameters for DeletePullRequestReviewComment","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DeletePullRequestReviewCommentInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DeletePullRequestReviewCommentPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deleteRef","description":"Delete a Git Ref.","args":[{"name":"input","description":"Parameters for DeleteRef","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DeleteRefInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DeleteRefPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deleteTeamDiscussion","description":"Deletes a team discussion.","args":[{"name":"input","description":"Parameters for DeleteTeamDiscussion","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DeleteTeamDiscussionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DeleteTeamDiscussionPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deleteTeamDiscussionComment","description":"Deletes a team discussion comment.","args":[{"name":"input","description":"Parameters for DeleteTeamDiscussionComment","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DeleteTeamDiscussionCommentInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DeleteTeamDiscussionCommentPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deleteVerifiableDomain","description":"Deletes a verifiable domain.","args":[{"name":"input","description":"Parameters for DeleteVerifiableDomain","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DeleteVerifiableDomainInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DeleteVerifiableDomainPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"disablePullRequestAutoMerge","description":"Disable auto merge on the given pull request","args":[{"name":"input","description":"Parameters for DisablePullRequestAutoMerge","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DisablePullRequestAutoMergeInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DisablePullRequestAutoMergePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"dismissPullRequestReview","description":"Dismisses an approved or rejected pull request review.","args":[{"name":"input","description":"Parameters for DismissPullRequestReview","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"DismissPullRequestReviewInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"DismissPullRequestReviewPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enablePullRequestAutoMerge","description":"Enable the default auto-merge on a pull request.","args":[{"name":"input","description":"Parameters for EnablePullRequestAutoMerge","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"EnablePullRequestAutoMergeInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"EnablePullRequestAutoMergePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"followUser","description":"Follow a user.","args":[{"name":"input","description":"Parameters for FollowUser","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"FollowUserInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"FollowUserPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"inviteEnterpriseAdmin","description":"Invite someone to become an administrator of the enterprise.","args":[{"name":"input","description":"Parameters for InviteEnterpriseAdmin","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"InviteEnterpriseAdminInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"InviteEnterpriseAdminPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"linkRepositoryToProject","description":"Creates a repository link for a project.","args":[{"name":"input","description":"Parameters for LinkRepositoryToProject","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"LinkRepositoryToProjectInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"LinkRepositoryToProjectPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"lockLockable","description":"Lock a lockable object","args":[{"name":"input","description":"Parameters for LockLockable","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"LockLockableInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"LockLockablePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"markFileAsViewed","description":"Mark a pull request file as viewed","args":[{"name":"input","description":"Parameters for MarkFileAsViewed","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"MarkFileAsViewedInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"MarkFileAsViewedPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"markPullRequestReadyForReview","description":"Marks a pull request ready for review.","args":[{"name":"input","description":"Parameters for MarkPullRequestReadyForReview","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"MarkPullRequestReadyForReviewInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"MarkPullRequestReadyForReviewPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"mergeBranch","description":"Merge a head into a branch.","args":[{"name":"input","description":"Parameters for MergeBranch","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"MergeBranchInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"MergeBranchPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"mergePullRequest","description":"Merge a pull request.","args":[{"name":"input","description":"Parameters for MergePullRequest","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"MergePullRequestInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"MergePullRequestPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"minimizeComment","description":"Minimizes a comment on an Issue, Commit, Pull Request, or Gist","args":[{"name":"input","description":"Parameters for MinimizeComment","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"MinimizeCommentInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"MinimizeCommentPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"moveProjectCard","description":"Moves a project card to another place.","args":[{"name":"input","description":"Parameters for MoveProjectCard","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"MoveProjectCardInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"MoveProjectCardPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"moveProjectColumn","description":"Moves a project column to another place.","args":[{"name":"input","description":"Parameters for MoveProjectColumn","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"MoveProjectColumnInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"MoveProjectColumnPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pinIssue","description":"Pin an issue to a repository","args":[{"name":"input","description":"Parameters for PinIssue","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"PinIssueInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"PinIssuePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"regenerateEnterpriseIdentityProviderRecoveryCodes","description":"Regenerates the identity provider recovery codes for an enterprise","args":[{"name":"input","description":"Parameters for RegenerateEnterpriseIdentityProviderRecoveryCodes","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RegenerateEnterpriseIdentityProviderRecoveryCodesInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"RegenerateEnterpriseIdentityProviderRecoveryCodesPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"regenerateVerifiableDomainToken","description":"Regenerates a verifiable domain's verification token.","args":[{"name":"input","description":"Parameters for RegenerateVerifiableDomainToken","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RegenerateVerifiableDomainTokenInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"RegenerateVerifiableDomainTokenPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"removeAssigneesFromAssignable","description":"Removes assignees from an assignable object.","args":[{"name":"input","description":"Parameters for RemoveAssigneesFromAssignable","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RemoveAssigneesFromAssignableInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"RemoveAssigneesFromAssignablePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"removeEnterpriseAdmin","description":"Removes an administrator from the enterprise.","args":[{"name":"input","description":"Parameters for RemoveEnterpriseAdmin","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RemoveEnterpriseAdminInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"RemoveEnterpriseAdminPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"removeEnterpriseIdentityProvider","description":"Removes the identity provider from an enterprise","args":[{"name":"input","description":"Parameters for RemoveEnterpriseIdentityProvider","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RemoveEnterpriseIdentityProviderInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"RemoveEnterpriseIdentityProviderPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"removeEnterpriseOrganization","description":"Removes an organization from the enterprise","args":[{"name":"input","description":"Parameters for RemoveEnterpriseOrganization","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RemoveEnterpriseOrganizationInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"RemoveEnterpriseOrganizationPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"removeEnterpriseSupportEntitlement","description":"Removes a support entitlement from an enterprise member.","args":[{"name":"input","description":"Parameters for RemoveEnterpriseSupportEntitlement","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RemoveEnterpriseSupportEntitlementInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"RemoveEnterpriseSupportEntitlementPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"removeLabelsFromLabelable","description":"Removes labels from a Labelable object.","args":[{"name":"input","description":"Parameters for RemoveLabelsFromLabelable","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RemoveLabelsFromLabelableInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"RemoveLabelsFromLabelablePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"removeOutsideCollaborator","description":"Removes outside collaborator from all repositories in an organization.","args":[{"name":"input","description":"Parameters for RemoveOutsideCollaborator","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RemoveOutsideCollaboratorInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"RemoveOutsideCollaboratorPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"removeReaction","description":"Removes a reaction from a subject.","args":[{"name":"input","description":"Parameters for RemoveReaction","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RemoveReactionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"RemoveReactionPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"removeStar","description":"Removes a star from a Starrable.","args":[{"name":"input","description":"Parameters for RemoveStar","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RemoveStarInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"RemoveStarPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reopenIssue","description":"Reopen a issue.","args":[{"name":"input","description":"Parameters for ReopenIssue","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ReopenIssueInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ReopenIssuePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reopenPullRequest","description":"Reopen a pull request.","args":[{"name":"input","description":"Parameters for ReopenPullRequest","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ReopenPullRequestInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ReopenPullRequestPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"requestReviews","description":"Set review requests on a pull request.","args":[{"name":"input","description":"Parameters for RequestReviews","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RequestReviewsInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"RequestReviewsPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"rerequestCheckSuite","description":"Rerequests an existing check suite.","args":[{"name":"input","description":"Parameters for RerequestCheckSuite","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RerequestCheckSuiteInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"RerequestCheckSuitePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"resolveReviewThread","description":"Marks a review thread as resolved.","args":[{"name":"input","description":"Parameters for ResolveReviewThread","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ResolveReviewThreadInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ResolveReviewThreadPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"setEnterpriseIdentityProvider","description":"Creates or updates the identity provider for an enterprise.","args":[{"name":"input","description":"Parameters for SetEnterpriseIdentityProvider","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"SetEnterpriseIdentityProviderInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"SetEnterpriseIdentityProviderPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"setOrganizationInteractionLimit","description":"Set an organization level interaction limit for an organization's public repositories.","args":[{"name":"input","description":"Parameters for SetOrganizationInteractionLimit","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"SetOrganizationInteractionLimitInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"SetOrganizationInteractionLimitPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"setRepositoryInteractionLimit","description":"Sets an interaction limit setting for a repository.","args":[{"name":"input","description":"Parameters for SetRepositoryInteractionLimit","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"SetRepositoryInteractionLimitInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"SetRepositoryInteractionLimitPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"setUserInteractionLimit","description":"Set a user level interaction limit for an user's public repositories.","args":[{"name":"input","description":"Parameters for SetUserInteractionLimit","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"SetUserInteractionLimitInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"SetUserInteractionLimitPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"submitPullRequestReview","description":"Submits a pending pull request review.","args":[{"name":"input","description":"Parameters for SubmitPullRequestReview","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"SubmitPullRequestReviewInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"SubmitPullRequestReviewPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"transferIssue","description":"Transfer an issue to a different repository","args":[{"name":"input","description":"Parameters for TransferIssue","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"TransferIssueInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"TransferIssuePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"unarchiveRepository","description":"Unarchives a repository.","args":[{"name":"input","description":"Parameters for UnarchiveRepository","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UnarchiveRepositoryInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UnarchiveRepositoryPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"unfollowUser","description":"Unfollow a user.","args":[{"name":"input","description":"Parameters for UnfollowUser","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UnfollowUserInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UnfollowUserPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"unlinkRepositoryFromProject","description":"Deletes a repository link from a project.","args":[{"name":"input","description":"Parameters for UnlinkRepositoryFromProject","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UnlinkRepositoryFromProjectInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UnlinkRepositoryFromProjectPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"unlockLockable","description":"Unlock a lockable object","args":[{"name":"input","description":"Parameters for UnlockLockable","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UnlockLockableInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UnlockLockablePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"unmarkFileAsViewed","description":"Unmark a pull request file as viewed","args":[{"name":"input","description":"Parameters for UnmarkFileAsViewed","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UnmarkFileAsViewedInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UnmarkFileAsViewedPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"unmarkIssueAsDuplicate","description":"Unmark an issue as a duplicate of another issue.","args":[{"name":"input","description":"Parameters for UnmarkIssueAsDuplicate","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UnmarkIssueAsDuplicateInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UnmarkIssueAsDuplicatePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"unminimizeComment","description":"Unminimizes a comment on an Issue, Commit, Pull Request, or Gist","args":[{"name":"input","description":"Parameters for UnminimizeComment","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UnminimizeCommentInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UnminimizeCommentPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"unpinIssue","description":"Unpin a pinned issue from a repository","args":[{"name":"input","description":"Parameters for UnpinIssue","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UnpinIssueInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UnpinIssuePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"unresolveReviewThread","description":"Marks a review thread as unresolved.","args":[{"name":"input","description":"Parameters for UnresolveReviewThread","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UnresolveReviewThreadInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UnresolveReviewThreadPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateBranchProtectionRule","description":"Create a new branch protection rule","args":[{"name":"input","description":"Parameters for UpdateBranchProtectionRule","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateBranchProtectionRuleInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateBranchProtectionRulePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateCheckRun","description":"Update a check run","args":[{"name":"input","description":"Parameters for UpdateCheckRun","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateCheckRunInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateCheckRunPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateCheckSuitePreferences","description":"Modifies the settings of an existing check suite","args":[{"name":"input","description":"Parameters for UpdateCheckSuitePreferences","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateCheckSuitePreferencesInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateCheckSuitePreferencesPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateEnterpriseAdministratorRole","description":"Updates the role of an enterprise administrator.","args":[{"name":"input","description":"Parameters for UpdateEnterpriseAdministratorRole","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseAdministratorRoleInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateEnterpriseAdministratorRolePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateEnterpriseAllowPrivateRepositoryForkingSetting","description":"Sets whether private repository forks are enabled for an enterprise.","args":[{"name":"input","description":"Parameters for UpdateEnterpriseAllowPrivateRepositoryForkingSetting","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseAllowPrivateRepositoryForkingSettingInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateEnterpriseAllowPrivateRepositoryForkingSettingPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateEnterpriseDefaultRepositoryPermissionSetting","description":"Sets the default repository permission for organizations in an enterprise.","args":[{"name":"input","description":"Parameters for UpdateEnterpriseDefaultRepositoryPermissionSetting","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseDefaultRepositoryPermissionSettingInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateEnterpriseDefaultRepositoryPermissionSettingPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateEnterpriseMembersCanChangeRepositoryVisibilitySetting","description":"Sets whether organization members with admin permissions on a repository can change repository visibility.","args":[{"name":"input","description":"Parameters for UpdateEnterpriseMembersCanChangeRepositoryVisibilitySetting","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseMembersCanChangeRepositoryVisibilitySettingInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateEnterpriseMembersCanChangeRepositoryVisibilitySettingPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateEnterpriseMembersCanCreateRepositoriesSetting","description":"Sets the members can create repositories setting for an enterprise.","args":[{"name":"input","description":"Parameters for UpdateEnterpriseMembersCanCreateRepositoriesSetting","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseMembersCanCreateRepositoriesSettingInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateEnterpriseMembersCanCreateRepositoriesSettingPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateEnterpriseMembersCanDeleteIssuesSetting","description":"Sets the members can delete issues setting for an enterprise.","args":[{"name":"input","description":"Parameters for UpdateEnterpriseMembersCanDeleteIssuesSetting","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseMembersCanDeleteIssuesSettingInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateEnterpriseMembersCanDeleteIssuesSettingPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateEnterpriseMembersCanDeleteRepositoriesSetting","description":"Sets the members can delete repositories setting for an enterprise.","args":[{"name":"input","description":"Parameters for UpdateEnterpriseMembersCanDeleteRepositoriesSetting","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseMembersCanDeleteRepositoriesSettingInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateEnterpriseMembersCanDeleteRepositoriesSettingPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateEnterpriseMembersCanInviteCollaboratorsSetting","description":"Sets whether members can invite collaborators are enabled for an enterprise.","args":[{"name":"input","description":"Parameters for UpdateEnterpriseMembersCanInviteCollaboratorsSetting","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseMembersCanInviteCollaboratorsSettingInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateEnterpriseMembersCanInviteCollaboratorsSettingPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateEnterpriseMembersCanMakePurchasesSetting","description":"Sets whether or not an organization admin can make purchases.","args":[{"name":"input","description":"Parameters for UpdateEnterpriseMembersCanMakePurchasesSetting","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseMembersCanMakePurchasesSettingInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateEnterpriseMembersCanMakePurchasesSettingPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateEnterpriseMembersCanUpdateProtectedBranchesSetting","description":"Sets the members can update protected branches setting for an enterprise.","args":[{"name":"input","description":"Parameters for UpdateEnterpriseMembersCanUpdateProtectedBranchesSetting","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseMembersCanUpdateProtectedBranchesSettingInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateEnterpriseMembersCanUpdateProtectedBranchesSettingPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateEnterpriseMembersCanViewDependencyInsightsSetting","description":"Sets the members can view dependency insights for an enterprise.","args":[{"name":"input","description":"Parameters for UpdateEnterpriseMembersCanViewDependencyInsightsSetting","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseMembersCanViewDependencyInsightsSettingInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateEnterpriseMembersCanViewDependencyInsightsSettingPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateEnterpriseOrganizationProjectsSetting","description":"Sets whether organization projects are enabled for an enterprise.","args":[{"name":"input","description":"Parameters for UpdateEnterpriseOrganizationProjectsSetting","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseOrganizationProjectsSettingInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateEnterpriseOrganizationProjectsSettingPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateEnterpriseProfile","description":"Updates an enterprise's profile.","args":[{"name":"input","description":"Parameters for UpdateEnterpriseProfile","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseProfileInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateEnterpriseProfilePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateEnterpriseRepositoryProjectsSetting","description":"Sets whether repository projects are enabled for a enterprise.","args":[{"name":"input","description":"Parameters for UpdateEnterpriseRepositoryProjectsSetting","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseRepositoryProjectsSettingInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateEnterpriseRepositoryProjectsSettingPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateEnterpriseTeamDiscussionsSetting","description":"Sets whether team discussions are enabled for an enterprise.","args":[{"name":"input","description":"Parameters for UpdateEnterpriseTeamDiscussionsSetting","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseTeamDiscussionsSettingInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateEnterpriseTeamDiscussionsSettingPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateEnterpriseTwoFactorAuthenticationRequiredSetting","description":"Sets whether two factor authentication is required for all users in an enterprise.","args":[{"name":"input","description":"Parameters for UpdateEnterpriseTwoFactorAuthenticationRequiredSetting","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseTwoFactorAuthenticationRequiredSettingInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateEnterpriseTwoFactorAuthenticationRequiredSettingPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateIpAllowListEnabledSetting","description":"Sets whether an IP allow list is enabled on an owner.","args":[{"name":"input","description":"Parameters for UpdateIpAllowListEnabledSetting","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateIpAllowListEnabledSettingInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateIpAllowListEnabledSettingPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateIpAllowListEntry","description":"Updates an IP allow list entry.","args":[{"name":"input","description":"Parameters for UpdateIpAllowListEntry","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateIpAllowListEntryInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateIpAllowListEntryPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateIssue","description":"Updates an Issue.","args":[{"name":"input","description":"Parameters for UpdateIssue","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateIssueInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateIssuePayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateIssueComment","description":"Updates an IssueComment object.","args":[{"name":"input","description":"Parameters for UpdateIssueComment","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateIssueCommentInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateIssueCommentPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateNotificationRestrictionSetting","description":"Update the setting to restrict notifications to only verified domains available to an owner.","args":[{"name":"input","description":"Parameters for UpdateNotificationRestrictionSetting","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateNotificationRestrictionSettingInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateNotificationRestrictionSettingPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateProject","description":"Updates an existing project.","args":[{"name":"input","description":"Parameters for UpdateProject","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateProjectInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateProjectPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateProjectCard","description":"Updates an existing project card.","args":[{"name":"input","description":"Parameters for UpdateProjectCard","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateProjectCardInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateProjectCardPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateProjectColumn","description":"Updates an existing project column.","args":[{"name":"input","description":"Parameters for UpdateProjectColumn","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateProjectColumnInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateProjectColumnPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updatePullRequest","description":"Update a pull request","args":[{"name":"input","description":"Parameters for UpdatePullRequest","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdatePullRequestInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdatePullRequestPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updatePullRequestReview","description":"Updates the body of a pull request review.","args":[{"name":"input","description":"Parameters for UpdatePullRequestReview","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdatePullRequestReviewInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdatePullRequestReviewPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updatePullRequestReviewComment","description":"Updates a pull request review comment.","args":[{"name":"input","description":"Parameters for UpdatePullRequestReviewComment","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdatePullRequestReviewCommentInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdatePullRequestReviewCommentPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateRef","description":"Update a Git Ref.","args":[{"name":"input","description":"Parameters for UpdateRef","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateRefInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateRefPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateRepository","description":"Update information about a repository.","args":[{"name":"input","description":"Parameters for UpdateRepository","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateRepositoryInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateRepositoryPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateSubscription","description":"Updates the state for subscribable subjects.","args":[{"name":"input","description":"Parameters for UpdateSubscription","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateSubscriptionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateSubscriptionPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateTeamDiscussion","description":"Updates a team discussion.","args":[{"name":"input","description":"Parameters for UpdateTeamDiscussion","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateTeamDiscussionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateTeamDiscussionPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateTeamDiscussionComment","description":"Updates a discussion comment.","args":[{"name":"input","description":"Parameters for UpdateTeamDiscussionComment","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateTeamDiscussionCommentInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateTeamDiscussionCommentPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateTopics","description":"Replaces the repository's topics with the given topics.","args":[{"name":"input","description":"Parameters for UpdateTopics","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateTopicsInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UpdateTopicsPayload","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"verifyVerifiableDomain","description":"Verify that a verifiable domain has the expected DNS record.","args":[{"name":"input","description":"Parameters for VerifyVerifiableDomain","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"VerifyVerifiableDomainInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"VerifyVerifiableDomainPayload","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"Node","description":"An object with an ID.","fields":[{"name":"id","description":"ID of the object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"AddedToProjectEvent","ofType":null},{"kind":"OBJECT","name":"App","ofType":null},{"kind":"OBJECT","name":"AssignedEvent","ofType":null},{"kind":"OBJECT","name":"AutoMergeDisabledEvent","ofType":null},{"kind":"OBJECT","name":"AutoMergeEnabledEvent","ofType":null},{"kind":"OBJECT","name":"AutoRebaseEnabledEvent","ofType":null},{"kind":"OBJECT","name":"AutoSquashEnabledEvent","ofType":null},{"kind":"OBJECT","name":"AutomaticBaseChangeFailedEvent","ofType":null},{"kind":"OBJECT","name":"AutomaticBaseChangeSucceededEvent","ofType":null},{"kind":"OBJECT","name":"BaseRefChangedEvent","ofType":null},{"kind":"OBJECT","name":"BaseRefDeletedEvent","ofType":null},{"kind":"OBJECT","name":"BaseRefForcePushedEvent","ofType":null},{"kind":"OBJECT","name":"Blob","ofType":null},{"kind":"OBJECT","name":"Bot","ofType":null},{"kind":"OBJECT","name":"BranchProtectionRule","ofType":null},{"kind":"OBJECT","name":"CWE","ofType":null},{"kind":"OBJECT","name":"CheckRun","ofType":null},{"kind":"OBJECT","name":"CheckSuite","ofType":null},{"kind":"OBJECT","name":"ClosedEvent","ofType":null},{"kind":"OBJECT","name":"CodeOfConduct","ofType":null},{"kind":"OBJECT","name":"CommentDeletedEvent","ofType":null},{"kind":"OBJECT","name":"Commit","ofType":null},{"kind":"OBJECT","name":"CommitComment","ofType":null},{"kind":"OBJECT","name":"CommitCommentThread","ofType":null},{"kind":"OBJECT","name":"ConnectedEvent","ofType":null},{"kind":"OBJECT","name":"ConvertToDraftEvent","ofType":null},{"kind":"OBJECT","name":"ConvertedNoteToIssueEvent","ofType":null},{"kind":"OBJECT","name":"CrossReferencedEvent","ofType":null},{"kind":"OBJECT","name":"DemilestonedEvent","ofType":null},{"kind":"OBJECT","name":"DeployKey","ofType":null},{"kind":"OBJECT","name":"DeployedEvent","ofType":null},{"kind":"OBJECT","name":"Deployment","ofType":null},{"kind":"OBJECT","name":"DeploymentEnvironmentChangedEvent","ofType":null},{"kind":"OBJECT","name":"DeploymentStatus","ofType":null},{"kind":"OBJECT","name":"DisconnectedEvent","ofType":null},{"kind":"OBJECT","name":"Enterprise","ofType":null},{"kind":"OBJECT","name":"EnterpriseAdministratorInvitation","ofType":null},{"kind":"OBJECT","name":"EnterpriseIdentityProvider","ofType":null},{"kind":"OBJECT","name":"EnterpriseRepositoryInfo","ofType":null},{"kind":"OBJECT","name":"EnterpriseServerInstallation","ofType":null},{"kind":"OBJECT","name":"EnterpriseServerUserAccount","ofType":null},{"kind":"OBJECT","name":"EnterpriseServerUserAccountEmail","ofType":null},{"kind":"OBJECT","name":"EnterpriseServerUserAccountsUpload","ofType":null},{"kind":"OBJECT","name":"EnterpriseUserAccount","ofType":null},{"kind":"OBJECT","name":"ExternalIdentity","ofType":null},{"kind":"OBJECT","name":"Gist","ofType":null},{"kind":"OBJECT","name":"GistComment","ofType":null},{"kind":"OBJECT","name":"HeadRefDeletedEvent","ofType":null},{"kind":"OBJECT","name":"HeadRefForcePushedEvent","ofType":null},{"kind":"OBJECT","name":"HeadRefRestoredEvent","ofType":null},{"kind":"OBJECT","name":"IpAllowListEntry","ofType":null},{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"IssueComment","ofType":null},{"kind":"OBJECT","name":"Label","ofType":null},{"kind":"OBJECT","name":"LabeledEvent","ofType":null},{"kind":"OBJECT","name":"Language","ofType":null},{"kind":"OBJECT","name":"License","ofType":null},{"kind":"OBJECT","name":"LockedEvent","ofType":null},{"kind":"OBJECT","name":"Mannequin","ofType":null},{"kind":"OBJECT","name":"MarkedAsDuplicateEvent","ofType":null},{"kind":"OBJECT","name":"MarketplaceCategory","ofType":null},{"kind":"OBJECT","name":"MarketplaceListing","ofType":null},{"kind":"OBJECT","name":"MembersCanDeleteReposClearAuditEntry","ofType":null},{"kind":"OBJECT","name":"MembersCanDeleteReposDisableAuditEntry","ofType":null},{"kind":"OBJECT","name":"MembersCanDeleteReposEnableAuditEntry","ofType":null},{"kind":"OBJECT","name":"MentionedEvent","ofType":null},{"kind":"OBJECT","name":"MergedEvent","ofType":null},{"kind":"OBJECT","name":"Milestone","ofType":null},{"kind":"OBJECT","name":"MilestonedEvent","ofType":null},{"kind":"OBJECT","name":"MovedColumnsInProjectEvent","ofType":null},{"kind":"OBJECT","name":"OauthApplicationCreateAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgAddBillingManagerAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgAddMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgBlockUserAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgConfigDisableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgConfigEnableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgCreateAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgDisableOauthAppRestrictionsAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgDisableSamlAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgDisableTwoFactorRequirementAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgEnableOauthAppRestrictionsAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgEnableSamlAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgEnableTwoFactorRequirementAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgInviteMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgInviteToBusinessAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgOauthAppAccessApprovedAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgOauthAppAccessDeniedAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgOauthAppAccessRequestedAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgRemoveBillingManagerAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgRemoveMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgRemoveOutsideCollaboratorAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgRestoreMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUnblockUserAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUpdateDefaultRepositoryPermissionAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUpdateMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUpdateMemberRepositoryCreationPermissionAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUpdateMemberRepositoryInvitationPermissionAuditEntry","ofType":null},{"kind":"OBJECT","name":"Organization","ofType":null},{"kind":"OBJECT","name":"OrganizationIdentityProvider","ofType":null},{"kind":"OBJECT","name":"OrganizationInvitation","ofType":null},{"kind":"OBJECT","name":"Package","ofType":null},{"kind":"OBJECT","name":"PackageFile","ofType":null},{"kind":"OBJECT","name":"PackageTag","ofType":null},{"kind":"OBJECT","name":"PackageVersion","ofType":null},{"kind":"OBJECT","name":"PinnedEvent","ofType":null},{"kind":"OBJECT","name":"PinnedIssue","ofType":null},{"kind":"OBJECT","name":"PrivateRepositoryForkingDisableAuditEntry","ofType":null},{"kind":"OBJECT","name":"PrivateRepositoryForkingEnableAuditEntry","ofType":null},{"kind":"OBJECT","name":"Project","ofType":null},{"kind":"OBJECT","name":"ProjectCard","ofType":null},{"kind":"OBJECT","name":"ProjectColumn","ofType":null},{"kind":"OBJECT","name":"PublicKey","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null},{"kind":"OBJECT","name":"PullRequestCommit","ofType":null},{"kind":"OBJECT","name":"PullRequestCommitCommentThread","ofType":null},{"kind":"OBJECT","name":"PullRequestReview","ofType":null},{"kind":"OBJECT","name":"PullRequestReviewComment","ofType":null},{"kind":"OBJECT","name":"PullRequestReviewThread","ofType":null},{"kind":"OBJECT","name":"Push","ofType":null},{"kind":"OBJECT","name":"PushAllowance","ofType":null},{"kind":"OBJECT","name":"Reaction","ofType":null},{"kind":"OBJECT","name":"ReadyForReviewEvent","ofType":null},{"kind":"OBJECT","name":"Ref","ofType":null},{"kind":"OBJECT","name":"ReferencedEvent","ofType":null},{"kind":"OBJECT","name":"Release","ofType":null},{"kind":"OBJECT","name":"ReleaseAsset","ofType":null},{"kind":"OBJECT","name":"RemovedFromProjectEvent","ofType":null},{"kind":"OBJECT","name":"RenamedTitleEvent","ofType":null},{"kind":"OBJECT","name":"ReopenedEvent","ofType":null},{"kind":"OBJECT","name":"RepoAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoAddMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoAddTopicAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoArchivedAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoChangeMergeSettingAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableContributorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableSockpuppetDisallowedAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableContributorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableSockpuppetDisallowedAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigLockAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigUnlockAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoCreateAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoDestroyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoRemoveMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoRemoveTopicAuditEntry","ofType":null},{"kind":"OBJECT","name":"Repository","ofType":null},{"kind":"OBJECT","name":"RepositoryInvitation","ofType":null},{"kind":"OBJECT","name":"RepositoryTopic","ofType":null},{"kind":"OBJECT","name":"RepositoryVisibilityChangeDisableAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepositoryVisibilityChangeEnableAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepositoryVulnerabilityAlert","ofType":null},{"kind":"OBJECT","name":"ReviewDismissalAllowance","ofType":null},{"kind":"OBJECT","name":"ReviewDismissedEvent","ofType":null},{"kind":"OBJECT","name":"ReviewRequest","ofType":null},{"kind":"OBJECT","name":"ReviewRequestRemovedEvent","ofType":null},{"kind":"OBJECT","name":"ReviewRequestedEvent","ofType":null},{"kind":"OBJECT","name":"SavedReply","ofType":null},{"kind":"OBJECT","name":"SecurityAdvisory","ofType":null},{"kind":"OBJECT","name":"SponsorsListing","ofType":null},{"kind":"OBJECT","name":"SponsorsTier","ofType":null},{"kind":"OBJECT","name":"Sponsorship","ofType":null},{"kind":"OBJECT","name":"Status","ofType":null},{"kind":"OBJECT","name":"StatusCheckRollup","ofType":null},{"kind":"OBJECT","name":"StatusContext","ofType":null},{"kind":"OBJECT","name":"SubscribedEvent","ofType":null},{"kind":"OBJECT","name":"Tag","ofType":null},{"kind":"OBJECT","name":"Team","ofType":null},{"kind":"OBJECT","name":"TeamAddMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamAddRepositoryAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamChangeParentTeamAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamDiscussion","ofType":null},{"kind":"OBJECT","name":"TeamDiscussionComment","ofType":null},{"kind":"OBJECT","name":"TeamRemoveMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamRemoveRepositoryAuditEntry","ofType":null},{"kind":"OBJECT","name":"Topic","ofType":null},{"kind":"OBJECT","name":"TransferredEvent","ofType":null},{"kind":"OBJECT","name":"Tree","ofType":null},{"kind":"OBJECT","name":"UnassignedEvent","ofType":null},{"kind":"OBJECT","name":"UnlabeledEvent","ofType":null},{"kind":"OBJECT","name":"UnlockedEvent","ofType":null},{"kind":"OBJECT","name":"UnmarkedAsDuplicateEvent","ofType":null},{"kind":"OBJECT","name":"UnpinnedEvent","ofType":null},{"kind":"OBJECT","name":"UnsubscribedEvent","ofType":null},{"kind":"OBJECT","name":"User","ofType":null},{"kind":"OBJECT","name":"UserBlockedEvent","ofType":null},{"kind":"OBJECT","name":"UserContentEdit","ofType":null},{"kind":"OBJECT","name":"UserStatus","ofType":null},{"kind":"OBJECT","name":"VerifiableDomain","ofType":null}]},{"kind":"ENUM","name":"NotificationRestrictionSettingValue","description":"The possible values for the notification restriction setting.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ENABLED","description":"The setting is enabled for the owner.","isDeprecated":false,"deprecationReason":null},{"name":"DISABLED","description":"The setting is disabled for the owner.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INTERFACE","name":"OauthApplicationAuditEntryData","description":"Metadata for an audit entry with action oauth_application.*","fields":[{"name":"oauthApplicationName","description":"The name of the OAuth Application.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"oauthApplicationResourcePath","description":"The HTTP path for the OAuth Application","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"oauthApplicationUrl","description":"The HTTP URL for the OAuth Application","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"OauthApplicationCreateAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgOauthAppAccessApprovedAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgOauthAppAccessDeniedAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgOauthAppAccessRequestedAuditEntry","ofType":null}]},{"kind":"OBJECT","name":"OauthApplicationCreateAuditEntry","description":"Audit log entry for a oauth_application.create event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"applicationUrl","description":"The application URL of the OAuth Application.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"callbackUrl","description":"The callback URL of the OAuth Application.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"oauthApplicationName","description":"The name of the OAuth Application.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"oauthApplicationResourcePath","description":"The HTTP path for the OAuth Application","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"oauthApplicationUrl","description":"The HTTP URL for the OAuth Application","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"rateLimit","description":"The rate limit of the OAuth Application.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":"The state of the OAuth Application.","args":[],"type":{"kind":"ENUM","name":"OauthApplicationCreateAuditEntryState","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OauthApplicationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"OauthApplicationCreateAuditEntryState","description":"The state of an OAuth Application when it was created.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ACTIVE","description":"The OAuth Application was active and allowed to have OAuth Accesses.","isDeprecated":false,"deprecationReason":null},{"name":"SUSPENDED","description":"The OAuth Application was suspended from generating OAuth Accesses due to abuse or security concerns.","isDeprecated":false,"deprecationReason":null},{"name":"PENDING_DELETION","description":"The OAuth Application was in the process of being deleted.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"OperationType","description":"The corresponding operation type for the action","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ACCESS","description":"An existing resource was accessed","isDeprecated":false,"deprecationReason":null},{"name":"AUTHENTICATION","description":"A resource performed an authentication event","isDeprecated":false,"deprecationReason":null},{"name":"CREATE","description":"A new resource was created","isDeprecated":false,"deprecationReason":null},{"name":"MODIFY","description":"An existing resource was modified","isDeprecated":false,"deprecationReason":null},{"name":"REMOVE","description":"An existing resource was removed","isDeprecated":false,"deprecationReason":null},{"name":"RESTORE","description":"An existing resource was restored","isDeprecated":false,"deprecationReason":null},{"name":"TRANSFER","description":"An existing resource was transferred between multiple resources","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"OrderDirection","description":"Possible directions in which to order a list of items when provided an `orderBy` argument.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ASC","description":"Specifies an ascending order for a given `orderBy` argument.","isDeprecated":false,"deprecationReason":null},{"name":"DESC","description":"Specifies a descending order for a given `orderBy` argument.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"OrgAddBillingManagerAuditEntry","description":"Audit log entry for a org.add_billing_manager","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"invitationEmail","description":"The email address used to invite a billing manager for the organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgAddMemberAuditEntry","description":"Audit log entry for a org.add_member","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"permission","description":"The permission level of the member added to the organization.","args":[],"type":{"kind":"ENUM","name":"OrgAddMemberAuditEntryPermission","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"OrgAddMemberAuditEntryPermission","description":"The permissions available to members on an Organization.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"READ","description":"Can read and clone repositories.","isDeprecated":false,"deprecationReason":null},{"name":"ADMIN","description":"Can read, clone, push, and add collaborators to repositories.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"OrgBlockUserAuditEntry","description":"Audit log entry for a org.block_user","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"blockedUser","description":"The blocked user.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"blockedUserName","description":"The username of the blocked user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"blockedUserResourcePath","description":"The HTTP path for the blocked user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"blockedUserUrl","description":"The HTTP URL for the blocked user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgConfigDisableCollaboratorsOnlyAuditEntry","description":"Audit log entry for a org.config.disable_collaborators_only event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgConfigEnableCollaboratorsOnlyAuditEntry","description":"Audit log entry for a org.config.enable_collaborators_only event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgCreateAuditEntry","description":"Audit log entry for a org.create event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"billingPlan","description":"The billing plan for the Organization.","args":[],"type":{"kind":"ENUM","name":"OrgCreateAuditEntryBillingPlan","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"OrgCreateAuditEntryBillingPlan","description":"The billing plans available for organizations.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"FREE","description":"Free Plan","isDeprecated":false,"deprecationReason":null},{"name":"BUSINESS","description":"Team Plan","isDeprecated":false,"deprecationReason":null},{"name":"BUSINESS_PLUS","description":"Enterprise Cloud Plan","isDeprecated":false,"deprecationReason":null},{"name":"UNLIMITED","description":"Legacy Unlimited Plan","isDeprecated":false,"deprecationReason":null},{"name":"TIERED_PER_SEAT","description":"Tiered Per Seat Plan","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"OrgDisableOauthAppRestrictionsAuditEntry","description":"Audit log entry for a org.disable_oauth_app_restrictions event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgDisableSamlAuditEntry","description":"Audit log entry for a org.disable_saml event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"digestMethodUrl","description":"The SAML provider's digest algorithm URL.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issuerUrl","description":"The SAML provider's issuer URL.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"signatureMethodUrl","description":"The SAML provider's signature algorithm URL.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"singleSignOnUrl","description":"The SAML provider's single sign-on URL.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgDisableTwoFactorRequirementAuditEntry","description":"Audit log entry for a org.disable_two_factor_requirement event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgEnableOauthAppRestrictionsAuditEntry","description":"Audit log entry for a org.enable_oauth_app_restrictions event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgEnableSamlAuditEntry","description":"Audit log entry for a org.enable_saml event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"digestMethodUrl","description":"The SAML provider's digest algorithm URL.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issuerUrl","description":"The SAML provider's issuer URL.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"signatureMethodUrl","description":"The SAML provider's signature algorithm URL.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"singleSignOnUrl","description":"The SAML provider's single sign-on URL.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgEnableTwoFactorRequirementAuditEntry","description":"Audit log entry for a org.enable_two_factor_requirement event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgInviteMemberAuditEntry","description":"Audit log entry for a org.invite_member event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"email","description":"The email address of the organization invitation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationInvitation","description":"The organization invitation.","args":[],"type":{"kind":"OBJECT","name":"OrganizationInvitation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgInviteToBusinessAuditEntry","description":"Audit log entry for a org.invite_to_business event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseResourcePath","description":"The HTTP path for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseSlug","description":"The slug of the enterprise.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseUrl","description":"The HTTP URL for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"EnterpriseAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgOauthAppAccessApprovedAuditEntry","description":"Audit log entry for a org.oauth_app_access_approved event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"oauthApplicationName","description":"The name of the OAuth Application.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"oauthApplicationResourcePath","description":"The HTTP path for the OAuth Application","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"oauthApplicationUrl","description":"The HTTP URL for the OAuth Application","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OauthApplicationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgOauthAppAccessDeniedAuditEntry","description":"Audit log entry for a org.oauth_app_access_denied event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"oauthApplicationName","description":"The name of the OAuth Application.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"oauthApplicationResourcePath","description":"The HTTP path for the OAuth Application","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"oauthApplicationUrl","description":"The HTTP URL for the OAuth Application","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OauthApplicationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgOauthAppAccessRequestedAuditEntry","description":"Audit log entry for a org.oauth_app_access_requested event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"oauthApplicationName","description":"The name of the OAuth Application.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"oauthApplicationResourcePath","description":"The HTTP path for the OAuth Application","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"oauthApplicationUrl","description":"The HTTP URL for the OAuth Application","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OauthApplicationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgRemoveBillingManagerAuditEntry","description":"Audit log entry for a org.remove_billing_manager event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reason","description":"The reason for the billing manager being removed.","args":[],"type":{"kind":"ENUM","name":"OrgRemoveBillingManagerAuditEntryReason","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"OrgRemoveBillingManagerAuditEntryReason","description":"The reason a billing manager was removed from an Organization.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"TWO_FACTOR_REQUIREMENT_NON_COMPLIANCE","description":"The organization required 2FA of its billing managers and this user did not have 2FA enabled.","isDeprecated":false,"deprecationReason":null},{"name":"SAML_EXTERNAL_IDENTITY_MISSING","description":"SAML external identity missing","isDeprecated":false,"deprecationReason":null},{"name":"SAML_SSO_ENFORCEMENT_REQUIRES_EXTERNAL_IDENTITY","description":"SAML SSO enforcement requires an external identity","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"OrgRemoveMemberAuditEntry","description":"Audit log entry for a org.remove_member event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membershipTypes","description":"The types of membership the member has with the organization.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrgRemoveMemberAuditEntryMembershipType","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reason","description":"The reason for the member being removed.","args":[],"type":{"kind":"ENUM","name":"OrgRemoveMemberAuditEntryReason","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"OrgRemoveMemberAuditEntryMembershipType","description":"The type of membership a user has with an Organization.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"DIRECT_MEMBER","description":"A direct member is a user that is a member of the Organization.","isDeprecated":false,"deprecationReason":null},{"name":"ADMIN","description":"Organization administrators have full access and can change several settings, including the names of repositories that belong to the Organization and Owners team membership. In addition, organization admins can delete the organization and all of its repositories.","isDeprecated":false,"deprecationReason":null},{"name":"BILLING_MANAGER","description":"A billing manager is a user who manages the billing settings for the Organization, such as updating payment information.","isDeprecated":false,"deprecationReason":null},{"name":"UNAFFILIATED","description":"An unaffiliated collaborator is a person who is not a member of the Organization and does not have access to any repositories in the Organization.","isDeprecated":false,"deprecationReason":null},{"name":"OUTSIDE_COLLABORATOR","description":"An outside collaborator is a person who isn't explicitly a member of the Organization, but who has Read, Write, or Admin permissions to one or more repositories in the organization.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"OrgRemoveMemberAuditEntryReason","description":"The reason a member was removed from an Organization.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"TWO_FACTOR_REQUIREMENT_NON_COMPLIANCE","description":"The organization required 2FA of its billing managers and this user did not have 2FA enabled.","isDeprecated":false,"deprecationReason":null},{"name":"SAML_EXTERNAL_IDENTITY_MISSING","description":"SAML external identity missing","isDeprecated":false,"deprecationReason":null},{"name":"SAML_SSO_ENFORCEMENT_REQUIRES_EXTERNAL_IDENTITY","description":"SAML SSO enforcement requires an external identity","isDeprecated":false,"deprecationReason":null},{"name":"USER_ACCOUNT_DELETED","description":"User account has been deleted","isDeprecated":false,"deprecationReason":null},{"name":"TWO_FACTOR_ACCOUNT_RECOVERY","description":"User was removed from organization during account recovery","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"OrgRemoveOutsideCollaboratorAuditEntry","description":"Audit log entry for a org.remove_outside_collaborator event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membershipTypes","description":"The types of membership the outside collaborator has with the organization.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrgRemoveOutsideCollaboratorAuditEntryMembershipType","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reason","description":"The reason for the outside collaborator being removed from the Organization.","args":[],"type":{"kind":"ENUM","name":"OrgRemoveOutsideCollaboratorAuditEntryReason","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"OrgRemoveOutsideCollaboratorAuditEntryMembershipType","description":"The type of membership a user has with an Organization.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"OUTSIDE_COLLABORATOR","description":"An outside collaborator is a person who isn't explicitly a member of the Organization, but who has Read, Write, or Admin permissions to one or more repositories in the organization.","isDeprecated":false,"deprecationReason":null},{"name":"UNAFFILIATED","description":"An unaffiliated collaborator is a person who is not a member of the Organization and does not have access to any repositories in the organization.","isDeprecated":false,"deprecationReason":null},{"name":"BILLING_MANAGER","description":"A billing manager is a user who manages the billing settings for the Organization, such as updating payment information.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"OrgRemoveOutsideCollaboratorAuditEntryReason","description":"The reason an outside collaborator was removed from an Organization.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"TWO_FACTOR_REQUIREMENT_NON_COMPLIANCE","description":"The organization required 2FA of its billing managers and this user did not have 2FA enabled.","isDeprecated":false,"deprecationReason":null},{"name":"SAML_EXTERNAL_IDENTITY_MISSING","description":"SAML external identity missing","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"OrgRestoreMemberAuditEntry","description":"Audit log entry for a org.restore_member event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"restoredCustomEmailRoutingsCount","description":"The number of custom email routings for the restored member.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"restoredIssueAssignmentsCount","description":"The number of issue assignments for the restored member.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"restoredMemberships","description":"Restored organization membership objects.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"OrgRestoreMemberAuditEntryMembership","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"restoredMembershipsCount","description":"The number of restored memberships.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"restoredRepositoriesCount","description":"The number of repositories of the restored member.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"restoredRepositoryStarsCount","description":"The number of starred repositories for the restored member.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"restoredRepositoryWatchesCount","description":"The number of watched repositories for the restored member.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"OrgRestoreMemberAuditEntryMembership","description":"Types of memberships that can be restored for an Organization member.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"OrgRestoreMemberMembershipOrganizationAuditEntryData","ofType":null},{"kind":"OBJECT","name":"OrgRestoreMemberMembershipRepositoryAuditEntryData","ofType":null},{"kind":"OBJECT","name":"OrgRestoreMemberMembershipTeamAuditEntryData","ofType":null}]},{"kind":"OBJECT","name":"OrgRestoreMemberMembershipOrganizationAuditEntryData","description":"Metadata for an organization membership for org.restore_member actions","fields":[{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgRestoreMemberMembershipRepositoryAuditEntryData","description":"Metadata for a repository membership for org.restore_member actions","fields":[{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgRestoreMemberMembershipTeamAuditEntryData","description":"Metadata for a team membership for org.restore_member actions","fields":[{"name":"team","description":"The team associated with the action","args":[],"type":{"kind":"OBJECT","name":"Team","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamName","description":"The name of the team","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamResourcePath","description":"The HTTP path for this team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamUrl","description":"The HTTP URL for this team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"TeamAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgUnblockUserAuditEntry","description":"Audit log entry for a org.unblock_user","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"blockedUser","description":"The user being unblocked by the organization.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"blockedUserName","description":"The username of the blocked user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"blockedUserResourcePath","description":"The HTTP path for the blocked user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"blockedUserUrl","description":"The HTTP URL for the blocked user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrgUpdateDefaultRepositoryPermissionAuditEntry","description":"Audit log entry for a org.update_default_repository_permission","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"permission","description":"The new default repository permission level for the organization.","args":[],"type":{"kind":"ENUM","name":"OrgUpdateDefaultRepositoryPermissionAuditEntryPermission","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"permissionWas","description":"The former default repository permission level for the organization.","args":[],"type":{"kind":"ENUM","name":"OrgUpdateDefaultRepositoryPermissionAuditEntryPermission","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"OrgUpdateDefaultRepositoryPermissionAuditEntryPermission","description":"The default permission a repository can have in an Organization.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"READ","description":"Can read and clone repositories.","isDeprecated":false,"deprecationReason":null},{"name":"WRITE","description":"Can read, clone and push to repositories.","isDeprecated":false,"deprecationReason":null},{"name":"ADMIN","description":"Can read, clone, push, and add collaborators to repositories.","isDeprecated":false,"deprecationReason":null},{"name":"NONE","description":"No default permission value.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"OrgUpdateMemberAuditEntry","description":"Audit log entry for a org.update_member event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"permission","description":"The new member permission level for the organization.","args":[],"type":{"kind":"ENUM","name":"OrgUpdateMemberAuditEntryPermission","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"permissionWas","description":"The former member permission level for the organization.","args":[],"type":{"kind":"ENUM","name":"OrgUpdateMemberAuditEntryPermission","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"OrgUpdateMemberAuditEntryPermission","description":"The permissions available to members on an Organization.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"READ","description":"Can read and clone repositories.","isDeprecated":false,"deprecationReason":null},{"name":"ADMIN","description":"Can read, clone, push, and add collaborators to repositories.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"OrgUpdateMemberRepositoryCreationPermissionAuditEntry","description":"Audit log entry for a org.update_member_repository_creation_permission event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"canCreateRepositories","description":"Can members create repositories in the organization.","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"visibility","description":"The permission for visibility level of repositories for this organization.","args":[],"type":{"kind":"ENUM","name":"OrgUpdateMemberRepositoryCreationPermissionAuditEntryVisibility","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"OrgUpdateMemberRepositoryCreationPermissionAuditEntryVisibility","description":"The permissions available for repository creation on an Organization.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ALL","description":"All organization members are restricted from creating any repositories.","isDeprecated":false,"deprecationReason":null},{"name":"PUBLIC","description":"All organization members are restricted from creating public repositories.","isDeprecated":false,"deprecationReason":null},{"name":"NONE","description":"All organization members are allowed to create any repositories.","isDeprecated":false,"deprecationReason":null},{"name":"PRIVATE","description":"All organization members are restricted from creating private repositories.","isDeprecated":false,"deprecationReason":null},{"name":"INTERNAL","description":"All organization members are restricted from creating internal repositories.","isDeprecated":false,"deprecationReason":null},{"name":"PUBLIC_INTERNAL","description":"All organization members are restricted from creating public or internal repositories.","isDeprecated":false,"deprecationReason":null},{"name":"PRIVATE_INTERNAL","description":"All organization members are restricted from creating private or internal repositories.","isDeprecated":false,"deprecationReason":null},{"name":"PUBLIC_PRIVATE","description":"All organization members are restricted from creating public or private repositories.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"OrgUpdateMemberRepositoryInvitationPermissionAuditEntry","description":"Audit log entry for a org.update_member_repository_invitation_permission event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"canInviteOutsideCollaboratorsToRepositories","description":"Can outside collaborators be invited to repositories in the organization.","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Organization","description":"An account on GitHub, with one or more owners, that has repositories, members and teams.","fields":[{"name":"anyPinnableItems","description":"Determine if this repository owner has any items that can be pinned to their profile.","args":[{"name":"type","description":"Filter to only a particular kind of pinnable item.","type":{"kind":"ENUM","name":"PinnableItemType","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"auditLog","description":"Audit log entries of the organization","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"query","description":"The query string to filter audit entries","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for the returned audit log entries.","type":{"kind":"INPUT_OBJECT","name":"AuditLogOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: DESC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationAuditEntryConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"avatarUrl","description":"A URL pointing to the organization's public avatar.","args":[{"name":"size","description":"The size of the resulting square image.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":"The organization's public profile description.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"descriptionHTML","description":"The organization's public profile description rendered to HTML.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"domains","description":"A list of domains owned by the organization.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"isVerified","description":"Filter by if the domain is verified.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"null"},{"name":"orderBy","description":"Ordering options for verifiable domains returned.","type":{"kind":"INPUT_OBJECT","name":"VerifiableDomainOrder","ofType":null},"defaultValue":"{field: DOMAIN, direction: ASC}"}],"type":{"kind":"OBJECT","name":"VerifiableDomainConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"email","description":"The organization's public email.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"hasSponsorsListing","description":"True if this user/organization has a GitHub Sponsors listing.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"interactionAbility","description":"The interaction ability settings for this organization.","args":[],"type":{"kind":"OBJECT","name":"RepositoryInteractionAbility","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"ipAllowListEnabledSetting","description":"The setting value for whether the organization has an IP allow list enabled.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"IpAllowListEnabledSettingValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"ipAllowListEntries","description":"The IP addresses that are allowed to access resources owned by the organization.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for IP allow list entries returned.","type":{"kind":"INPUT_OBJECT","name":"IpAllowListEntryOrder","ofType":null},"defaultValue":"{field: ALLOW_LIST_VALUE, direction: ASC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"IpAllowListEntryConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isSponsoredBy","description":"Check if the given account is sponsoring this user/organization.","args":[{"name":"accountLogin","description":"The target account's login.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isSponsoringViewer","description":"True if the viewer is sponsored by this user/organization.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isVerified","description":"Whether the organization has verified its profile email and website.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"itemShowcase","description":"Showcases a selection of repositories and gists that the profile owner has either curated or that have been selected automatically based on popularity.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProfileItemShowcase","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"location","description":"The organization's public profile location.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"login","description":"The organization's login name.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"memberStatuses","description":"Get the status messages members of this entity have set that are either public or visible only to the organization.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for user statuses returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"UserStatusOrder","ofType":null},"defaultValue":"{field: UPDATED_AT, direction: DESC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"UserStatusConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membersWithRole","description":"A list of users who are members of this organization.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationMemberConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The organization's public profile name.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"newTeamResourcePath","description":"The HTTP path creating a new team","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"newTeamUrl","description":"The HTTP URL creating a new team","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"notificationDeliveryRestrictionEnabledSetting","description":"Indicates if email notification delivery for this organization is restricted to verified domains.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"NotificationRestrictionSettingValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"organizationBillingEmail","description":"The billing email for the organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"packages","description":"A list of packages under the owner.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"names","description":"Find packages by their names.","type":{"kind":"LIST","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"repositoryId","description":"Find packages in a repository by ID.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"packageType","description":"Filter registry package by type.","type":{"kind":"ENUM","name":"PackageType","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering of the returned packages.","type":{"kind":"INPUT_OBJECT","name":"PackageOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: DESC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PackageConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pendingMembers","description":"A list of users who have been invited to join this organization.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"UserConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pinnableItems","description":"A list of repositories and gists this profile owner can pin to their profile.","args":[{"name":"types","description":"Filter the types of pinnable items that are returned.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PinnableItemType","ofType":null}}},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PinnableItemConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pinnedItems","description":"A list of repositories and gists this profile owner has pinned to their profile","args":[{"name":"types","description":"Filter the types of pinned items that are returned.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PinnableItemType","ofType":null}}},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PinnableItemConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pinnedItemsRemaining","description":"Returns how many more items this profile owner can pin to their profile.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"project","description":"Find project by number.","args":[{"name":"number","description":"The project number to find.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Project","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"projects","description":"A list of projects under the owner.","args":[{"name":"orderBy","description":"Ordering options for projects returned from the connection","type":{"kind":"INPUT_OBJECT","name":"ProjectOrder","ofType":null},"defaultValue":null},{"name":"search","description":"Query to search projects by, currently only searching by name.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"states","description":"A list of states to filter the projects by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ProjectState","ofType":null}}},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProjectConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"projectsResourcePath","description":"The HTTP path listing organization's projects","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"projectsUrl","description":"The HTTP URL listing organization's projects","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repositories","description":"A list of repositories that the user owns.","args":[{"name":"privacy","description":"If non-null, filters repositories according to privacy","type":{"kind":"ENUM","name":"RepositoryPrivacy","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for repositories returned from the connection","type":{"kind":"INPUT_OBJECT","name":"RepositoryOrder","ofType":null},"defaultValue":null},{"name":"affiliations","description":"Array of viewer's affiliation options for repositories returned from the connection. For example, OWNER will include only repositories that the current viewer owns.","type":{"kind":"LIST","name":null,"ofType":{"kind":"ENUM","name":"RepositoryAffiliation","ofType":null}},"defaultValue":null},{"name":"ownerAffiliations","description":"Array of owner's affiliation options for repositories returned from the connection. For example, OWNER will include only repositories that the organization or user being viewed owns.","type":{"kind":"LIST","name":null,"ofType":{"kind":"ENUM","name":"RepositoryAffiliation","ofType":null}},"defaultValue":"[OWNER, COLLABORATOR]"},{"name":"isLocked","description":"If non-null, filters repositories according to whether they have been locked","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"isFork","description":"If non-null, filters repositories according to whether they are forks of another repository","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"Find Repository.","args":[{"name":"name","description":"Name of Repository to find.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"requiresTwoFactorAuthentication","description":"When true the organization requires all members, billing managers, and outside collaborators to enable two-factor authentication.","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this organization.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"samlIdentityProvider","description":"The Organization's SAML identity providers","args":[],"type":{"kind":"OBJECT","name":"OrganizationIdentityProvider","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"sponsorsListing","description":"The GitHub Sponsors listing for this user or organization.","args":[],"type":{"kind":"OBJECT","name":"SponsorsListing","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"sponsorshipForViewerAsSponsor","description":"The viewer's sponsorship of this entity.","args":[],"type":{"kind":"OBJECT","name":"Sponsorship","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"sponsorshipsAsMaintainer","description":"This object's sponsorships as the maintainer.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"includePrivate","description":"Whether or not to include private sponsorships in the result set","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"orderBy","description":"Ordering options for sponsorships returned from this connection. If left blank, the sponsorships will be ordered based on relevancy to the viewer.","type":{"kind":"INPUT_OBJECT","name":"SponsorshipOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SponsorshipConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"sponsorshipsAsSponsor","description":"This object's sponsorships as the sponsor.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for sponsorships returned from this connection. If left blank, the sponsorships will be ordered based on relevancy to the viewer.","type":{"kind":"INPUT_OBJECT","name":"SponsorshipOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SponsorshipConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"team","description":"Find an organization's team by its slug.","args":[{"name":"slug","description":"The name or slug of the team to find.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Team","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teams","description":"A list of teams in this organization.","args":[{"name":"privacy","description":"If non-null, filters teams according to privacy","type":{"kind":"ENUM","name":"TeamPrivacy","ofType":null},"defaultValue":null},{"name":"role","description":"If non-null, filters teams according to whether the viewer is an admin or member on team","type":{"kind":"ENUM","name":"TeamRole","ofType":null},"defaultValue":null},{"name":"query","description":"If non-null, filters teams with query on team name and team slug","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"userLogins","description":"User logins to filter by","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for teams returned from the connection","type":{"kind":"INPUT_OBJECT","name":"TeamOrder","ofType":null},"defaultValue":null},{"name":"ldapMapped","description":"If true, filters teams that are mapped to an LDAP Group (Enterprise only)","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"rootTeamsOnly","description":"If true, restrict to only root teams","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TeamConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"teamsResourcePath","description":"The HTTP path listing organization's teams","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"teamsUrl","description":"The HTTP URL listing organization's teams","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"twitterUsername","description":"The organization's Twitter username.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this organization.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanAdminister","description":"Organization is adminable by the viewer.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanChangePinnedItems","description":"Can the viewer pin repositories and gists to the profile?","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanCreateProjects","description":"Can the current viewer create new projects on this owner.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanCreateRepositories","description":"Viewer can create repositories on this organization","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanCreateTeams","description":"Viewer can create teams on this organization.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanSponsor","description":"Whether or not the viewer is able to sponsor this user/organization.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerIsAMember","description":"Viewer is an active member of this organization.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerIsSponsoring","description":"True if the viewer is sponsoring this user/organization.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"websiteUrl","description":"The organization's public profile URL.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Actor","ofType":null},{"kind":"INTERFACE","name":"PackageOwner","ofType":null},{"kind":"INTERFACE","name":"ProjectOwner","ofType":null},{"kind":"INTERFACE","name":"RepositoryOwner","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null},{"kind":"INTERFACE","name":"MemberStatusable","ofType":null},{"kind":"INTERFACE","name":"ProfileOwner","ofType":null},{"kind":"INTERFACE","name":"Sponsorable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"OrganizationAuditEntry","description":"An audit entry in an organization audit log.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"MembersCanDeleteReposClearAuditEntry","ofType":null},{"kind":"OBJECT","name":"MembersCanDeleteReposDisableAuditEntry","ofType":null},{"kind":"OBJECT","name":"MembersCanDeleteReposEnableAuditEntry","ofType":null},{"kind":"OBJECT","name":"OauthApplicationCreateAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgAddBillingManagerAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgAddMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgBlockUserAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgConfigDisableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgConfigEnableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgCreateAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgDisableOauthAppRestrictionsAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgDisableSamlAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgDisableTwoFactorRequirementAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgEnableOauthAppRestrictionsAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgEnableSamlAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgEnableTwoFactorRequirementAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgInviteMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgInviteToBusinessAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgOauthAppAccessApprovedAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgOauthAppAccessDeniedAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgOauthAppAccessRequestedAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgRemoveBillingManagerAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgRemoveMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgRemoveOutsideCollaboratorAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgRestoreMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUnblockUserAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUpdateDefaultRepositoryPermissionAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUpdateMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUpdateMemberRepositoryCreationPermissionAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUpdateMemberRepositoryInvitationPermissionAuditEntry","ofType":null},{"kind":"OBJECT","name":"PrivateRepositoryForkingDisableAuditEntry","ofType":null},{"kind":"OBJECT","name":"PrivateRepositoryForkingEnableAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoAddMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoAddTopicAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoArchivedAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoChangeMergeSettingAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableContributorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableSockpuppetDisallowedAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableContributorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableSockpuppetDisallowedAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigLockAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigUnlockAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoCreateAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoDestroyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoRemoveMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoRemoveTopicAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepositoryVisibilityChangeDisableAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepositoryVisibilityChangeEnableAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamAddMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamAddRepositoryAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamChangeParentTeamAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamRemoveMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamRemoveRepositoryAuditEntry","ofType":null}]},{"kind":"OBJECT","name":"OrganizationAuditEntryConnection","description":"The connection type for OrganizationAuditEntry.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationAuditEntryEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"UNION","name":"OrganizationAuditEntry","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","description":"Metadata for an audit entry with action org.*","fields":[{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"MembersCanDeleteReposClearAuditEntry","ofType":null},{"kind":"OBJECT","name":"MembersCanDeleteReposDisableAuditEntry","ofType":null},{"kind":"OBJECT","name":"MembersCanDeleteReposEnableAuditEntry","ofType":null},{"kind":"OBJECT","name":"OauthApplicationCreateAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgAddBillingManagerAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgAddMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgBlockUserAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgConfigDisableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgConfigEnableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgCreateAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgDisableOauthAppRestrictionsAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgDisableSamlAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgDisableTwoFactorRequirementAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgEnableOauthAppRestrictionsAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgEnableSamlAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgEnableTwoFactorRequirementAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgInviteMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgInviteToBusinessAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgOauthAppAccessApprovedAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgOauthAppAccessDeniedAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgOauthAppAccessRequestedAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgRemoveBillingManagerAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgRemoveMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgRemoveOutsideCollaboratorAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgRestoreMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgRestoreMemberMembershipOrganizationAuditEntryData","ofType":null},{"kind":"OBJECT","name":"OrgUnblockUserAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUpdateDefaultRepositoryPermissionAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUpdateMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUpdateMemberRepositoryCreationPermissionAuditEntry","ofType":null},{"kind":"OBJECT","name":"OrgUpdateMemberRepositoryInvitationPermissionAuditEntry","ofType":null},{"kind":"OBJECT","name":"PrivateRepositoryForkingDisableAuditEntry","ofType":null},{"kind":"OBJECT","name":"PrivateRepositoryForkingEnableAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoAddMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoAddTopicAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoArchivedAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoChangeMergeSettingAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableContributorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableSockpuppetDisallowedAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableContributorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableSockpuppetDisallowedAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigLockAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigUnlockAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoCreateAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoDestroyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoRemoveMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoRemoveTopicAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepositoryVisibilityChangeDisableAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepositoryVisibilityChangeEnableAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamAddMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamAddRepositoryAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamChangeParentTeamAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamRemoveMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamRemoveRepositoryAuditEntry","ofType":null}]},{"kind":"OBJECT","name":"OrganizationAuditEntryEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"UNION","name":"OrganizationAuditEntry","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrganizationConnection","description":"The connection type for Organization.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Organization","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrganizationEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrganizationIdentityProvider","description":"An Identity Provider configured to provision SAML and SCIM identities for Organizations","fields":[{"name":"digestMethod","description":"The digest algorithm used to sign SAML requests for the Identity Provider.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"externalIdentities","description":"External Identities provisioned by this Identity Provider","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ExternalIdentityConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"idpCertificate","description":"The x509 certificate used by the Identity Provider to sign assertions and responses.","args":[],"type":{"kind":"SCALAR","name":"X509Certificate","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"issuer","description":"The Issuer Entity ID for the SAML Identity Provider","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"Organization this Identity Provider belongs to","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"signatureMethod","description":"The signature algorithm used to sign SAML requests for the Identity Provider.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"ssoUrl","description":"The URL endpoint for the Identity Provider's SAML SSO.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrganizationInvitation","description":"An Invitation for a user to an organization.","fields":[{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"email","description":"The email address of the user invited to the organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"invitationType","description":"The type of invitation that was sent (e.g. email, user).","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrganizationInvitationType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"invitee","description":"The user who was invited to the organization.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"inviter","description":"The user who created the invitation.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The organization the invite is for","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Organization","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"role","description":"The user's pending role in the organization (e.g. member, owner).","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrganizationInvitationRole","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrganizationInvitationConnection","description":"The connection type for OrganizationInvitation.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationInvitationEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationInvitation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrganizationInvitationEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"OrganizationInvitation","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"OrganizationInvitationRole","description":"The possible organization invitation roles.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"DIRECT_MEMBER","description":"The user is invited to be a direct member of the organization.","isDeprecated":false,"deprecationReason":null},{"name":"ADMIN","description":"The user is invited to be an admin of the organization.","isDeprecated":false,"deprecationReason":null},{"name":"BILLING_MANAGER","description":"The user is invited to be a billing manager of the organization.","isDeprecated":false,"deprecationReason":null},{"name":"REINSTATE","description":"The user's previous role will be reinstated.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"OrganizationInvitationType","description":"The possible organization invitation types.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"USER","description":"The invitation was to an existing user.","isDeprecated":false,"deprecationReason":null},{"name":"EMAIL","description":"The invitation was to an email address.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"OrganizationMemberConnection","description":"The connection type for User.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationMemberEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrganizationMemberEdge","description":"Represents a user within an organization.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hasTwoFactorEnabled","description":"Whether the organization member has two factor enabled or not. Returns null if information is not available to viewer.","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"role","description":"The role this user has in the organization.","args":[],"type":{"kind":"ENUM","name":"OrganizationMemberRole","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"OrganizationMemberRole","description":"The possible roles within an organization for its members.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"MEMBER","description":"The user is a member of the organization.","isDeprecated":false,"deprecationReason":null},{"name":"ADMIN","description":"The user is an administrator of the organization.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"OrganizationMembersCanCreateRepositoriesSettingValue","description":"The possible values for the members can create repositories setting on an organization.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ALL","description":"Members will be able to create public and private repositories.","isDeprecated":false,"deprecationReason":null},{"name":"PRIVATE","description":"Members will be able to create only private repositories.","isDeprecated":false,"deprecationReason":null},{"name":"DISABLED","description":"Members will not be able to create public or private repositories.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"OrganizationOrder","description":"Ordering options for organization connections.","fields":null,"inputFields":[{"name":"field","description":"The field to order organizations by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrganizationOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"OrganizationOrderField","description":"Properties by which organization connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order organizations by creation time","isDeprecated":false,"deprecationReason":null},{"name":"LOGIN","description":"Order organizations by login","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"OrganizationTeamsHovercardContext","description":"An organization teams hovercard context","fields":[{"name":"message","description":"A string describing this context","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"octicon","description":"An octicon to accompany this context","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"relevantTeams","description":"Teams in this organization the user is a member of that are relevant","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TeamConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"teamsResourcePath","description":"The path for the full team list for this user","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"teamsUrl","description":"The URL for the full team list for this user","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalTeamCount","description":"The total number of teams the user is on in the organization","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"HovercardContext","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrganizationsHovercardContext","description":"An organization list hovercard context","fields":[{"name":"message","description":"A string describing this context","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"octicon","description":"An octicon to accompany this context","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"relevantOrganizations","description":"Organizations this user is a member of that are relevant","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalOrganizationCount","description":"The total number of organizations this user is in","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"HovercardContext","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Package","description":"Information for an uploaded package.","fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"latestVersion","description":"Find the latest version for the package.","args":[],"type":{"kind":"OBJECT","name":"PackageVersion","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"Identifies the name of the package.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"packageType","description":"Identifies the type of the package.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PackageType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository this package belongs to.","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"statistics","description":"Statistics about package activity.","args":[],"type":{"kind":"OBJECT","name":"PackageStatistics","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"version","description":"Find package version by version string.","args":[{"name":"version","description":"The package version.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"PackageVersion","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"versions","description":"list of versions for this package","args":[{"name":"orderBy","description":"Ordering of the returned packages.","type":{"kind":"INPUT_OBJECT","name":"PackageVersionOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: DESC}"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PackageVersionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PackageConnection","description":"The connection type for Package.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PackageEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Package","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PackageEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"Package","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PackageFile","description":"A file in a package version.","fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"md5","description":"MD5 hash of the file.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"Name of the file.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"packageVersion","description":"The package version this file belongs to.","args":[],"type":{"kind":"OBJECT","name":"PackageVersion","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"sha1","description":"SHA1 hash of the file.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"sha256","description":"SHA256 hash of the file.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"size","description":"Size of the file in bytes.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"URL to download the asset.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PackageFileConnection","description":"The connection type for PackageFile.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PackageFileEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PackageFile","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PackageFileEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"PackageFile","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PackageFileOrder","description":"Ways in which lists of package files can be ordered upon return.","fields":null,"inputFields":[{"name":"field","description":"The field in which to order package files by.","type":{"kind":"ENUM","name":"PackageFileOrderField","ofType":null},"defaultValue":null},{"name":"direction","description":"The direction in which to order package files by the specified field.","type":{"kind":"ENUM","name":"OrderDirection","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"PackageFileOrderField","description":"Properties by which package file connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order package files by creation time","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PackageOrder","description":"Ways in which lists of packages can be ordered upon return.","fields":null,"inputFields":[{"name":"field","description":"The field in which to order packages by.","type":{"kind":"ENUM","name":"PackageOrderField","ofType":null},"defaultValue":null},{"name":"direction","description":"The direction in which to order packages by the specified field.","type":{"kind":"ENUM","name":"OrderDirection","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"PackageOrderField","description":"Properties by which package connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order packages by creation time","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INTERFACE","name":"PackageOwner","description":"Represents an owner of a package.","fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"packages","description":"A list of packages under the owner.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"names","description":"Find packages by their names.","type":{"kind":"LIST","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"repositoryId","description":"Find packages in a repository by ID.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"packageType","description":"Filter registry package by type.","type":{"kind":"ENUM","name":"PackageType","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering of the returned packages.","type":{"kind":"INPUT_OBJECT","name":"PackageOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: DESC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PackageConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Organization","ofType":null},{"kind":"OBJECT","name":"Repository","ofType":null},{"kind":"OBJECT","name":"User","ofType":null}]},{"kind":"OBJECT","name":"PackageStatistics","description":"Represents a object that contains package activity statistics such as downloads.","fields":[{"name":"downloadsTotalCount","description":"Number of times the package was downloaded since it was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PackageTag","description":"A version tag contains the mapping between a tag name and a version.","fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"Identifies the tag name of the version.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"version","description":"Version that the tag is associated with.","args":[],"type":{"kind":"OBJECT","name":"PackageVersion","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"PackageType","description":"The possible types of a package.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"NPM","description":"An npm package.","isDeprecated":false,"deprecationReason":null},{"name":"RUBYGEMS","description":"A rubygems package.","isDeprecated":false,"deprecationReason":null},{"name":"MAVEN","description":"A maven package.","isDeprecated":false,"deprecationReason":null},{"name":"DOCKER","description":"A docker image.","isDeprecated":false,"deprecationReason":null},{"name":"DEBIAN","description":"A debian package.","isDeprecated":false,"deprecationReason":null},{"name":"NUGET","description":"A nuget package.","isDeprecated":false,"deprecationReason":null},{"name":"PYPI","description":"A python package.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"PackageVersion","description":"Information about a specific package version.","fields":[{"name":"files","description":"List of files associated with this package version","args":[{"name":"orderBy","description":"Ordering of the returned package files.","type":{"kind":"INPUT_OBJECT","name":"PackageFileOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: ASC}"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PackageFileConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"package","description":"The package associated with this version.","args":[],"type":{"kind":"OBJECT","name":"Package","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"platform","description":"The platform this version was built for.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"preRelease","description":"Whether or not this version is a pre-release.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"readme","description":"The README of this package version.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"release","description":"The release associated with this package version.","args":[],"type":{"kind":"OBJECT","name":"Release","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"statistics","description":"Statistics about package activity.","args":[],"type":{"kind":"OBJECT","name":"PackageVersionStatistics","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"summary","description":"The package version summary.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"version","description":"The version string.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PackageVersionConnection","description":"The connection type for PackageVersion.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PackageVersionEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PackageVersion","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PackageVersionEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"PackageVersion","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PackageVersionOrder","description":"Ways in which lists of package versions can be ordered upon return.","fields":null,"inputFields":[{"name":"field","description":"The field in which to order package versions by.","type":{"kind":"ENUM","name":"PackageVersionOrderField","ofType":null},"defaultValue":null},{"name":"direction","description":"The direction in which to order package versions by the specified field.","type":{"kind":"ENUM","name":"OrderDirection","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"PackageVersionOrderField","description":"Properties by which package version connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order package versions by creation time","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"PackageVersionStatistics","description":"Represents a object that contains package version activity statistics such as downloads.","fields":[{"name":"downloadsTotalCount","description":"Number of times the package was downloaded since it was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PageInfo","description":"Information about pagination in a connection.","fields":[{"name":"endCursor","description":"When paginating forwards, the cursor to continue.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"hasNextPage","description":"When paginating forwards, are there more items?","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hasPreviousPage","description":"When paginating backwards, are there more items?","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"startCursor","description":"When paginating backwards, the cursor to continue.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"PermissionGranter","description":"Types that can grant permissions on a repository to a user","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Organization","ofType":null},{"kind":"OBJECT","name":"Repository","ofType":null},{"kind":"OBJECT","name":"Team","ofType":null}]},{"kind":"OBJECT","name":"PermissionSource","description":"A level of permission and source for a user's access to a repository.","fields":[{"name":"organization","description":"The organization the repository belongs to.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Organization","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"permission","description":"The level of access this source has granted to the user.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"DefaultRepositoryPermissionField","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"source","description":"The source of this permission.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"PermissionGranter","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PinIssueInput","description":"Autogenerated input type of PinIssue","fields":null,"inputFields":[{"name":"issueId","description":"The ID of the issue to be pinned","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PinIssuePayload","description":"Autogenerated return type of PinIssue","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"issue","description":"The issue that was pinned","args":[],"type":{"kind":"OBJECT","name":"Issue","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"PinnableItem","description":"Types that can be pinned to a profile page.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Gist","ofType":null},{"kind":"OBJECT","name":"Repository","ofType":null}]},{"kind":"OBJECT","name":"PinnableItemConnection","description":"The connection type for PinnableItem.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PinnableItemEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"UNION","name":"PinnableItem","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PinnableItemEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"UNION","name":"PinnableItem","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"PinnableItemType","description":"Represents items that can be pinned to a profile page or dashboard.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"REPOSITORY","description":"A repository.","isDeprecated":false,"deprecationReason":null},{"name":"GIST","description":"A gist.","isDeprecated":false,"deprecationReason":null},{"name":"ISSUE","description":"An issue.","isDeprecated":false,"deprecationReason":null},{"name":"PROJECT","description":"A project.","isDeprecated":false,"deprecationReason":null},{"name":"PULL_REQUEST","description":"A pull request.","isDeprecated":false,"deprecationReason":null},{"name":"USER","description":"A user.","isDeprecated":false,"deprecationReason":null},{"name":"ORGANIZATION","description":"An organization.","isDeprecated":false,"deprecationReason":null},{"name":"TEAM","description":"A team.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"PinnedEvent","description":"Represents a 'pinned' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issue","description":"Identifies the issue associated with the event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Issue","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PinnedIssue","description":"A Pinned Issue is a issue pinned to a repository's index page.","fields":[{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issue","description":"The issue that was pinned.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Issue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pinnedBy","description":"The actor that pinned this issue.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Actor","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository that this issue was pinned to.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PinnedIssueConnection","description":"The connection type for PinnedIssue.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PinnedIssueEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PinnedIssue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PinnedIssueEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"PinnedIssue","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"PreciseDateTime","description":"An ISO-8601 encoded UTC date string with millisecond precision.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PrivateRepositoryForkingDisableAuditEntry","description":"Audit log entry for a private_repository_forking.disable event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseResourcePath","description":"The HTTP path for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseSlug","description":"The slug of the enterprise.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseUrl","description":"The HTTP URL for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"EnterpriseAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PrivateRepositoryForkingEnableAuditEntry","description":"Audit log entry for a private_repository_forking.enable event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseResourcePath","description":"The HTTP path for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseSlug","description":"The slug of the enterprise.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseUrl","description":"The HTTP URL for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"EnterpriseAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProfileItemShowcase","description":"A curatable list of repositories relating to a repository owner, which defaults to showing the most popular repositories they own.","fields":[{"name":"hasPinnedItems","description":"Whether or not the owner has pinned any repositories or gists.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"items","description":"The repositories and gists in the showcase. If the profile owner has any pinned items, those will be returned. Otherwise, the profile owner's popular repositories will be returned.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PinnableItemConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"ProfileOwner","description":"Represents any entity on GitHub that has a profile page.","fields":[{"name":"anyPinnableItems","description":"Determine if this repository owner has any items that can be pinned to their profile.","args":[{"name":"type","description":"Filter to only a particular kind of pinnable item.","type":{"kind":"ENUM","name":"PinnableItemType","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"email","description":"The public profile email.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"itemShowcase","description":"Showcases a selection of repositories and gists that the profile owner has either curated or that have been selected automatically based on popularity.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProfileItemShowcase","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"location","description":"The public profile location.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"login","description":"The username used to login.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The public profile name.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pinnableItems","description":"A list of repositories and gists this profile owner can pin to their profile.","args":[{"name":"types","description":"Filter the types of pinnable items that are returned.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PinnableItemType","ofType":null}}},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PinnableItemConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pinnedItems","description":"A list of repositories and gists this profile owner has pinned to their profile","args":[{"name":"types","description":"Filter the types of pinned items that are returned.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PinnableItemType","ofType":null}}},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PinnableItemConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pinnedItemsRemaining","description":"Returns how many more items this profile owner can pin to their profile.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanChangePinnedItems","description":"Can the viewer pin repositories and gists to the profile?","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"websiteUrl","description":"The public profile website URL.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Organization","ofType":null},{"kind":"OBJECT","name":"User","ofType":null}]},{"kind":"OBJECT","name":"Project","description":"Projects manage issues, pull requests and notes within a project owner.","fields":[{"name":"body","description":"The project's description body.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"bodyHTML","description":"The projects description body rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"closed","description":"`true` if the object is closed (definition of closed may depend on type)","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"closedAt","description":"Identifies the date and time when the object was closed.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"columns","description":"List of columns in the project","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProjectColumnConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"creator","description":"The actor who originally created the project.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The project's name.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"number","description":"The project's number.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"owner","description":"The project's owner. Currently limited to repositories, organizations, and users.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"ProjectOwner","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pendingCards","description":"List of pending cards in this project","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"archivedStates","description":"A list of archived states to filter the cards by","type":{"kind":"LIST","name":null,"ofType":{"kind":"ENUM","name":"ProjectCardArchivedState","ofType":null}},"defaultValue":"[ARCHIVED, NOT_ARCHIVED]"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProjectCardConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"progress","description":"Project progress details.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProjectProgress","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this project","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":"Whether the project is open or closed.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ProjectState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this project","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanUpdate","description":"Check if the current viewer can update this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Closable","ofType":null},{"kind":"INTERFACE","name":"Updatable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProjectCard","description":"A card in a project.","fields":[{"name":"column","description":"The project column this card is associated under. A card may only belong to one\nproject column at a time. The column field will be null if the card is created\nin a pending state and has yet to be associated with a column. Once cards are\nassociated with a column, they will not become pending in the future.\n","args":[],"type":{"kind":"OBJECT","name":"ProjectColumn","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"content","description":"The card content item","args":[],"type":{"kind":"UNION","name":"ProjectCardItem","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"creator","description":"The actor who created this card","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isArchived","description":"Whether the card is archived","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"note","description":"The card note","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"project","description":"The project that contains this card.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Project","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this card","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":"The state of ProjectCard","args":[],"type":{"kind":"ENUM","name":"ProjectCardState","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this card","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"ProjectCardArchivedState","description":"The possible archived states of a project card.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ARCHIVED","description":"A project card that is archived","isDeprecated":false,"deprecationReason":null},{"name":"NOT_ARCHIVED","description":"A project card that is not archived","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"ProjectCardConnection","description":"The connection type for ProjectCard.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ProjectCardEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ProjectCard","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProjectCardEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"ProjectCard","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"ProjectCardItem","description":"Types that can be inside Project Cards.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null}]},{"kind":"ENUM","name":"ProjectCardState","description":"Various content states of a ProjectCard","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CONTENT_ONLY","description":"The card has content only.","isDeprecated":false,"deprecationReason":null},{"name":"NOTE_ONLY","description":"The card has a note only.","isDeprecated":false,"deprecationReason":null},{"name":"REDACTED","description":"The card is redacted.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"ProjectColumn","description":"A column inside a project.","fields":[{"name":"cards","description":"List of cards in the column","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"archivedStates","description":"A list of archived states to filter the cards by","type":{"kind":"LIST","name":null,"ofType":{"kind":"ENUM","name":"ProjectCardArchivedState","ofType":null}},"defaultValue":"[ARCHIVED, NOT_ARCHIVED]"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProjectCardConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The project column's name.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"project","description":"The project that contains this column.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Project","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"purpose","description":"The semantic purpose of the column","args":[],"type":{"kind":"ENUM","name":"ProjectColumnPurpose","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this project column","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this project column","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProjectColumnConnection","description":"The connection type for ProjectColumn.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ProjectColumnEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ProjectColumn","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProjectColumnEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"ProjectColumn","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"ProjectColumnPurpose","description":"The semantic purpose of the column - todo, in progress, or done.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"TODO","description":"The column contains cards still to be worked on","isDeprecated":false,"deprecationReason":null},{"name":"IN_PROGRESS","description":"The column contains cards which are currently being worked on","isDeprecated":false,"deprecationReason":null},{"name":"DONE","description":"The column contains cards which are complete","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"ProjectConnection","description":"A list of projects associated with the owner.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ProjectEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Project","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProjectEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"Project","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProjectOrder","description":"Ways in which lists of projects can be ordered upon return.","fields":null,"inputFields":[{"name":"field","description":"The field in which to order projects by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ProjectOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The direction in which to order projects by the specified field.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"ProjectOrderField","description":"Properties by which project connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order projects by creation time","isDeprecated":false,"deprecationReason":null},{"name":"UPDATED_AT","description":"Order projects by update time","isDeprecated":false,"deprecationReason":null},{"name":"NAME","description":"Order projects by name","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INTERFACE","name":"ProjectOwner","description":"Represents an owner of a Project.","fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"project","description":"Find project by number.","args":[{"name":"number","description":"The project number to find.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Project","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"projects","description":"A list of projects under the owner.","args":[{"name":"orderBy","description":"Ordering options for projects returned from the connection","type":{"kind":"INPUT_OBJECT","name":"ProjectOrder","ofType":null},"defaultValue":null},{"name":"search","description":"Query to search projects by, currently only searching by name.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"states","description":"A list of states to filter the projects by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ProjectState","ofType":null}}},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProjectConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"projectsResourcePath","description":"The HTTP path listing owners projects","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"projectsUrl","description":"The HTTP URL listing owners projects","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanCreateProjects","description":"Can the current viewer create new projects on this owner.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Organization","ofType":null},{"kind":"OBJECT","name":"Repository","ofType":null},{"kind":"OBJECT","name":"User","ofType":null}]},{"kind":"OBJECT","name":"ProjectProgress","description":"Project progress stats.","fields":[{"name":"doneCount","description":"The number of done cards.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"donePercentage","description":"The percentage of done cards.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabled","description":"Whether progress tracking is enabled and cards with purpose exist for this project","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"inProgressCount","description":"The number of in-progress cards.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"inProgressPercentage","description":"The percentage of in-progress cards.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"todoCount","description":"The number of to do cards.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"todoPercentage","description":"The percentage of to do cards.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"ProjectState","description":"State of the project; either 'open' or 'closed'","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"OPEN","description":"The project is open.","isDeprecated":false,"deprecationReason":null},{"name":"CLOSED","description":"The project is closed.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"ProjectTemplate","description":"GitHub-provided templates for Projects","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"BASIC_KANBAN","description":"Create a board with columns for To do, In progress and Done.","isDeprecated":false,"deprecationReason":null},{"name":"AUTOMATED_KANBAN_V2","description":"Create a board with v2 triggers to automatically move cards across To do, In progress and Done columns.","isDeprecated":false,"deprecationReason":null},{"name":"AUTOMATED_REVIEWS_KANBAN","description":"Create a board with triggers to automatically move cards across columns with review automation.","isDeprecated":false,"deprecationReason":null},{"name":"BUG_TRIAGE","description":"Create a board to triage and prioritize bugs with To do, priority, and Done columns.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"PublicKey","description":"A user's public key.","fields":[{"name":"accessedAt","description":"The last time this authorization was used to perform an action. Values will be null for keys not owned by the user.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the key was created. Keys created before March 5th, 2014 have inaccurate values. Values will be null for keys not owned by the user.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"fingerprint","description":"The fingerprint for this PublicKey.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isReadOnly","description":"Whether this PublicKey is read-only or not. Values will be null for keys not owned by the user.","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"key","description":"The public key string.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the key was updated. Keys created before March 5th, 2014 may have inaccurate values. Values will be null for keys not owned by the user.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PublicKeyConnection","description":"The connection type for PublicKey.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PublicKeyEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PublicKey","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PublicKeyEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"PublicKey","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequest","description":"A repository pull request.","fields":[{"name":"activeLockReason","description":"Reason that the conversation was locked.","args":[],"type":{"kind":"ENUM","name":"LockReason","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"additions","description":"The number of additions in this pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"assignees","description":"A list of Users assigned to this object.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"UserConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"author","description":"The actor who authored the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"authorAssociation","description":"Author's association with the subject of the comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentAuthorAssociation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"autoMergeRequest","description":"Returns the auto-merge request object if one exists for this pull request.","args":[],"type":{"kind":"OBJECT","name":"AutoMergeRequest","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"baseRef","description":"Identifies the base Ref associated with the pull request.","args":[],"type":{"kind":"OBJECT","name":"Ref","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"baseRefName","description":"Identifies the name of the base Ref associated with the pull request, even if the ref has been deleted.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"baseRefOid","description":"Identifies the oid of the base ref associated with the pull request, even if the ref has been deleted.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"GitObjectID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"baseRepository","description":"The repository associated with this pull request's base Ref.","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"body","description":"The body as Markdown.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyHTML","description":"The body rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyText","description":"The body rendered to text.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"changedFiles","description":"The number of changed files in this pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"checksResourcePath","description":"The HTTP path for the checks of this pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"checksUrl","description":"The HTTP URL for the checks of this pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"closed","description":"`true` if the pull request is closed","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"closedAt","description":"Identifies the date and time when the object was closed.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"comments","description":"A list of comments associated with the pull request.","args":[{"name":"orderBy","description":"Ordering options for issue comments returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"IssueCommentOrder","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"IssueCommentConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commits","description":"A list of commits present in this pull request's head branch not present in the base branch.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestCommitConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdViaEmail","description":"Check if this comment was created via an email reply.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deletions","description":"The number of deletions in this pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"editor","description":"The actor who edited this pull request's body.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"files","description":"Lists the files changed within this pull request.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"PullRequestChangedFileConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"headRef","description":"Identifies the head Ref associated with the pull request.","args":[],"type":{"kind":"OBJECT","name":"Ref","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"headRefName","description":"Identifies the name of the head Ref associated with the pull request, even if the ref has been deleted.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"headRefOid","description":"Identifies the oid of the head ref associated with the pull request, even if the ref has been deleted.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"GitObjectID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"headRepository","description":"The repository associated with this pull request's head Ref.","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"headRepositoryOwner","description":"The owner of the repository associated with this pull request's head Ref.","args":[],"type":{"kind":"INTERFACE","name":"RepositoryOwner","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"hovercard","description":"The hovercard information for this issue","args":[{"name":"includeNotificationContexts","description":"Whether or not to include notification contexts","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"true"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Hovercard","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"includesCreatedEdit","description":"Check if this comment was edited and includes an edit with the creation data","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isCrossRepository","description":"The head and base repositories are different.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isDraft","description":"Identifies if the pull request is a draft.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isReadByViewer","description":"Is this pull request read by the viewer","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"labels","description":"A list of labels associated with the object.","args":[{"name":"orderBy","description":"Ordering options for labels returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"LabelOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: ASC}"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"LabelConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"lastEditedAt","description":"The moment the editor made the last edit","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"latestOpinionatedReviews","description":"A list of latest reviews per user associated with the pull request.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"writersOnly","description":"Only return reviews from user who have write access to the repository","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"OBJECT","name":"PullRequestReviewConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"latestReviews","description":"A list of latest reviews per user associated with the pull request that are not also pending review.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"PullRequestReviewConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"locked","description":"`true` if the pull request is locked","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"maintainerCanModify","description":"Indicates whether maintainers can modify the pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"mergeCommit","description":"The commit that was created when this pull request was merged.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"mergeable","description":"Whether or not the pull request can be merged based on the existence of merge conflicts.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"MergeableState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"merged","description":"Whether or not the pull request was merged.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"mergedAt","description":"The date and time that the pull request was merged.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"mergedBy","description":"The actor who merged the pull request.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"milestone","description":"Identifies the milestone associated with the pull request.","args":[],"type":{"kind":"OBJECT","name":"Milestone","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"number","description":"Identifies the pull request number.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"participants","description":"A list of Users that are participating in the Pull Request conversation.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"UserConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"permalink","description":"The permalink to the pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"potentialMergeCommit","description":"The commit that GitHub automatically generated to test if this pull request could be merged. This field will not return a value if the pull request is merged, or if the test merge commit is still being generated. See the `mergeable` field for more details on the mergeability of the pull request.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"projectCards","description":"List of project cards associated with this pull request.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"archivedStates","description":"A list of archived states to filter the cards by","type":{"kind":"LIST","name":null,"ofType":{"kind":"ENUM","name":"ProjectCardArchivedState","ofType":null}},"defaultValue":"[ARCHIVED, NOT_ARCHIVED]"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProjectCardConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"publishedAt","description":"Identifies when the comment was published at.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reactionGroups","description":"A list of reactions grouped by content left on the subject.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionGroup","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"reactions","description":"A list of Reactions left on the Issue.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"content","description":"Allows filtering Reactions by emoji.","type":{"kind":"ENUM","name":"ReactionContent","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Allows specifying the order in which reactions are returned.","type":{"kind":"INPUT_OBJECT","name":"ReactionOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with this node.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"revertResourcePath","description":"The HTTP path for reverting this pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"revertUrl","description":"The HTTP URL for reverting this pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"reviewDecision","description":"The current status of this pull request with respect to code review.","args":[],"type":{"kind":"ENUM","name":"PullRequestReviewDecision","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reviewRequests","description":"A list of review requests associated with the pull request.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ReviewRequestConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reviewThreads","description":"The list of all review threads for this pull request.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestReviewThreadConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"reviews","description":"A list of reviews associated with the pull request.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"states","description":"A list of states to filter the reviews.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PullRequestReviewState","ofType":null}}},"defaultValue":null},{"name":"author","description":"Filter by author of the review.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"PullRequestReviewConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":"Identifies the state of the pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PullRequestState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"suggestedReviewers","description":"A list of reviewer suggestions based on commit history and past review comments.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"SuggestedReviewer","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"timeline","description":"A list of events, comments, commits, etc. associated with the pull request.","args":[{"name":"since","description":"Allows filtering timeline events by a `since` timestamp.","type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestTimelineConnection","ofType":null}},"isDeprecated":true,"deprecationReason":"`timeline` will be removed Use PullRequest.timelineItems instead. Removal on 2020-10-01 UTC."},{"name":"timelineItems","description":"A list of events, comments, commits, etc. associated with the pull request.","args":[{"name":"since","description":"Filter timeline items by a `since` timestamp.","type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"skip","description":"Skips the first _n_ elements in the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"itemTypes","description":"Filter timeline items by type.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PullRequestTimelineItemsItemType","ofType":null}}},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestTimelineItemsConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"title","description":"Identifies the pull request title.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"userContentEdits","description":"A list of edits to this content.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UserContentEditConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanApplySuggestion","description":"Whether or not the viewer can apply suggestion.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanDeleteHeadRef","description":"Check if the viewer can restore the deleted head ref.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanDisableAutoMerge","description":"Whether or not the viewer can disable auto-merge","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanEnableAutoMerge","description":"Whether or not the viewer can enable auto-merge","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanReact","description":"Can user react to this subject","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanSubscribe","description":"Check if the viewer is able to change their subscription status for the repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanUpdate","description":"Check if the current viewer can update this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCannotUpdateReasons","description":"Reasons why the current viewer can not update this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentCannotUpdateReason","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerDidAuthor","description":"Did the viewer author this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerLatestReview","description":"The latest review given from the viewer.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReview","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewerLatestReviewRequest","description":"The person who has requested the viewer for review on this pull request.","args":[],"type":{"kind":"OBJECT","name":"ReviewRequest","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewerMergeBodyText","description":"The merge body text for the viewer and method.","args":[{"name":"mergeType","description":"The merge method for the message.","type":{"kind":"ENUM","name":"PullRequestMergeMethod","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerMergeHeadlineText","description":"The merge headline text for the viewer and method.","args":[{"name":"mergeType","description":"The merge method for the message.","type":{"kind":"ENUM","name":"PullRequestMergeMethod","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerSubscription","description":"Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.","args":[],"type":{"kind":"ENUM","name":"SubscriptionState","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Assignable","ofType":null},{"kind":"INTERFACE","name":"Closable","ofType":null},{"kind":"INTERFACE","name":"Comment","ofType":null},{"kind":"INTERFACE","name":"Updatable","ofType":null},{"kind":"INTERFACE","name":"UpdatableComment","ofType":null},{"kind":"INTERFACE","name":"Labelable","ofType":null},{"kind":"INTERFACE","name":"Lockable","ofType":null},{"kind":"INTERFACE","name":"Reactable","ofType":null},{"kind":"INTERFACE","name":"RepositoryNode","ofType":null},{"kind":"INTERFACE","name":"Subscribable","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestChangedFile","description":"A file changed in a pull request.","fields":[{"name":"additions","description":"The number of additions to the file.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deletions","description":"The number of deletions to the file.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"path","description":"The path of the file.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerViewedState","description":"The state of the file for the viewer.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"FileViewedState","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestChangedFileConnection","description":"The connection type for PullRequestChangedFile.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestChangedFileEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestChangedFile","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestChangedFileEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"PullRequestChangedFile","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestCommit","description":"Represents a Git commit part of a pull request.","fields":[{"name":"commit","description":"The Git commit object","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Commit","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The pull request this commit belongs to","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this pull request commit","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this pull request commit","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestCommitCommentThread","description":"Represents a commit comment thread part of a pull request.","fields":[{"name":"comments","description":"The comments that exist in this thread.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CommitCommentConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commit","description":"The commit the comments were made on.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Commit","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"path","description":"The file the comments were made on.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"position","description":"The position in the diff for the commit that the comment was made on.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The pull request this commit comment thread belongs to","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with this node.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"RepositoryNode","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestCommitConnection","description":"The connection type for PullRequestCommit.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestCommitEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestCommit","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestCommitEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"PullRequestCommit","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestConnection","description":"The connection type for PullRequest.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestContributionsByRepository","description":"This aggregates pull requests opened by a user within one repository.","fields":[{"name":"contributions","description":"The pull request contributions.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for contributions returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"ContributionOrder","ofType":null},"defaultValue":"{direction: DESC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CreatedPullRequestContributionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository in which the pull requests were opened.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"PullRequestMergeMethod","description":"Represents available types of methods to use when merging a pull request.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"MERGE","description":"Add all commits from the head branch to the base branch with a merge commit.","isDeprecated":false,"deprecationReason":null},{"name":"SQUASH","description":"Combine all commits from the head branch into a single commit in the base branch.","isDeprecated":false,"deprecationReason":null},{"name":"REBASE","description":"Add all commits from the head branch onto the base branch individually.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PullRequestOrder","description":"Ways in which lists of issues can be ordered upon return.","fields":null,"inputFields":[{"name":"field","description":"The field in which to order pull requests by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PullRequestOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The direction in which to order pull requests by the specified field.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"PullRequestOrderField","description":"Properties by which pull_requests connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order pull_requests by creation time","isDeprecated":false,"deprecationReason":null},{"name":"UPDATED_AT","description":"Order pull_requests by update time","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestReview","description":"A review object for a given pull request.","fields":[{"name":"author","description":"The actor who authored the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"authorAssociation","description":"Author's association with the subject of the comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentAuthorAssociation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"authorCanPushToRepository","description":"Indicates whether the author of this review has push access to the repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"body","description":"Identifies the pull request review body.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyHTML","description":"The body rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyText","description":"The body of this review rendered as plain text.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"comments","description":"A list of review comments for the current pull request review.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestReviewCommentConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commit","description":"Identifies the commit associated with this pull request review.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdViaEmail","description":"Check if this comment was created via an email reply.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"editor","description":"The actor who edited the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"includesCreatedEdit","description":"Check if this comment was edited and includes an edit with the creation data","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lastEditedAt","description":"The moment the editor made the last edit","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"onBehalfOf","description":"A list of teams that this review was made on behalf of.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TeamConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"publishedAt","description":"Identifies when the comment was published at.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"Identifies the pull request associated with this pull request review.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"reactionGroups","description":"A list of reactions grouped by content left on the subject.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionGroup","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"reactions","description":"A list of Reactions left on the Issue.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"content","description":"Allows filtering Reactions by emoji.","type":{"kind":"ENUM","name":"ReactionContent","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Allows specifying the order in which reactions are returned.","type":{"kind":"INPUT_OBJECT","name":"ReactionOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with this node.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path permalink for this PullRequestReview.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":"Identifies the current state of the pull request review.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PullRequestReviewState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"submittedAt","description":"Identifies when the Pull Request Review was submitted","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL permalink for this PullRequestReview.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"userContentEdits","description":"A list of edits to this content.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UserContentEditConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanDelete","description":"Check if the current viewer can delete this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanReact","description":"Can user react to this subject","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanUpdate","description":"Check if the current viewer can update this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCannotUpdateReasons","description":"Reasons why the current viewer can not update this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentCannotUpdateReason","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerDidAuthor","description":"Did the viewer author this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Comment","ofType":null},{"kind":"INTERFACE","name":"Deletable","ofType":null},{"kind":"INTERFACE","name":"Updatable","ofType":null},{"kind":"INTERFACE","name":"UpdatableComment","ofType":null},{"kind":"INTERFACE","name":"Reactable","ofType":null},{"kind":"INTERFACE","name":"RepositoryNode","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestReviewComment","description":"A review comment associated with a given repository pull request.","fields":[{"name":"author","description":"The actor who authored the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"authorAssociation","description":"Author's association with the subject of the comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentAuthorAssociation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"body","description":"The comment body of this review comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyHTML","description":"The body rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyText","description":"The comment body of this review comment rendered as plain text.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commit","description":"Identifies the commit associated with the comment.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies when the comment was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdViaEmail","description":"Check if this comment was created via an email reply.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"diffHunk","description":"The diff hunk to which the comment applies.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"draftedAt","description":"Identifies when the comment was created in a draft state.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"editor","description":"The actor who edited the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"includesCreatedEdit","description":"Check if this comment was edited and includes an edit with the creation data","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isMinimized","description":"Returns whether or not a comment has been minimized.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lastEditedAt","description":"The moment the editor made the last edit","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"minimizedReason","description":"Returns why the comment was minimized.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"originalCommit","description":"Identifies the original commit associated with the comment.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"originalPosition","description":"The original line index in the diff to which the comment applies.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"outdated","description":"Identifies when the comment body is outdated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"path","description":"The path to which the comment applies.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"position","description":"The line index in the diff to which the comment applies.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"publishedAt","description":"Identifies when the comment was published at.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The pull request associated with this review comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequestReview","description":"The pull request review associated with this review comment.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReview","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reactionGroups","description":"A list of reactions grouped by content left on the subject.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionGroup","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"reactions","description":"A list of Reactions left on the Issue.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"content","description":"Allows filtering Reactions by emoji.","type":{"kind":"ENUM","name":"ReactionContent","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Allows specifying the order in which reactions are returned.","type":{"kind":"INPUT_OBJECT","name":"ReactionOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"replyTo","description":"The comment this is a reply to.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReviewComment","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with this node.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path permalink for this review comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":"Identifies the state of the comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PullRequestReviewCommentState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies when the comment was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL permalink for this review comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"userContentEdits","description":"A list of edits to this content.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UserContentEditConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanDelete","description":"Check if the current viewer can delete this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanMinimize","description":"Check if the current viewer can minimize this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanReact","description":"Can user react to this subject","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanUpdate","description":"Check if the current viewer can update this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCannotUpdateReasons","description":"Reasons why the current viewer can not update this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentCannotUpdateReason","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerDidAuthor","description":"Did the viewer author this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Comment","ofType":null},{"kind":"INTERFACE","name":"Deletable","ofType":null},{"kind":"INTERFACE","name":"Minimizable","ofType":null},{"kind":"INTERFACE","name":"Updatable","ofType":null},{"kind":"INTERFACE","name":"UpdatableComment","ofType":null},{"kind":"INTERFACE","name":"Reactable","ofType":null},{"kind":"INTERFACE","name":"RepositoryNode","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestReviewCommentConnection","description":"The connection type for PullRequestReviewComment.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestReviewCommentEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestReviewComment","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestReviewCommentEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReviewComment","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"PullRequestReviewCommentState","description":"The possible states of a pull request review comment.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"PENDING","description":"A comment that is part of a pending review","isDeprecated":false,"deprecationReason":null},{"name":"SUBMITTED","description":"A comment that is part of a submitted review","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestReviewConnection","description":"The connection type for PullRequestReview.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestReviewEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestReview","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestReviewContributionsByRepository","description":"This aggregates pull request reviews made by a user within one repository.","fields":[{"name":"contributions","description":"The pull request review contributions.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for contributions returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"ContributionOrder","ofType":null},"defaultValue":"{direction: DESC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CreatedPullRequestReviewContributionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository in which the pull request reviews were made.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"PullRequestReviewDecision","description":"The review status of a pull request.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CHANGES_REQUESTED","description":"Changes have been requested on the pull request.","isDeprecated":false,"deprecationReason":null},{"name":"APPROVED","description":"The pull request has received an approving review.","isDeprecated":false,"deprecationReason":null},{"name":"REVIEW_REQUIRED","description":"A review is required before the pull request can be merged.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestReviewEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReview","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"PullRequestReviewEvent","description":"The possible events to perform on a pull request review.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"COMMENT","description":"Submit general feedback without explicit approval.","isDeprecated":false,"deprecationReason":null},{"name":"APPROVE","description":"Submit feedback and approve merging these changes.","isDeprecated":false,"deprecationReason":null},{"name":"REQUEST_CHANGES","description":"Submit feedback that must be addressed before merging.","isDeprecated":false,"deprecationReason":null},{"name":"DISMISS","description":"Dismiss review so it now longer effects merging.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"PullRequestReviewState","description":"The possible states of a pull request review.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"PENDING","description":"A review that has not yet been submitted.","isDeprecated":false,"deprecationReason":null},{"name":"COMMENTED","description":"An informational review.","isDeprecated":false,"deprecationReason":null},{"name":"APPROVED","description":"A review allowing the pull request to merge.","isDeprecated":false,"deprecationReason":null},{"name":"CHANGES_REQUESTED","description":"A review blocking the pull request from merging.","isDeprecated":false,"deprecationReason":null},{"name":"DISMISSED","description":"A review that has been dismissed.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestReviewThread","description":"A threaded list of comments for a given pull request.","fields":[{"name":"comments","description":"A list of pull request comments associated with the thread.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"skip","description":"Skips the first _n_ elements in the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestReviewCommentConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"diffSide","description":"The side of the diff on which this thread was placed.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"DiffSide","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isCollapsed","description":"Whether or not the thread has been collapsed (outdated or resolved)","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isOutdated","description":"Indicates whether this thread was outdated by newer changes.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isResolved","description":"Whether this thread has been resolved","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"line","description":"The line in the file to which this thread refers","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"originalLine","description":"The original line in the file to which this thread refers.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"originalStartLine","description":"The original start line in the file to which this thread refers (multi-line only).","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"path","description":"Identifies the file path of this thread.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"Identifies the pull request associated with this thread.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"Identifies the repository associated with this thread.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resolvedBy","description":"The user who resolved this thread","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"startDiffSide","description":"The side of the diff that the first line of the thread starts on (multi-line only)","args":[],"type":{"kind":"ENUM","name":"DiffSide","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"startLine","description":"The start line in the file to which this thread refers (multi-line only)","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanReply","description":"Indicates whether the current viewer can reply to this thread.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanResolve","description":"Whether or not the viewer can resolve this thread","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanUnresolve","description":"Whether or not the viewer can unresolve this thread","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestReviewThreadConnection","description":"Review comment threads for a pull request review.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestReviewThreadEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestReviewThread","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestReviewThreadEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReviewThread","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestRevisionMarker","description":"Represents the latest point in the pull request timeline for which the viewer has seen the pull request's commits.","fields":[{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lastSeenCommit","description":"The last commit the viewer has seen.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Commit","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The pull request to which the marker belongs.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"PullRequestState","description":"The possible states of a pull request.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"OPEN","description":"A pull request that is still open.","isDeprecated":false,"deprecationReason":null},{"name":"CLOSED","description":"A pull request that has been closed without being merged.","isDeprecated":false,"deprecationReason":null},{"name":"MERGED","description":"A pull request that has been closed by being merged.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestTimelineConnection","description":"The connection type for PullRequestTimelineItem.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestTimelineItemEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"UNION","name":"PullRequestTimelineItem","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"PullRequestTimelineItem","description":"An item in a pull request timeline","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"AssignedEvent","ofType":null},{"kind":"OBJECT","name":"BaseRefDeletedEvent","ofType":null},{"kind":"OBJECT","name":"BaseRefForcePushedEvent","ofType":null},{"kind":"OBJECT","name":"ClosedEvent","ofType":null},{"kind":"OBJECT","name":"Commit","ofType":null},{"kind":"OBJECT","name":"CommitCommentThread","ofType":null},{"kind":"OBJECT","name":"CrossReferencedEvent","ofType":null},{"kind":"OBJECT","name":"DemilestonedEvent","ofType":null},{"kind":"OBJECT","name":"DeployedEvent","ofType":null},{"kind":"OBJECT","name":"DeploymentEnvironmentChangedEvent","ofType":null},{"kind":"OBJECT","name":"HeadRefDeletedEvent","ofType":null},{"kind":"OBJECT","name":"HeadRefForcePushedEvent","ofType":null},{"kind":"OBJECT","name":"HeadRefRestoredEvent","ofType":null},{"kind":"OBJECT","name":"IssueComment","ofType":null},{"kind":"OBJECT","name":"LabeledEvent","ofType":null},{"kind":"OBJECT","name":"LockedEvent","ofType":null},{"kind":"OBJECT","name":"MergedEvent","ofType":null},{"kind":"OBJECT","name":"MilestonedEvent","ofType":null},{"kind":"OBJECT","name":"PullRequestReview","ofType":null},{"kind":"OBJECT","name":"PullRequestReviewComment","ofType":null},{"kind":"OBJECT","name":"PullRequestReviewThread","ofType":null},{"kind":"OBJECT","name":"ReferencedEvent","ofType":null},{"kind":"OBJECT","name":"RenamedTitleEvent","ofType":null},{"kind":"OBJECT","name":"ReopenedEvent","ofType":null},{"kind":"OBJECT","name":"ReviewDismissedEvent","ofType":null},{"kind":"OBJECT","name":"ReviewRequestRemovedEvent","ofType":null},{"kind":"OBJECT","name":"ReviewRequestedEvent","ofType":null},{"kind":"OBJECT","name":"SubscribedEvent","ofType":null},{"kind":"OBJECT","name":"UnassignedEvent","ofType":null},{"kind":"OBJECT","name":"UnlabeledEvent","ofType":null},{"kind":"OBJECT","name":"UnlockedEvent","ofType":null},{"kind":"OBJECT","name":"UnsubscribedEvent","ofType":null},{"kind":"OBJECT","name":"UserBlockedEvent","ofType":null}]},{"kind":"OBJECT","name":"PullRequestTimelineItemEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"UNION","name":"PullRequestTimelineItem","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"PullRequestTimelineItems","description":"An item in a pull request timeline","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"AddedToProjectEvent","ofType":null},{"kind":"OBJECT","name":"AssignedEvent","ofType":null},{"kind":"OBJECT","name":"AutoMergeDisabledEvent","ofType":null},{"kind":"OBJECT","name":"AutoMergeEnabledEvent","ofType":null},{"kind":"OBJECT","name":"AutoRebaseEnabledEvent","ofType":null},{"kind":"OBJECT","name":"AutoSquashEnabledEvent","ofType":null},{"kind":"OBJECT","name":"AutomaticBaseChangeFailedEvent","ofType":null},{"kind":"OBJECT","name":"AutomaticBaseChangeSucceededEvent","ofType":null},{"kind":"OBJECT","name":"BaseRefChangedEvent","ofType":null},{"kind":"OBJECT","name":"BaseRefDeletedEvent","ofType":null},{"kind":"OBJECT","name":"BaseRefForcePushedEvent","ofType":null},{"kind":"OBJECT","name":"ClosedEvent","ofType":null},{"kind":"OBJECT","name":"CommentDeletedEvent","ofType":null},{"kind":"OBJECT","name":"ConnectedEvent","ofType":null},{"kind":"OBJECT","name":"ConvertToDraftEvent","ofType":null},{"kind":"OBJECT","name":"ConvertedNoteToIssueEvent","ofType":null},{"kind":"OBJECT","name":"CrossReferencedEvent","ofType":null},{"kind":"OBJECT","name":"DemilestonedEvent","ofType":null},{"kind":"OBJECT","name":"DeployedEvent","ofType":null},{"kind":"OBJECT","name":"DeploymentEnvironmentChangedEvent","ofType":null},{"kind":"OBJECT","name":"DisconnectedEvent","ofType":null},{"kind":"OBJECT","name":"HeadRefDeletedEvent","ofType":null},{"kind":"OBJECT","name":"HeadRefForcePushedEvent","ofType":null},{"kind":"OBJECT","name":"HeadRefRestoredEvent","ofType":null},{"kind":"OBJECT","name":"IssueComment","ofType":null},{"kind":"OBJECT","name":"LabeledEvent","ofType":null},{"kind":"OBJECT","name":"LockedEvent","ofType":null},{"kind":"OBJECT","name":"MarkedAsDuplicateEvent","ofType":null},{"kind":"OBJECT","name":"MentionedEvent","ofType":null},{"kind":"OBJECT","name":"MergedEvent","ofType":null},{"kind":"OBJECT","name":"MilestonedEvent","ofType":null},{"kind":"OBJECT","name":"MovedColumnsInProjectEvent","ofType":null},{"kind":"OBJECT","name":"PinnedEvent","ofType":null},{"kind":"OBJECT","name":"PullRequestCommit","ofType":null},{"kind":"OBJECT","name":"PullRequestCommitCommentThread","ofType":null},{"kind":"OBJECT","name":"PullRequestReview","ofType":null},{"kind":"OBJECT","name":"PullRequestReviewThread","ofType":null},{"kind":"OBJECT","name":"PullRequestRevisionMarker","ofType":null},{"kind":"OBJECT","name":"ReadyForReviewEvent","ofType":null},{"kind":"OBJECT","name":"ReferencedEvent","ofType":null},{"kind":"OBJECT","name":"RemovedFromProjectEvent","ofType":null},{"kind":"OBJECT","name":"RenamedTitleEvent","ofType":null},{"kind":"OBJECT","name":"ReopenedEvent","ofType":null},{"kind":"OBJECT","name":"ReviewDismissedEvent","ofType":null},{"kind":"OBJECT","name":"ReviewRequestRemovedEvent","ofType":null},{"kind":"OBJECT","name":"ReviewRequestedEvent","ofType":null},{"kind":"OBJECT","name":"SubscribedEvent","ofType":null},{"kind":"OBJECT","name":"TransferredEvent","ofType":null},{"kind":"OBJECT","name":"UnassignedEvent","ofType":null},{"kind":"OBJECT","name":"UnlabeledEvent","ofType":null},{"kind":"OBJECT","name":"UnlockedEvent","ofType":null},{"kind":"OBJECT","name":"UnmarkedAsDuplicateEvent","ofType":null},{"kind":"OBJECT","name":"UnpinnedEvent","ofType":null},{"kind":"OBJECT","name":"UnsubscribedEvent","ofType":null},{"kind":"OBJECT","name":"UserBlockedEvent","ofType":null}]},{"kind":"OBJECT","name":"PullRequestTimelineItemsConnection","description":"The connection type for PullRequestTimelineItems.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestTimelineItemsEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"filteredCount","description":"Identifies the count of items after applying `before` and `after` filters.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"UNION","name":"PullRequestTimelineItems","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageCount","description":"Identifies the count of items after applying `before`/`after` filters and `first`/`last`/`skip` slicing.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the timeline was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PullRequestTimelineItemsEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"UNION","name":"PullRequestTimelineItems","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"PullRequestTimelineItemsItemType","description":"The possible item types found in a timeline.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"PULL_REQUEST_COMMIT","description":"Represents a Git commit part of a pull request.","isDeprecated":false,"deprecationReason":null},{"name":"PULL_REQUEST_COMMIT_COMMENT_THREAD","description":"Represents a commit comment thread part of a pull request.","isDeprecated":false,"deprecationReason":null},{"name":"PULL_REQUEST_REVIEW","description":"A review object for a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"PULL_REQUEST_REVIEW_THREAD","description":"A threaded list of comments for a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"PULL_REQUEST_REVISION_MARKER","description":"Represents the latest point in the pull request timeline for which the viewer has seen the pull request's commits.","isDeprecated":false,"deprecationReason":null},{"name":"AUTOMATIC_BASE_CHANGE_FAILED_EVENT","description":"Represents a 'automatic_base_change_failed' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"AUTOMATIC_BASE_CHANGE_SUCCEEDED_EVENT","description":"Represents a 'automatic_base_change_succeeded' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"AUTO_MERGE_DISABLED_EVENT","description":"Represents a 'auto_merge_disabled' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"AUTO_MERGE_ENABLED_EVENT","description":"Represents a 'auto_merge_enabled' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"AUTO_REBASE_ENABLED_EVENT","description":"Represents a 'auto_rebase_enabled' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"AUTO_SQUASH_ENABLED_EVENT","description":"Represents a 'auto_squash_enabled' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"BASE_REF_CHANGED_EVENT","description":"Represents a 'base_ref_changed' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"BASE_REF_FORCE_PUSHED_EVENT","description":"Represents a 'base_ref_force_pushed' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"BASE_REF_DELETED_EVENT","description":"Represents a 'base_ref_deleted' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"DEPLOYED_EVENT","description":"Represents a 'deployed' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"DEPLOYMENT_ENVIRONMENT_CHANGED_EVENT","description":"Represents a 'deployment_environment_changed' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"HEAD_REF_DELETED_EVENT","description":"Represents a 'head_ref_deleted' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"HEAD_REF_FORCE_PUSHED_EVENT","description":"Represents a 'head_ref_force_pushed' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"HEAD_REF_RESTORED_EVENT","description":"Represents a 'head_ref_restored' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"MERGED_EVENT","description":"Represents a 'merged' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"REVIEW_DISMISSED_EVENT","description":"Represents a 'review_dismissed' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"REVIEW_REQUESTED_EVENT","description":"Represents an 'review_requested' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"REVIEW_REQUEST_REMOVED_EVENT","description":"Represents an 'review_request_removed' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"READY_FOR_REVIEW_EVENT","description":"Represents a 'ready_for_review' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"CONVERT_TO_DRAFT_EVENT","description":"Represents a 'convert_to_draft' event on a given pull request.","isDeprecated":false,"deprecationReason":null},{"name":"ISSUE_COMMENT","description":"Represents a comment on an Issue.","isDeprecated":false,"deprecationReason":null},{"name":"CROSS_REFERENCED_EVENT","description":"Represents a mention made by one issue or pull request to another.","isDeprecated":false,"deprecationReason":null},{"name":"ADDED_TO_PROJECT_EVENT","description":"Represents a 'added_to_project' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"ASSIGNED_EVENT","description":"Represents an 'assigned' event on any assignable object.","isDeprecated":false,"deprecationReason":null},{"name":"CLOSED_EVENT","description":"Represents a 'closed' event on any `Closable`.","isDeprecated":false,"deprecationReason":null},{"name":"COMMENT_DELETED_EVENT","description":"Represents a 'comment_deleted' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"CONNECTED_EVENT","description":"Represents a 'connected' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"CONVERTED_NOTE_TO_ISSUE_EVENT","description":"Represents a 'converted_note_to_issue' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"DEMILESTONED_EVENT","description":"Represents a 'demilestoned' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"DISCONNECTED_EVENT","description":"Represents a 'disconnected' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"LABELED_EVENT","description":"Represents a 'labeled' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"LOCKED_EVENT","description":"Represents a 'locked' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"MARKED_AS_DUPLICATE_EVENT","description":"Represents a 'marked_as_duplicate' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"MENTIONED_EVENT","description":"Represents a 'mentioned' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"MILESTONED_EVENT","description":"Represents a 'milestoned' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"MOVED_COLUMNS_IN_PROJECT_EVENT","description":"Represents a 'moved_columns_in_project' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"PINNED_EVENT","description":"Represents a 'pinned' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"REFERENCED_EVENT","description":"Represents a 'referenced' event on a given `ReferencedSubject`.","isDeprecated":false,"deprecationReason":null},{"name":"REMOVED_FROM_PROJECT_EVENT","description":"Represents a 'removed_from_project' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"RENAMED_TITLE_EVENT","description":"Represents a 'renamed' event on a given issue or pull request","isDeprecated":false,"deprecationReason":null},{"name":"REOPENED_EVENT","description":"Represents a 'reopened' event on any `Closable`.","isDeprecated":false,"deprecationReason":null},{"name":"SUBSCRIBED_EVENT","description":"Represents a 'subscribed' event on a given `Subscribable`.","isDeprecated":false,"deprecationReason":null},{"name":"TRANSFERRED_EVENT","description":"Represents a 'transferred' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"UNASSIGNED_EVENT","description":"Represents an 'unassigned' event on any assignable object.","isDeprecated":false,"deprecationReason":null},{"name":"UNLABELED_EVENT","description":"Represents an 'unlabeled' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"UNLOCKED_EVENT","description":"Represents an 'unlocked' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"USER_BLOCKED_EVENT","description":"Represents a 'user_blocked' event on a given user.","isDeprecated":false,"deprecationReason":null},{"name":"UNMARKED_AS_DUPLICATE_EVENT","description":"Represents an 'unmarked_as_duplicate' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"UNPINNED_EVENT","description":"Represents an 'unpinned' event on a given issue or pull request.","isDeprecated":false,"deprecationReason":null},{"name":"UNSUBSCRIBED_EVENT","description":"Represents an 'unsubscribed' event on a given `Subscribable`.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"PullRequestUpdateState","description":"The possible target states when updating a pull request.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"OPEN","description":"A pull request that is still open.","isDeprecated":false,"deprecationReason":null},{"name":"CLOSED","description":"A pull request that has been closed without being merged.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Push","description":"A Git push.","fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nextSha","description":"The SHA after the push","args":[],"type":{"kind":"SCALAR","name":"GitObjectID","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"permalink","description":"The permalink for this push.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"previousSha","description":"The SHA before the push","args":[],"type":{"kind":"SCALAR","name":"GitObjectID","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pusher","description":"The user who pushed","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository that was pushed to","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PushAllowance","description":"A team, user or app who has the ability to push to a protected branch.","fields":[{"name":"actor","description":"The actor that can push.","args":[],"type":{"kind":"UNION","name":"PushAllowanceActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"branchProtectionRule","description":"Identifies the branch protection rule associated with the allowed user or team.","args":[],"type":{"kind":"OBJECT","name":"BranchProtectionRule","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"PushAllowanceActor","description":"Types that can be an actor.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"App","ofType":null},{"kind":"OBJECT","name":"Team","ofType":null},{"kind":"OBJECT","name":"User","ofType":null}]},{"kind":"OBJECT","name":"PushAllowanceConnection","description":"The connection type for PushAllowance.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PushAllowanceEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"PushAllowance","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PushAllowanceEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"PushAllowance","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Query","description":"The query root of GitHub's GraphQL interface.","fields":[{"name":"codeOfConduct","description":"Look up a code of conduct by its key","args":[{"name":"key","description":"The code of conduct's key","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CodeOfConduct","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"codesOfConduct","description":"Look up a code of conduct by its key","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"CodeOfConduct","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"Look up an enterprise by URL slug.","args":[{"name":"slug","description":"The enterprise URL slug.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"invitationToken","description":"The enterprise invitation token.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseAdministratorInvitation","description":"Look up a pending enterprise administrator invitation by invitee, enterprise and role.","args":[{"name":"userLogin","description":"The login of the user invited to join the business.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"enterpriseSlug","description":"The slug of the enterprise the user was invited to join.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"role","description":"The role for the business member invitation.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseAdministratorRole","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"EnterpriseAdministratorInvitation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseAdministratorInvitationByToken","description":"Look up a pending enterprise administrator invitation by invitation token.","args":[{"name":"invitationToken","description":"The invitation token sent with the invitation email.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"EnterpriseAdministratorInvitation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"license","description":"Look up an open source license by its key","args":[{"name":"key","description":"The license's downcased SPDX ID","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"License","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"licenses","description":"Return a list of known open source licenses","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"License","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"marketplaceCategories","description":"Get alphabetically sorted list of Marketplace categories","args":[{"name":"includeCategories","description":"Return only the specified categories.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"excludeEmpty","description":"Exclude categories with no listings.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"excludeSubcategories","description":"Returns top level categories only, excluding any subcategories.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"MarketplaceCategory","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"marketplaceCategory","description":"Look up a Marketplace category by its slug.","args":[{"name":"slug","description":"The URL slug of the category.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"useTopicAliases","description":"Also check topic aliases for the category slug","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"MarketplaceCategory","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"marketplaceListing","description":"Look up a single Marketplace listing","args":[{"name":"slug","description":"Select the listing that matches this slug. It's the short name of the listing used in its URL.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"MarketplaceListing","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"marketplaceListings","description":"Look up Marketplace listings","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"categorySlug","description":"Select only listings with the given category.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"useTopicAliases","description":"Also check topic aliases for the category slug","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"viewerCanAdmin","description":"Select listings to which user has admin access. If omitted, listings visible to the\nviewer are returned.\n","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"adminId","description":"Select listings that can be administered by the specified user.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"organizationId","description":"Select listings for products owned by the specified organization.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"allStates","description":"Select listings visible to the viewer even if they are not approved. If omitted or\nfalse, only approved listings will be returned.\n","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"slugs","description":"Select the listings with these slugs, if they are visible to the viewer.","type":{"kind":"LIST","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"primaryCategoryOnly","description":"Select only listings where the primary category matches the given category slug.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"withFreeTrialsOnly","description":"Select only listings that offer a free trial.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"MarketplaceListingConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"meta","description":"Return information about the GitHub instance","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"GitHubMetadata","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"Fetches an object given its ID.","args":[{"name":"id","description":"ID of the object.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"INTERFACE","name":"Node","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"Lookup nodes by a list of IDs.","args":[{"name":"ids","description":"The list of node IDs.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"INTERFACE","name":"Node","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"Lookup a organization by login.","args":[{"name":"login","description":"The organization's login.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"rateLimit","description":"The client's rate limit information.","args":[{"name":"dryRun","description":"If true, calculate the cost for the query without evaluating it","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"OBJECT","name":"RateLimit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"relay","description":"Hack to workaround https://github.com/facebook/relay/issues/112 re-exposing the root query object","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Query","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"Lookup a given repository by the owner and repository name.","args":[{"name":"owner","description":"The login field of a user or organization","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"name","description":"The name of the repository","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryOwner","description":"Lookup a repository owner (ie. either a User or an Organization) by login.","args":[{"name":"login","description":"The username to lookup the owner by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"INTERFACE","name":"RepositoryOwner","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"resource","description":"Lookup resource by a URL.","args":[{"name":"url","description":"The URL.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"defaultValue":null}],"type":{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"search","description":"Perform a search across resources.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"query","description":"The search string to look for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"type","description":"The types of search items to search within.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SearchType","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SearchResultItemConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"securityAdvisories","description":"GitHub Security Advisories","args":[{"name":"orderBy","description":"Ordering options for the returned topics.","type":{"kind":"INPUT_OBJECT","name":"SecurityAdvisoryOrder","ofType":null},"defaultValue":"{field: UPDATED_AT, direction: DESC}"},{"name":"identifier","description":"Filter advisories by identifier, e.g. GHSA or CVE.","type":{"kind":"INPUT_OBJECT","name":"SecurityAdvisoryIdentifierFilter","ofType":null},"defaultValue":null},{"name":"publishedSince","description":"Filter advisories to those published since a time in the past.","type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"updatedSince","description":"Filter advisories to those updated since a time in the past.","type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SecurityAdvisoryConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"securityAdvisory","description":"Fetch a Security Advisory by its GHSA ID","args":[{"name":"ghsaId","description":"GitHub Security Advisory ID.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"SecurityAdvisory","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"securityVulnerabilities","description":"Software Vulnerabilities documented by GitHub Security Advisories","args":[{"name":"orderBy","description":"Ordering options for the returned topics.","type":{"kind":"INPUT_OBJECT","name":"SecurityVulnerabilityOrder","ofType":null},"defaultValue":"{field: UPDATED_AT, direction: DESC}"},{"name":"ecosystem","description":"An ecosystem to filter vulnerabilities by.","type":{"kind":"ENUM","name":"SecurityAdvisoryEcosystem","ofType":null},"defaultValue":null},{"name":"package","description":"A package name to filter vulnerabilities by.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"severities","description":"A list of severities to filter vulnerabilities by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SecurityAdvisorySeverity","ofType":null}}},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SecurityVulnerabilityConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"sponsorables","description":"Users and organizations who can be sponsored via GitHub Sponsors.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for users and organizations returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"SponsorableOrder","ofType":null},"defaultValue":"{field: LOGIN, direction: ASC}"},{"name":"onlyDependencies","description":"Whether only sponsorables who own the viewer's dependencies will be returned. Must be authenticated to use. Can check an organization instead for their dependencies owned by sponsorables by passing orgLoginForDependencies.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"orgLoginForDependencies","description":"Optional organization username for whose dependencies should be checked. Used when onlyDependencies = true. Omit to check your own dependencies. If you are not an administrator of the organization, only dependencies from its public repositories will be considered.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"dependencyEcosystem","description":"Optional filter for which dependencies should be checked for sponsorable owners. Only sponsorable owners of dependencies in this ecosystem will be included. Used when onlyDependencies = true.","type":{"kind":"ENUM","name":"SecurityAdvisoryEcosystem","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SponsorableItemConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"sponsorsListing","description":"Look up a single Sponsors Listing","args":[{"name":"slug","description":"Select the Sponsors listing which matches this slug","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"SponsorsListing","ofType":null},"isDeprecated":true,"deprecationReason":"`Query.sponsorsListing` will be removed. Use `Sponsorable.sponsorsListing` instead. Removal on 2020-04-01 UTC."},{"name":"topic","description":"Look up a topic by name.","args":[{"name":"name","description":"The topic's name.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Topic","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"Lookup a user by login.","args":[{"name":"login","description":"The user's login.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewer","description":"The currently authenticated user.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RateLimit","description":"Represents the client's rate limit.","fields":[{"name":"cost","description":"The point cost for the current query counting against the rate limit.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"limit","description":"The maximum number of points the client is permitted to consume in a 60 minute window.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodeCount","description":"The maximum number of nodes this query may return","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"remaining","description":"The number of points remaining in the current rate limit window.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resetAt","description":"The time at which the current rate limit window resets in UTC epoch seconds.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"used","description":"The number of points used in the current rate limit window.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"Reactable","description":"Represents a subject that can be reacted on.","fields":[{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"reactionGroups","description":"A list of reactions grouped by content left on the subject.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionGroup","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"reactions","description":"A list of Reactions left on the Issue.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"content","description":"Allows filtering Reactions by emoji.","type":{"kind":"ENUM","name":"ReactionContent","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Allows specifying the order in which reactions are returned.","type":{"kind":"INPUT_OBJECT","name":"ReactionOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanReact","description":"Can user react to this subject","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CommitComment","ofType":null},{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"IssueComment","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null},{"kind":"OBJECT","name":"PullRequestReview","ofType":null},{"kind":"OBJECT","name":"PullRequestReviewComment","ofType":null},{"kind":"OBJECT","name":"TeamDiscussion","ofType":null},{"kind":"OBJECT","name":"TeamDiscussionComment","ofType":null}]},{"kind":"OBJECT","name":"ReactingUserConnection","description":"The connection type for User.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ReactingUserEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReactingUserEdge","description":"Represents a user that's made a reaction.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"reactedAt","description":"The moment when the user made the reaction.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Reaction","description":"An emoji reaction to a particular piece of content.","fields":[{"name":"content","description":"Identifies the emoji reaction.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ReactionContent","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"reactable","description":"The reactable piece of content","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Reactable","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"Identifies the user who created this reaction.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReactionConnection","description":"A list of reactions that have been left on the subject.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ReactionEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Reaction","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerHasReacted","description":"Whether or not the authenticated user has left a reaction on the subject.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"ReactionContent","description":"Emojis that can be attached to Issues, Pull Requests and Comments.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"THUMBS_UP","description":"Represents the `:+1:` emoji.","isDeprecated":false,"deprecationReason":null},{"name":"THUMBS_DOWN","description":"Represents the `:-1:` emoji.","isDeprecated":false,"deprecationReason":null},{"name":"LAUGH","description":"Represents the `:laugh:` emoji.","isDeprecated":false,"deprecationReason":null},{"name":"HOORAY","description":"Represents the `:hooray:` emoji.","isDeprecated":false,"deprecationReason":null},{"name":"CONFUSED","description":"Represents the `:confused:` emoji.","isDeprecated":false,"deprecationReason":null},{"name":"HEART","description":"Represents the `:heart:` emoji.","isDeprecated":false,"deprecationReason":null},{"name":"ROCKET","description":"Represents the `:rocket:` emoji.","isDeprecated":false,"deprecationReason":null},{"name":"EYES","description":"Represents the `:eyes:` emoji.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"ReactionEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"Reaction","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReactionGroup","description":"A group of emoji reactions to a particular piece of content.","fields":[{"name":"content","description":"Identifies the emoji reaction.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ReactionContent","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies when the reaction was created.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"subject","description":"The subject that was reacted to.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Reactable","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"users","description":"Users who have reacted to the reaction subject with the emotion represented by this reaction group","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactingUserConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerHasReacted","description":"Whether or not the authenticated user has left a reaction on the subject.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ReactionOrder","description":"Ways in which lists of reactions can be ordered upon return.","fields":null,"inputFields":[{"name":"field","description":"The field in which to order reactions by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ReactionOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The direction in which to order reactions by the specified field.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"ReactionOrderField","description":"A list of fields that reactions can be ordered by.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Allows ordering a list of reactions by when they were created.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"ReadyForReviewEvent","description":"Represents a 'ready_for_review' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this ready for review event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this ready for review event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Ref","description":"Represents a Git reference.","fields":[{"name":"associatedPullRequests","description":"A list of pull requests with this ref as the head ref.","args":[{"name":"states","description":"A list of states to filter the pull requests by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PullRequestState","ofType":null}}},"defaultValue":null},{"name":"labels","description":"A list of label names to filter the pull requests by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"headRefName","description":"The head ref name to filter the pull requests by.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"baseRefName","description":"The base ref name to filter the pull requests by.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for pull requests returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"IssueOrder","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"branchProtectionRule","description":"Branch protection rules for this ref","args":[],"type":{"kind":"OBJECT","name":"BranchProtectionRule","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The ref name.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"prefix","description":"The ref's prefix, such as `refs/heads/` or `refs/tags/`.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"refUpdateRule","description":"Branch protection rules that are viewable by non-admins","args":[],"type":{"kind":"OBJECT","name":"RefUpdateRule","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository the ref belongs to.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"target","description":"The object the ref points to. Returns null when object does not exist.","args":[],"type":{"kind":"INTERFACE","name":"GitObject","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RefConnection","description":"The connection type for Ref.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"RefEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Ref","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RefEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"Ref","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RefOrder","description":"Ways in which lists of git refs can be ordered upon return.","fields":null,"inputFields":[{"name":"field","description":"The field in which to order refs by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"RefOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The direction in which to order refs by the specified field.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"RefOrderField","description":"Properties by which ref connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"TAG_COMMIT_DATE","description":"Order refs by underlying commit date if the ref prefix is refs/tags/","isDeprecated":false,"deprecationReason":null},{"name":"ALPHABETICAL","description":"Order refs by their alphanumeric name","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"RefUpdateRule","description":"A ref update rules for a viewer.","fields":[{"name":"allowsDeletions","description":"Can this branch be deleted.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"allowsForcePushes","description":"Are force pushes allowed on this branch.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pattern","description":"Identifies the protection rule pattern.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"requiredApprovingReviewCount","description":"Number of approving reviews required to update matching branches.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"requiredStatusCheckContexts","description":"List of required status check contexts that must pass for commits to be accepted to matching branches.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"requiresCodeOwnerReviews","description":"Are reviews from code owners required to update matching branches.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"requiresLinearHistory","description":"Are merge commits prohibited from being pushed to this branch.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"requiresSignatures","description":"Are commits required to be signed.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerAllowedToDismissReviews","description":"Is the viewer allowed to dismiss reviews.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanPush","description":"Can the viewer push to the branch","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReferencedEvent","description":"Represents a 'referenced' event on a given `ReferencedSubject`.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"commit","description":"Identifies the commit associated with the 'referenced' event.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"commitRepository","description":"Identifies the repository associated with the 'referenced' event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isCrossRepository","description":"Reference originated in a different repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isDirectReference","description":"Checks if the commit message itself references the subject. Can be false in the case of a commit comment reference.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"subject","description":"Object referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"ReferencedSubject","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"ReferencedSubject","description":"Any referencable object","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null}]},{"kind":"INPUT_OBJECT","name":"RegenerateEnterpriseIdentityProviderRecoveryCodesInput","description":"Autogenerated input type of RegenerateEnterpriseIdentityProviderRecoveryCodes","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise on which to set an identity provider.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RegenerateEnterpriseIdentityProviderRecoveryCodesPayload","description":"Autogenerated return type of RegenerateEnterpriseIdentityProviderRecoveryCodes","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"identityProvider","description":"The identity provider for the enterprise.","args":[],"type":{"kind":"OBJECT","name":"EnterpriseIdentityProvider","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RegenerateVerifiableDomainTokenInput","description":"Autogenerated input type of RegenerateVerifiableDomainToken","fields":null,"inputFields":[{"name":"id","description":"The ID of the verifiable domain to regenerate the verification token of.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RegenerateVerifiableDomainTokenPayload","description":"Autogenerated return type of RegenerateVerifiableDomainToken","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"verificationToken","description":"The verification token that was generated.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Release","description":"A release contains the content for a release.","fields":[{"name":"author","description":"The author of the release","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":"The description of the release.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"descriptionHTML","description":"The description of this release rendered to HTML.","args":[],"type":{"kind":"SCALAR","name":"HTML","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isDraft","description":"Whether or not the release is a draft","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isLatest","description":"Whether or not the release is the latest releast","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isPrerelease","description":"Whether or not the release is a prerelease","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The title of the release.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"publishedAt","description":"Identifies the date and time when the release was created.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"releaseAssets","description":"List of releases assets which are dependent on this release.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"name","description":"A list of names to filter the assets by.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReleaseAssetConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository that the release belongs to.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this issue","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shortDescriptionHTML","description":"A description of the release, rendered to HTML without any links in it.","args":[{"name":"limit","description":"How many characters to return.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":"200"}],"type":{"kind":"SCALAR","name":"HTML","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"tag","description":"The Git tag the release points to","args":[],"type":{"kind":"OBJECT","name":"Ref","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"tagCommit","description":"The tag commit for this release.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"tagName","description":"The name of the release's Git tag","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this issue","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReleaseAsset","description":"A release asset contains the content for a release asset.","fields":[{"name":"contentType","description":"The asset's content-type","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"downloadCount","description":"The number of times this asset was downloaded","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"downloadUrl","description":"Identifies the URL where you can download the release asset via the browser.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"Identifies the title of the release asset.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"release","description":"Release that the asset is associated with","args":[],"type":{"kind":"OBJECT","name":"Release","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"size","description":"The size (in bytes) of the asset","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"uploadedBy","description":"The user that performed the upload","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"Identifies the URL of the release asset.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReleaseAssetConnection","description":"The connection type for ReleaseAsset.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ReleaseAssetEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ReleaseAsset","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReleaseAssetEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"ReleaseAsset","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReleaseConnection","description":"The connection type for Release.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ReleaseEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Release","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReleaseEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"Release","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ReleaseOrder","description":"Ways in which lists of releases can be ordered upon return.","fields":null,"inputFields":[{"name":"field","description":"The field in which to order releases by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ReleaseOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The direction in which to order releases by the specified field.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"ReleaseOrderField","description":"Properties by which release connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order releases by creation time","isDeprecated":false,"deprecationReason":null},{"name":"NAME","description":"Order releases alphabetically by name","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RemoveAssigneesFromAssignableInput","description":"Autogenerated input type of RemoveAssigneesFromAssignable","fields":null,"inputFields":[{"name":"assignableId","description":"The id of the assignable object to remove assignees from.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"assigneeIds","description":"The id of users to remove as assignees.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RemoveAssigneesFromAssignablePayload","description":"Autogenerated return type of RemoveAssigneesFromAssignable","fields":[{"name":"assignable","description":"The item that was unassigned.","args":[],"type":{"kind":"INTERFACE","name":"Assignable","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RemoveEnterpriseAdminInput","description":"Autogenerated input type of RemoveEnterpriseAdmin","fields":null,"inputFields":[{"name":"enterpriseId","description":"The Enterprise ID from which to remove the administrator.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"login","description":"The login of the user to remove as an administrator.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RemoveEnterpriseAdminPayload","description":"Autogenerated return type of RemoveEnterpriseAdmin","fields":[{"name":"admin","description":"The user who was removed as an administrator.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The updated enterprise.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of removing an administrator.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewer","description":"The viewer performing the mutation.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RemoveEnterpriseIdentityProviderInput","description":"Autogenerated input type of RemoveEnterpriseIdentityProvider","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise from which to remove the identity provider.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RemoveEnterpriseIdentityProviderPayload","description":"Autogenerated return type of RemoveEnterpriseIdentityProvider","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"identityProvider","description":"The identity provider that was removed from the enterprise.","args":[],"type":{"kind":"OBJECT","name":"EnterpriseIdentityProvider","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RemoveEnterpriseOrganizationInput","description":"Autogenerated input type of RemoveEnterpriseOrganization","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise from which the organization should be removed.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"organizationId","description":"The ID of the organization to remove from the enterprise.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RemoveEnterpriseOrganizationPayload","description":"Autogenerated return type of RemoveEnterpriseOrganization","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The updated enterprise.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The organization that was removed from the enterprise.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewer","description":"The viewer performing the mutation.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RemoveEnterpriseSupportEntitlementInput","description":"Autogenerated input type of RemoveEnterpriseSupportEntitlement","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the Enterprise which the admin belongs to.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"login","description":"The login of a member who will lose the support entitlement.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RemoveEnterpriseSupportEntitlementPayload","description":"Autogenerated return type of RemoveEnterpriseSupportEntitlement","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of removing the support entitlement.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RemoveLabelsFromLabelableInput","description":"Autogenerated input type of RemoveLabelsFromLabelable","fields":null,"inputFields":[{"name":"labelableId","description":"The id of the Labelable to remove labels from.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"labelIds","description":"The ids of labels to remove.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RemoveLabelsFromLabelablePayload","description":"Autogenerated return type of RemoveLabelsFromLabelable","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"labelable","description":"The Labelable the labels were removed from.","args":[],"type":{"kind":"INTERFACE","name":"Labelable","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RemoveOutsideCollaboratorInput","description":"Autogenerated input type of RemoveOutsideCollaborator","fields":null,"inputFields":[{"name":"userId","description":"The ID of the outside collaborator to remove.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"organizationId","description":"The ID of the organization to remove the outside collaborator from.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RemoveOutsideCollaboratorPayload","description":"Autogenerated return type of RemoveOutsideCollaborator","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"removedUser","description":"The user that was removed as an outside collaborator.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RemoveReactionInput","description":"Autogenerated input type of RemoveReaction","fields":null,"inputFields":[{"name":"subjectId","description":"The Node ID of the subject to modify.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"content","description":"The name of the emoji reaction to remove.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ReactionContent","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RemoveReactionPayload","description":"Autogenerated return type of RemoveReaction","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reaction","description":"The reaction object.","args":[],"type":{"kind":"OBJECT","name":"Reaction","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"subject","description":"The reactable subject.","args":[],"type":{"kind":"INTERFACE","name":"Reactable","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RemoveStarInput","description":"Autogenerated input type of RemoveStar","fields":null,"inputFields":[{"name":"starrableId","description":"The Starrable ID to unstar.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RemoveStarPayload","description":"Autogenerated return type of RemoveStar","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"starrable","description":"The starrable.","args":[],"type":{"kind":"INTERFACE","name":"Starrable","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RemovedFromProjectEvent","description":"Represents a 'removed_from_project' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RenamedTitleEvent","description":"Represents a 'renamed' event on a given issue or pull request","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currentTitle","description":"Identifies the current title of the issue or pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"previousTitle","description":"Identifies the previous title of the issue or pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"subject","description":"Subject that was renamed.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"RenamedTitleSubject","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"RenamedTitleSubject","description":"An object which has a renamable title","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null}]},{"kind":"INPUT_OBJECT","name":"ReopenIssueInput","description":"Autogenerated input type of ReopenIssue","fields":null,"inputFields":[{"name":"issueId","description":"ID of the issue to be opened.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReopenIssuePayload","description":"Autogenerated return type of ReopenIssue","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"issue","description":"The issue that was opened.","args":[],"type":{"kind":"OBJECT","name":"Issue","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ReopenPullRequestInput","description":"Autogenerated input type of ReopenPullRequest","fields":null,"inputFields":[{"name":"pullRequestId","description":"ID of the pull request to be reopened.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReopenPullRequestPayload","description":"Autogenerated return type of ReopenPullRequest","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The pull request that was reopened.","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReopenedEvent","description":"Represents a 'reopened' event on any `Closable`.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"closable","description":"Object that was reopened.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Closable","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepoAccessAuditEntry","description":"Audit log entry for a repo.access event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"visibility","description":"The visibility of the repository","args":[],"type":{"kind":"ENUM","name":"RepoAccessAuditEntryVisibility","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"RepoAccessAuditEntryVisibility","description":"The privacy of a repository","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"INTERNAL","description":"The repository is visible only to users in the same business.","isDeprecated":false,"deprecationReason":null},{"name":"PRIVATE","description":"The repository is visible only to those with explicit access.","isDeprecated":false,"deprecationReason":null},{"name":"PUBLIC","description":"The repository is visible to everyone.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"RepoAddMemberAuditEntry","description":"Audit log entry for a repo.add_member event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"visibility","description":"The visibility of the repository","args":[],"type":{"kind":"ENUM","name":"RepoAddMemberAuditEntryVisibility","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"RepoAddMemberAuditEntryVisibility","description":"The privacy of a repository","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"INTERNAL","description":"The repository is visible only to users in the same business.","isDeprecated":false,"deprecationReason":null},{"name":"PRIVATE","description":"The repository is visible only to those with explicit access.","isDeprecated":false,"deprecationReason":null},{"name":"PUBLIC","description":"The repository is visible to everyone.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"RepoAddTopicAuditEntry","description":"Audit log entry for a repo.add_topic event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"topic","description":"The name of the topic added to the repository","args":[],"type":{"kind":"OBJECT","name":"Topic","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"topicName","description":"The name of the topic added to the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"TopicAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepoArchivedAuditEntry","description":"Audit log entry for a repo.archived event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"visibility","description":"The visibility of the repository","args":[],"type":{"kind":"ENUM","name":"RepoArchivedAuditEntryVisibility","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"RepoArchivedAuditEntryVisibility","description":"The privacy of a repository","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"INTERNAL","description":"The repository is visible only to users in the same business.","isDeprecated":false,"deprecationReason":null},{"name":"PRIVATE","description":"The repository is visible only to those with explicit access.","isDeprecated":false,"deprecationReason":null},{"name":"PUBLIC","description":"The repository is visible to everyone.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"RepoChangeMergeSettingAuditEntry","description":"Audit log entry for a repo.change_merge_setting event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isEnabled","description":"Whether the change was to enable (true) or disable (false) the merge type","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"mergeType","description":"The merge method affected by the change","args":[],"type":{"kind":"ENUM","name":"RepoChangeMergeSettingAuditEntryMergeType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"RepoChangeMergeSettingAuditEntryMergeType","description":"The merge options available for pull requests to this repository.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"MERGE","description":"The pull request is added to the base branch in a merge commit.","isDeprecated":false,"deprecationReason":null},{"name":"REBASE","description":"Commits from the pull request are added onto the base branch individually without a merge commit.","isDeprecated":false,"deprecationReason":null},{"name":"SQUASH","description":"The pull request's commits are squashed into a single commit before they are merged to the base branch.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"RepoConfigDisableAnonymousGitAccessAuditEntry","description":"Audit log entry for a repo.config.disable_anonymous_git_access event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepoConfigDisableCollaboratorsOnlyAuditEntry","description":"Audit log entry for a repo.config.disable_collaborators_only event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepoConfigDisableContributorsOnlyAuditEntry","description":"Audit log entry for a repo.config.disable_contributors_only event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepoConfigDisableSockpuppetDisallowedAuditEntry","description":"Audit log entry for a repo.config.disable_sockpuppet_disallowed event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepoConfigEnableAnonymousGitAccessAuditEntry","description":"Audit log entry for a repo.config.enable_anonymous_git_access event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepoConfigEnableCollaboratorsOnlyAuditEntry","description":"Audit log entry for a repo.config.enable_collaborators_only event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepoConfigEnableContributorsOnlyAuditEntry","description":"Audit log entry for a repo.config.enable_contributors_only event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepoConfigEnableSockpuppetDisallowedAuditEntry","description":"Audit log entry for a repo.config.enable_sockpuppet_disallowed event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepoConfigLockAnonymousGitAccessAuditEntry","description":"Audit log entry for a repo.config.lock_anonymous_git_access event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepoConfigUnlockAnonymousGitAccessAuditEntry","description":"Audit log entry for a repo.config.unlock_anonymous_git_access event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepoCreateAuditEntry","description":"Audit log entry for a repo.create event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"forkParentName","description":"The name of the parent repository for this forked repository.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"forkSourceName","description":"The name of the root repository for this network.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"visibility","description":"The visibility of the repository","args":[],"type":{"kind":"ENUM","name":"RepoCreateAuditEntryVisibility","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"RepoCreateAuditEntryVisibility","description":"The privacy of a repository","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"INTERNAL","description":"The repository is visible only to users in the same business.","isDeprecated":false,"deprecationReason":null},{"name":"PRIVATE","description":"The repository is visible only to those with explicit access.","isDeprecated":false,"deprecationReason":null},{"name":"PUBLIC","description":"The repository is visible to everyone.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"RepoDestroyAuditEntry","description":"Audit log entry for a repo.destroy event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"visibility","description":"The visibility of the repository","args":[],"type":{"kind":"ENUM","name":"RepoDestroyAuditEntryVisibility","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"RepoDestroyAuditEntryVisibility","description":"The privacy of a repository","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"INTERNAL","description":"The repository is visible only to users in the same business.","isDeprecated":false,"deprecationReason":null},{"name":"PRIVATE","description":"The repository is visible only to those with explicit access.","isDeprecated":false,"deprecationReason":null},{"name":"PUBLIC","description":"The repository is visible to everyone.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"RepoRemoveMemberAuditEntry","description":"Audit log entry for a repo.remove_member event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"visibility","description":"The visibility of the repository","args":[],"type":{"kind":"ENUM","name":"RepoRemoveMemberAuditEntryVisibility","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"RepoRemoveMemberAuditEntryVisibility","description":"The privacy of a repository","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"INTERNAL","description":"The repository is visible only to users in the same business.","isDeprecated":false,"deprecationReason":null},{"name":"PRIVATE","description":"The repository is visible only to those with explicit access.","isDeprecated":false,"deprecationReason":null},{"name":"PUBLIC","description":"The repository is visible to everyone.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"RepoRemoveTopicAuditEntry","description":"Audit log entry for a repo.remove_topic event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"topic","description":"The name of the topic added to the repository","args":[],"type":{"kind":"OBJECT","name":"Topic","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"topicName","description":"The name of the topic added to the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"TopicAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"ReportedContentClassifiers","description":"The reasons a piece of content can be reported or minimized.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"SPAM","description":"A spammy piece of content","isDeprecated":false,"deprecationReason":null},{"name":"ABUSE","description":"An abusive or harassing piece of content","isDeprecated":false,"deprecationReason":null},{"name":"OFF_TOPIC","description":"An irrelevant piece of content","isDeprecated":false,"deprecationReason":null},{"name":"OUTDATED","description":"An outdated piece of content","isDeprecated":false,"deprecationReason":null},{"name":"DUPLICATE","description":"A duplicated piece of content","isDeprecated":false,"deprecationReason":null},{"name":"RESOLVED","description":"The content has been resolved","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Repository","description":"A repository contains the content for a project.","fields":[{"name":"assignableUsers","description":"A list of users that can be assigned to issues in this repository.","args":[{"name":"query","description":"Filters users with query on user name and login","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"UserConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"branchProtectionRules","description":"A list of branch protection rules for this repository.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"BranchProtectionRuleConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"codeOfConduct","description":"Returns the code of conduct for this repository","args":[],"type":{"kind":"OBJECT","name":"CodeOfConduct","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"collaborators","description":"A list of collaborators associated with the repository.","args":[{"name":"affiliation","description":"Collaborators affiliation level with a repository.","type":{"kind":"ENUM","name":"CollaboratorAffiliation","ofType":null},"defaultValue":null},{"name":"query","description":"Filters users with query on user name and login","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"RepositoryCollaboratorConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"commitComments","description":"A list of commit comments associated with the repository.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CommitCommentConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"contactLinks","description":"Returns a list of contact links associated to the repository","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryContactLink","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"defaultBranchRef","description":"The Ref associated with the repository's default branch.","args":[],"type":{"kind":"OBJECT","name":"Ref","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deleteBranchOnMerge","description":"Whether or not branches are automatically deleted when merged in this repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deployKeys","description":"A list of deploy keys that are on this repository.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeployKeyConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deployments","description":"Deployments associated with the repository","args":[{"name":"environments","description":"Environments to list deployments for","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for deployments returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"DeploymentOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: ASC}"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeploymentConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":"The description of the repository.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"descriptionHTML","description":"The description of the repository rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"diskUsage","description":"The number of kilobytes this repository occupies on disk.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"forkCount","description":"Returns how many forks there are of this repository in the whole network.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"forks","description":"A list of direct forked repositories.","args":[{"name":"privacy","description":"If non-null, filters repositories according to privacy","type":{"kind":"ENUM","name":"RepositoryPrivacy","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for repositories returned from the connection","type":{"kind":"INPUT_OBJECT","name":"RepositoryOrder","ofType":null},"defaultValue":null},{"name":"affiliations","description":"Array of viewer's affiliation options for repositories returned from the connection. For example, OWNER will include only repositories that the current viewer owns.","type":{"kind":"LIST","name":null,"ofType":{"kind":"ENUM","name":"RepositoryAffiliation","ofType":null}},"defaultValue":null},{"name":"ownerAffiliations","description":"Array of owner's affiliation options for repositories returned from the connection. For example, OWNER will include only repositories that the organization or user being viewed owns.","type":{"kind":"LIST","name":null,"ofType":{"kind":"ENUM","name":"RepositoryAffiliation","ofType":null}},"defaultValue":"[OWNER, COLLABORATOR]"},{"name":"isLocked","description":"If non-null, filters repositories according to whether they have been locked","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fundingLinks","description":"The funding links for this repository","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FundingLink","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"hasIssuesEnabled","description":"Indicates if the repository has issues feature enabled.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hasProjectsEnabled","description":"Indicates if the repository has the Projects feature enabled.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hasWikiEnabled","description":"Indicates if the repository has wiki feature enabled.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"homepageUrl","description":"The repository's URL.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"interactionAbility","description":"The interaction ability settings for this repository.","args":[],"type":{"kind":"OBJECT","name":"RepositoryInteractionAbility","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"isArchived","description":"Indicates if the repository is unmaintained.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isBlankIssuesEnabled","description":"Returns true if blank issue creation is allowed","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isDisabled","description":"Returns whether or not this repository disabled.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isEmpty","description":"Returns whether or not this repository is empty.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isFork","description":"Identifies if the repository is a fork.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isInOrganization","description":"Indicates if a repository is either owned by an organization, or is a private fork of an organization repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isLocked","description":"Indicates if the repository has been locked or not.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isMirror","description":"Identifies if the repository is a mirror.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isPrivate","description":"Identifies if the repository is private.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isSecurityPolicyEnabled","description":"Returns true if this repository has a security policy","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"isTemplate","description":"Identifies if the repository is a template that can be used to generate new repositories.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isUserConfigurationRepository","description":"Is this repository a user configuration repository?","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issue","description":"Returns a single issue from the current repository by number.","args":[{"name":"number","description":"The number for the issue to be returned.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Issue","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"issueOrPullRequest","description":"Returns a single issue-like object from the current repository by number.","args":[{"name":"number","description":"The number for the issue to be returned.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"type":{"kind":"UNION","name":"IssueOrPullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"issueTemplates","description":"Returns a list of issue templates associated to the repository","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"IssueTemplate","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"issues","description":"A list of issues that have been opened in the repository.","args":[{"name":"orderBy","description":"Ordering options for issues returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"IssueOrder","ofType":null},"defaultValue":null},{"name":"labels","description":"A list of label names to filter the pull requests by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"states","description":"A list of states to filter the issues by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"IssueState","ofType":null}}},"defaultValue":null},{"name":"filterBy","description":"Filtering options for issues returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"IssueFilters","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"IssueConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":"Returns a single label by name","args":[{"name":"name","description":"Label name","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Label","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"labels","description":"A list of labels associated with the repository.","args":[{"name":"orderBy","description":"Ordering options for labels returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"LabelOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: ASC}"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"query","description":"If provided, searches labels by name and description.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"LabelConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"languages","description":"A list containing a breakdown of the language composition of the repository.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Order for connection","type":{"kind":"INPUT_OBJECT","name":"LanguageOrder","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"LanguageConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"latestRelease","description":"Get the latest release for the repository if one exists.","args":[],"type":{"kind":"OBJECT","name":"Release","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"licenseInfo","description":"The license associated with the repository","args":[],"type":{"kind":"OBJECT","name":"License","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"lockReason","description":"The reason the repository has been locked.","args":[],"type":{"kind":"ENUM","name":"RepositoryLockReason","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"mentionableUsers","description":"A list of Users that can be mentioned in the context of the repository.","args":[{"name":"query","description":"Filters users with query on user name and login","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"UserConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"mergeCommitAllowed","description":"Whether or not PRs are merged with a merge commit on this repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"milestone","description":"Returns a single milestone from the current repository by number.","args":[{"name":"number","description":"The number for the milestone to be returned.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Milestone","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"milestones","description":"A list of milestones associated with the repository.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"states","description":"Filter by the state of the milestones.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"MilestoneState","ofType":null}}},"defaultValue":null},{"name":"orderBy","description":"Ordering options for milestones.","type":{"kind":"INPUT_OBJECT","name":"MilestoneOrder","ofType":null},"defaultValue":null},{"name":"query","description":"Filters milestones with a query on the title","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"MilestoneConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"mirrorUrl","description":"The repository's original mirror URL.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The name of the repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nameWithOwner","description":"The repository's name with owner.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"object","description":"A Git object in the repository","args":[{"name":"oid","description":"The Git object ID","type":{"kind":"SCALAR","name":"GitObjectID","ofType":null},"defaultValue":null},{"name":"expression","description":"A Git revision expression suitable for rev-parse","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"INTERFACE","name":"GitObject","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"openGraphImageUrl","description":"The image used to represent this repository in Open Graph data.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"owner","description":"The User owner of the repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"RepositoryOwner","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"packages","description":"A list of packages under the owner.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"names","description":"Find packages by their names.","type":{"kind":"LIST","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"repositoryId","description":"Find packages in a repository by ID.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"packageType","description":"Filter registry package by type.","type":{"kind":"ENUM","name":"PackageType","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering of the returned packages.","type":{"kind":"INPUT_OBJECT","name":"PackageOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: DESC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PackageConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"parent","description":"The repository parent, if this is a fork.","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pinnedIssues","description":"A list of pinned issues for this repository.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"PinnedIssueConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"primaryLanguage","description":"The primary language of the repository's code.","args":[],"type":{"kind":"OBJECT","name":"Language","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"project","description":"Find project by number.","args":[{"name":"number","description":"The project number to find.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Project","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"projects","description":"A list of projects under the owner.","args":[{"name":"orderBy","description":"Ordering options for projects returned from the connection","type":{"kind":"INPUT_OBJECT","name":"ProjectOrder","ofType":null},"defaultValue":null},{"name":"search","description":"Query to search projects by, currently only searching by name.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"states","description":"A list of states to filter the projects by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ProjectState","ofType":null}}},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProjectConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"projectsResourcePath","description":"The HTTP path listing the repository's projects","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"projectsUrl","description":"The HTTP URL listing the repository's projects","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"Returns a single pull request from the current repository by number.","args":[{"name":"number","description":"The number for the pull request to be returned.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequests","description":"A list of pull requests that have been opened in the repository.","args":[{"name":"states","description":"A list of states to filter the pull requests by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PullRequestState","ofType":null}}},"defaultValue":null},{"name":"labels","description":"A list of label names to filter the pull requests by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"headRefName","description":"The head ref name to filter the pull requests by.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"baseRefName","description":"The base ref name to filter the pull requests by.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for pull requests returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"IssueOrder","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pushedAt","description":"Identifies when the repository was last pushed to.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"rebaseMergeAllowed","description":"Whether or not rebase-merging is enabled on this repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"ref","description":"Fetch a given ref from the repository","args":[{"name":"qualifiedName","description":"The ref to retrieve. Fully qualified matches are checked in order (`refs/heads/master`) before falling back onto checks for short name matches (`master`).","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Ref","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"refs","description":"Fetch a list of refs from the repository","args":[{"name":"query","description":"Filters refs with query on name","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"refPrefix","description":"A ref name prefix like `refs/heads/`, `refs/tags/`, etc.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"direction","description":"DEPRECATED: use orderBy. The ordering direction.","type":{"kind":"ENUM","name":"OrderDirection","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for refs returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"RefOrder","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"RefConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"release","description":"Lookup a single release given various criteria.","args":[{"name":"tagName","description":"The name of the Tag the Release was created from","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Release","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"releases","description":"List of releases which are dependent on this repository.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Order for connection","type":{"kind":"INPUT_OBJECT","name":"ReleaseOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReleaseConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryTopics","description":"A list of applied repository-topic associations for this repository.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryTopicConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this repository","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"securityPolicyUrl","description":"The security policy URL.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"shortDescriptionHTML","description":"A description of the repository, rendered to HTML without any links in it.","args":[{"name":"limit","description":"How many characters to return.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":"200"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"squashMergeAllowed","description":"Whether or not squash-merging is enabled on this repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"sshUrl","description":"The SSH URL to clone this repository","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"GitSSHRemote","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"stargazerCount","description":"Returns a count of how many stargazers there are on this object\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"stargazers","description":"A list of users who have starred this starrable.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Order for connection","type":{"kind":"INPUT_OBJECT","name":"StarOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"StargazerConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"submodules","description":"Returns a list of all submodules in this repository parsed from the .gitmodules file as of the default branch's HEAD commit.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SubmoduleConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"tempCloneToken","description":"Temporary authentication token for cloning this repository.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"templateRepository","description":"The repository from which this repository was generated, if any.","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this repository","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"usesCustomOpenGraphImage","description":"Whether this repository has a custom image to use with Open Graph as opposed to being represented by the owner's avatar.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanAdminister","description":"Indicates whether the viewer has admin permissions on this repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanCreateProjects","description":"Can the current viewer create new projects on this owner.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanSubscribe","description":"Check if the viewer is able to change their subscription status for the repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanUpdateTopics","description":"Indicates whether the viewer can update the topics of this repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerDefaultCommitEmail","description":"The last commit email for the viewer.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewerDefaultMergeMethod","description":"The last used merge method by the viewer or the default for the repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PullRequestMergeMethod","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerHasStarred","description":"Returns a boolean indicating whether the viewing user has starred this starrable.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerPermission","description":"The users permission level on the repository. Will return null if authenticated as an GitHub App.","args":[],"type":{"kind":"ENUM","name":"RepositoryPermission","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewerPossibleCommitEmails","description":"A list of emails this viewer can commit with.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerSubscription","description":"Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.","args":[],"type":{"kind":"ENUM","name":"SubscriptionState","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"vulnerabilityAlerts","description":"A list of vulnerability alerts that are on this repository.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"RepositoryVulnerabilityAlertConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"watchers","description":"A list of users watching the repository.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"UserConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"ProjectOwner","ofType":null},{"kind":"INTERFACE","name":"PackageOwner","ofType":null},{"kind":"INTERFACE","name":"Subscribable","ofType":null},{"kind":"INTERFACE","name":"Starrable","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null},{"kind":"INTERFACE","name":"RepositoryInfo","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"RepositoryAffiliation","description":"The affiliation of a user to a repository","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"OWNER","description":"Repositories that are owned by the authenticated user.","isDeprecated":false,"deprecationReason":null},{"name":"COLLABORATOR","description":"Repositories that the user has been added to as a collaborator.","isDeprecated":false,"deprecationReason":null},{"name":"ORGANIZATION_MEMBER","description":"Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","description":"Metadata for an audit entry with action repo.*","fields":[{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"OrgRestoreMemberMembershipRepositoryAuditEntryData","ofType":null},{"kind":"OBJECT","name":"PrivateRepositoryForkingDisableAuditEntry","ofType":null},{"kind":"OBJECT","name":"PrivateRepositoryForkingEnableAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoAddMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoAddTopicAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoArchivedAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoChangeMergeSettingAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableContributorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigDisableSockpuppetDisallowedAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableCollaboratorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableContributorsOnlyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigEnableSockpuppetDisallowedAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigLockAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoConfigUnlockAnonymousGitAccessAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoCreateAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoDestroyAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoRemoveMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoRemoveTopicAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamAddRepositoryAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamRemoveRepositoryAuditEntry","ofType":null}]},{"kind":"OBJECT","name":"RepositoryCollaboratorConnection","description":"The connection type for User.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryCollaboratorEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepositoryCollaboratorEdge","description":"Represents a user who is a collaborator of a repository.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"permission","description":"The permission the user has on the repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"RepositoryPermission","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"permissionSources","description":"A list of sources for the user's access to the repository.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PermissionSource","ofType":null}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepositoryConnection","description":"A list of repositories owned by the subject.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalDiskUsage","description":"The total size in kilobytes of all repositories in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepositoryContactLink","description":"A repository contact link.","fields":[{"name":"about","description":"The contact link purpose.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The contact link name.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The contact link URL.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"RepositoryContributionType","description":"The reason a repository is listed as 'contributed'.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"COMMIT","description":"Created a commit","isDeprecated":false,"deprecationReason":null},{"name":"ISSUE","description":"Created an issue","isDeprecated":false,"deprecationReason":null},{"name":"PULL_REQUEST","description":"Created a pull request","isDeprecated":false,"deprecationReason":null},{"name":"REPOSITORY","description":"Created the repository","isDeprecated":false,"deprecationReason":null},{"name":"PULL_REQUEST_REVIEW","description":"Reviewed a pull request","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"RepositoryEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"RepositoryInfo","description":"A subset of repository info.","fields":[{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":"The description of the repository.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"descriptionHTML","description":"The description of the repository rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"forkCount","description":"Returns how many forks there are of this repository in the whole network.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hasIssuesEnabled","description":"Indicates if the repository has issues feature enabled.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hasProjectsEnabled","description":"Indicates if the repository has the Projects feature enabled.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hasWikiEnabled","description":"Indicates if the repository has wiki feature enabled.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"homepageUrl","description":"The repository's URL.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"isArchived","description":"Indicates if the repository is unmaintained.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isFork","description":"Identifies if the repository is a fork.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isInOrganization","description":"Indicates if a repository is either owned by an organization, or is a private fork of an organization repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isLocked","description":"Indicates if the repository has been locked or not.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isMirror","description":"Identifies if the repository is a mirror.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isPrivate","description":"Identifies if the repository is private.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isTemplate","description":"Identifies if the repository is a template that can be used to generate new repositories.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"licenseInfo","description":"The license associated with the repository","args":[],"type":{"kind":"OBJECT","name":"License","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"lockReason","description":"The reason the repository has been locked.","args":[],"type":{"kind":"ENUM","name":"RepositoryLockReason","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"mirrorUrl","description":"The repository's original mirror URL.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The name of the repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nameWithOwner","description":"The repository's name with owner.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"openGraphImageUrl","description":"The image used to represent this repository in Open Graph data.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"owner","description":"The User owner of the repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"RepositoryOwner","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pushedAt","description":"Identifies when the repository was last pushed to.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this repository","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shortDescriptionHTML","description":"A description of the repository, rendered to HTML without any links in it.","args":[{"name":"limit","description":"How many characters to return.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":"200"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this repository","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"usesCustomOpenGraphImage","description":"Whether this repository has a custom image to use with Open Graph as opposed to being represented by the owner's avatar.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Repository","ofType":null}]},{"kind":"OBJECT","name":"RepositoryInteractionAbility","description":"Repository interaction limit that applies to this object.","fields":[{"name":"expiresAt","description":"The time the currently active limit expires.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"limit","description":"The current limit that is enabled on this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"RepositoryInteractionLimit","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"origin","description":"The origin of the currently active interaction limit.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"RepositoryInteractionLimitOrigin","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"RepositoryInteractionLimit","description":"A repository interaction limit.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"EXISTING_USERS","description":"Users that have recently created their account will be unable to interact with the repository.","isDeprecated":false,"deprecationReason":null},{"name":"CONTRIBUTORS_ONLY","description":"Users that have not previously committed to a repository’s default branch will be unable to interact with the repository.","isDeprecated":false,"deprecationReason":null},{"name":"COLLABORATORS_ONLY","description":"Users that are not collaborators will not be able to interact with the repository.","isDeprecated":false,"deprecationReason":null},{"name":"NO_LIMIT","description":"No interaction limits are enabled.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"RepositoryInteractionLimitExpiry","description":"The length for a repository interaction limit to be enabled for.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ONE_DAY","description":"The interaction limit will expire after 1 day.","isDeprecated":false,"deprecationReason":null},{"name":"THREE_DAYS","description":"The interaction limit will expire after 3 days.","isDeprecated":false,"deprecationReason":null},{"name":"ONE_WEEK","description":"The interaction limit will expire after 1 week.","isDeprecated":false,"deprecationReason":null},{"name":"ONE_MONTH","description":"The interaction limit will expire after 1 month.","isDeprecated":false,"deprecationReason":null},{"name":"SIX_MONTHS","description":"The interaction limit will expire after 6 months.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"RepositoryInteractionLimitOrigin","description":"Indicates where an interaction limit is configured.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"REPOSITORY","description":"A limit that is configured at the repository level.","isDeprecated":false,"deprecationReason":null},{"name":"ORGANIZATION","description":"A limit that is configured at the organization level.","isDeprecated":false,"deprecationReason":null},{"name":"USER","description":"A limit that is configured at the user-wide level.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"RepositoryInvitation","description":"An invitation for a user to be added to a repository.","fields":[{"name":"email","description":"The email address that received the invitation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"invitee","description":"The user who received the invitation.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"inviter","description":"The user who created the invitation.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"permalink","description":"The permalink for this repository invitation.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"permission","description":"The permission granted on this repository by this invitation.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"RepositoryPermission","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The Repository the user is invited to.","args":[],"type":{"kind":"INTERFACE","name":"RepositoryInfo","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepositoryInvitationConnection","description":"The connection type for RepositoryInvitation.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryInvitationEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryInvitation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepositoryInvitationEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"RepositoryInvitation","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RepositoryInvitationOrder","description":"Ordering options for repository invitation connections.","fields":null,"inputFields":[{"name":"field","description":"The field to order repository invitations by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"RepositoryInvitationOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"RepositoryInvitationOrderField","description":"Properties by which repository invitation connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order repository invitations by creation time","isDeprecated":false,"deprecationReason":null},{"name":"INVITEE_LOGIN","description":"Order repository invitations by invitee login","isDeprecated":true,"deprecationReason":"`INVITEE_LOGIN` is no longer a valid field value. Repository invitations can now be associated with an email, not only an invitee. Removal on 2020-10-01 UTC."}],"possibleTypes":null},{"kind":"ENUM","name":"RepositoryLockReason","description":"The possible reasons a given repository could be in a locked state.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"MOVING","description":"The repository is locked due to a move.","isDeprecated":false,"deprecationReason":null},{"name":"BILLING","description":"The repository is locked due to a billing related reason.","isDeprecated":false,"deprecationReason":null},{"name":"RENAME","description":"The repository is locked due to a rename.","isDeprecated":false,"deprecationReason":null},{"name":"MIGRATING","description":"The repository is locked due to a migration.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INTERFACE","name":"RepositoryNode","description":"Represents a object that belongs to a repository.","fields":[{"name":"repository","description":"The repository associated with this node.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CommitComment","ofType":null},{"kind":"OBJECT","name":"CommitCommentThread","ofType":null},{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"IssueComment","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null},{"kind":"OBJECT","name":"PullRequestCommitCommentThread","ofType":null},{"kind":"OBJECT","name":"PullRequestReview","ofType":null},{"kind":"OBJECT","name":"PullRequestReviewComment","ofType":null},{"kind":"OBJECT","name":"RepositoryVulnerabilityAlert","ofType":null}]},{"kind":"INPUT_OBJECT","name":"RepositoryOrder","description":"Ordering options for repository connections","fields":null,"inputFields":[{"name":"field","description":"The field to order repositories by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"RepositoryOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"RepositoryOrderField","description":"Properties by which repository connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order repositories by creation time","isDeprecated":false,"deprecationReason":null},{"name":"UPDATED_AT","description":"Order repositories by update time","isDeprecated":false,"deprecationReason":null},{"name":"PUSHED_AT","description":"Order repositories by push time","isDeprecated":false,"deprecationReason":null},{"name":"NAME","description":"Order repositories by name","isDeprecated":false,"deprecationReason":null},{"name":"STARGAZERS","description":"Order repositories by number of stargazers","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INTERFACE","name":"RepositoryOwner","description":"Represents an owner of a Repository.","fields":[{"name":"avatarUrl","description":"A URL pointing to the owner's public avatar.","args":[{"name":"size","description":"The size of the resulting square image.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"login","description":"The username used to login.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repositories","description":"A list of repositories that the user owns.","args":[{"name":"privacy","description":"If non-null, filters repositories according to privacy","type":{"kind":"ENUM","name":"RepositoryPrivacy","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for repositories returned from the connection","type":{"kind":"INPUT_OBJECT","name":"RepositoryOrder","ofType":null},"defaultValue":null},{"name":"affiliations","description":"Array of viewer's affiliation options for repositories returned from the connection. For example, OWNER will include only repositories that the current viewer owns.","type":{"kind":"LIST","name":null,"ofType":{"kind":"ENUM","name":"RepositoryAffiliation","ofType":null}},"defaultValue":null},{"name":"ownerAffiliations","description":"Array of owner's affiliation options for repositories returned from the connection. For example, OWNER will include only repositories that the organization or user being viewed owns.","type":{"kind":"LIST","name":null,"ofType":{"kind":"ENUM","name":"RepositoryAffiliation","ofType":null}},"defaultValue":"[OWNER, COLLABORATOR]"},{"name":"isLocked","description":"If non-null, filters repositories according to whether they have been locked","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"isFork","description":"If non-null, filters repositories according to whether they are forks of another repository","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"Find Repository.","args":[{"name":"name","description":"Name of Repository to find.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP URL for the owner.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for the owner.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Organization","ofType":null},{"kind":"OBJECT","name":"User","ofType":null}]},{"kind":"ENUM","name":"RepositoryPermission","description":"The access level to a repository","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ADMIN","description":"Can read, clone, and push to this repository. Can also manage issues, pull requests, and repository settings, including adding collaborators","isDeprecated":false,"deprecationReason":null},{"name":"MAINTAIN","description":"Can read, clone, and push to this repository. They can also manage issues, pull requests, and some repository settings","isDeprecated":false,"deprecationReason":null},{"name":"WRITE","description":"Can read, clone, and push to this repository. Can also manage issues and pull requests","isDeprecated":false,"deprecationReason":null},{"name":"TRIAGE","description":"Can read and clone this repository. Can also manage issues and pull requests","isDeprecated":false,"deprecationReason":null},{"name":"READ","description":"Can read and clone this repository. Can also open and comment on issues and pull requests","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"RepositoryPrivacy","description":"The privacy of a repository","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"PUBLIC","description":"Public","isDeprecated":false,"deprecationReason":null},{"name":"PRIVATE","description":"Private","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"RepositoryTopic","description":"A repository-topic connects a repository to a topic.","fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this repository-topic.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"topic","description":"The topic.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Topic","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this repository-topic.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepositoryTopicConnection","description":"The connection type for RepositoryTopic.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryTopicEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryTopic","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepositoryTopicEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"RepositoryTopic","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"RepositoryVisibility","description":"The repository's visibility level.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"PRIVATE","description":"The repository is visible only to those with explicit access.","isDeprecated":false,"deprecationReason":null},{"name":"PUBLIC","description":"The repository is visible to everyone.","isDeprecated":false,"deprecationReason":null},{"name":"INTERNAL","description":"The repository is visible only to users in the same business.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"RepositoryVisibilityChangeDisableAuditEntry","description":"Audit log entry for a repository_visibility_change.disable event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseResourcePath","description":"The HTTP path for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseSlug","description":"The slug of the enterprise.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseUrl","description":"The HTTP URL for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"EnterpriseAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepositoryVisibilityChangeEnableAuditEntry","description":"Audit log entry for a repository_visibility_change.enable event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseResourcePath","description":"The HTTP path for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseSlug","description":"The slug of the enterprise.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterpriseUrl","description":"The HTTP URL for this enterprise.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"EnterpriseAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepositoryVulnerabilityAlert","description":"A alert for a repository with an affected vulnerability.","fields":[{"name":"createdAt","description":"When was the alert created?","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"dismissReason","description":"The reason the alert was dismissed","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"dismissedAt","description":"When was the alert dismissed?","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"dismisser","description":"The user who dismissed the alert","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The associated repository","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"securityAdvisory","description":"The associated security advisory","args":[],"type":{"kind":"OBJECT","name":"SecurityAdvisory","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"securityVulnerability","description":"The associated security vulnerability","args":[],"type":{"kind":"OBJECT","name":"SecurityVulnerability","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"vulnerableManifestFilename","description":"The vulnerable manifest filename","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"vulnerableManifestPath","description":"The vulnerable manifest path","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"vulnerableRequirements","description":"The vulnerable requirements","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"RepositoryNode","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepositoryVulnerabilityAlertConnection","description":"The connection type for RepositoryVulnerabilityAlert.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryVulnerabilityAlertEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryVulnerabilityAlert","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RepositoryVulnerabilityAlertEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"RepositoryVulnerabilityAlert","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RequestReviewsInput","description":"Autogenerated input type of RequestReviews","fields":null,"inputFields":[{"name":"pullRequestId","description":"The Node ID of the pull request to modify.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"userIds","description":"The Node IDs of the user to request.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"teamIds","description":"The Node IDs of the team to request.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"union","description":"Add users to the set rather than replace.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RequestReviewsPayload","description":"Autogenerated return type of RequestReviews","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The pull request that is getting requests.","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"requestedReviewersEdge","description":"The edge from the pull request to the requested reviewers.","args":[],"type":{"kind":"OBJECT","name":"UserEdge","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"RequestableCheckStatusState","description":"The possible states that can be requested when creating a check run.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"QUEUED","description":"The check suite or run has been queued.","isDeprecated":false,"deprecationReason":null},{"name":"IN_PROGRESS","description":"The check suite or run is in progress.","isDeprecated":false,"deprecationReason":null},{"name":"COMPLETED","description":"The check suite or run has been completed.","isDeprecated":false,"deprecationReason":null},{"name":"WAITING","description":"The check suite or run is in waiting state.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"UNION","name":"RequestedReviewer","description":"Types that can be requested reviewers.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Mannequin","ofType":null},{"kind":"OBJECT","name":"Team","ofType":null},{"kind":"OBJECT","name":"User","ofType":null}]},{"kind":"INTERFACE","name":"RequirableByPullRequest","description":"Represents a type that can be required by a pull request for merging.","fields":[{"name":"isRequired","description":"Whether this is required to pass before merging for a specific pull request.","args":[{"name":"pullRequestId","description":"The id of the pull request this is required for","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"pullRequestNumber","description":"The number of the pull request this is required for","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CheckRun","ofType":null},{"kind":"OBJECT","name":"StatusContext","ofType":null}]},{"kind":"INPUT_OBJECT","name":"RerequestCheckSuiteInput","description":"Autogenerated input type of RerequestCheckSuite","fields":null,"inputFields":[{"name":"repositoryId","description":"The Node ID of the repository.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"checkSuiteId","description":"The Node ID of the check suite.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RerequestCheckSuitePayload","description":"Autogenerated return type of RerequestCheckSuite","fields":[{"name":"checkSuite","description":"The requested check suite.","args":[],"type":{"kind":"OBJECT","name":"CheckSuite","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ResolveReviewThreadInput","description":"Autogenerated input type of ResolveReviewThread","fields":null,"inputFields":[{"name":"threadId","description":"The ID of the thread to resolve","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ResolveReviewThreadPayload","description":"Autogenerated return type of ResolveReviewThread","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"thread","description":"The thread to resolve.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReviewThread","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RestrictedContribution","description":"Represents a private contribution a user made on GitHub.","fields":[{"name":"isRestricted","description":"Whether this contribution is associated with a record you do not have access to. For\nexample, your own 'first issue' contribution may have been made on a repository you can no\nlonger access.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"occurredAt","description":"When this contribution was made.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this contribution.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this contribution.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user who made this contribution.\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Contribution","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReviewDismissalAllowance","description":"A team or user who has the ability to dismiss a review on a protected branch.","fields":[{"name":"actor","description":"The actor that can dismiss.","args":[],"type":{"kind":"UNION","name":"ReviewDismissalAllowanceActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"branchProtectionRule","description":"Identifies the branch protection rule associated with the allowed user or team.","args":[],"type":{"kind":"OBJECT","name":"BranchProtectionRule","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"ReviewDismissalAllowanceActor","description":"Types that can be an actor.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Team","ofType":null},{"kind":"OBJECT","name":"User","ofType":null}]},{"kind":"OBJECT","name":"ReviewDismissalAllowanceConnection","description":"The connection type for ReviewDismissalAllowance.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ReviewDismissalAllowanceEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ReviewDismissalAllowance","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReviewDismissalAllowanceEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"ReviewDismissalAllowance","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReviewDismissedEvent","description":"Represents a 'review_dismissed' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"dismissalMessage","description":"Identifies the optional message associated with the 'review_dismissed' event.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"dismissalMessageHTML","description":"Identifies the optional message associated with the event, rendered to HTML.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"previousReviewState","description":"Identifies the previous state of the review with the 'review_dismissed' event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PullRequestReviewState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequestCommit","description":"Identifies the commit which caused the review to become stale.","args":[],"type":{"kind":"OBJECT","name":"PullRequestCommit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this review dismissed event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"review","description":"Identifies the review associated with the 'review_dismissed' event.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReview","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this review dismissed event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReviewRequest","description":"A request for a user to review a pull request.","fields":[{"name":"asCodeOwner","description":"Whether this request was created for a code owner","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"Identifies the pull request associated with this review request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"requestedReviewer","description":"The reviewer that is requested.","args":[],"type":{"kind":"UNION","name":"RequestedReviewer","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReviewRequestConnection","description":"The connection type for ReviewRequest.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ReviewRequestEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ReviewRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReviewRequestEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"ReviewRequest","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReviewRequestRemovedEvent","description":"Represents an 'review_request_removed' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"requestedReviewer","description":"Identifies the reviewer whose review request was removed.","args":[],"type":{"kind":"UNION","name":"RequestedReviewer","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReviewRequestedEvent","description":"Represents an 'review_requested' event on a given pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"PullRequest referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequest","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"requestedReviewer","description":"Identifies the reviewer whose review was requested.","args":[],"type":{"kind":"UNION","name":"RequestedReviewer","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ReviewStatusHovercardContext","description":"A hovercard context with a message describing the current code review state of the pull\nrequest.\n","fields":[{"name":"message","description":"A string describing this context","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"octicon","description":"An octicon to accompany this context","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"reviewDecision","description":"The current status of the pull request with respect to code review.","args":[],"type":{"kind":"ENUM","name":"PullRequestReviewDecision","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"HovercardContext","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"SamlDigestAlgorithm","description":"The possible digest algorithms used to sign SAML requests for an identity provider.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"SHA1","description":"SHA1","isDeprecated":false,"deprecationReason":null},{"name":"SHA256","description":"SHA256","isDeprecated":false,"deprecationReason":null},{"name":"SHA384","description":"SHA384","isDeprecated":false,"deprecationReason":null},{"name":"SHA512","description":"SHA512","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"SamlSignatureAlgorithm","description":"The possible signature algorithms used to sign SAML requests for a Identity Provider.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"RSA_SHA1","description":"RSA-SHA1","isDeprecated":false,"deprecationReason":null},{"name":"RSA_SHA256","description":"RSA-SHA256","isDeprecated":false,"deprecationReason":null},{"name":"RSA_SHA384","description":"RSA-SHA384","isDeprecated":false,"deprecationReason":null},{"name":"RSA_SHA512","description":"RSA-SHA512","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"SavedReply","description":"A Saved Reply is text a user can use to reply quickly.","fields":[{"name":"body","description":"The body of the saved reply.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyHTML","description":"The saved reply body rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"title","description":"The title of the saved reply.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user that saved this reply.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SavedReplyConnection","description":"The connection type for SavedReply.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"SavedReplyEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"SavedReply","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SavedReplyEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"SavedReply","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SavedReplyOrder","description":"Ordering options for saved reply connections.","fields":null,"inputFields":[{"name":"field","description":"The field to order saved replies by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SavedReplyOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"SavedReplyOrderField","description":"Properties by which saved reply connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"UPDATED_AT","description":"Order saved reply by when they were updated.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"UNION","name":"SearchResultItem","description":"The results of a search.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"App","ofType":null},{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"MarketplaceListing","ofType":null},{"kind":"OBJECT","name":"Organization","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null},{"kind":"OBJECT","name":"Repository","ofType":null},{"kind":"OBJECT","name":"User","ofType":null}]},{"kind":"OBJECT","name":"SearchResultItemConnection","description":"A list of results that matched against a search query.","fields":[{"name":"codeCount","description":"The number of pieces of code that matched the search query.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"SearchResultItemEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issueCount","description":"The number of issues that matched the search query.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"UNION","name":"SearchResultItem","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryCount","description":"The number of repositories that matched the search query.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"userCount","description":"The number of users that matched the search query.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"wikiCount","description":"The number of wiki pages that matched the search query.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SearchResultItemEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"UNION","name":"SearchResultItem","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"textMatches","description":"Text matches on the result found.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"TextMatch","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"SearchType","description":"Represents the individual results of a search.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ISSUE","description":"Returns results matching issues in repositories.","isDeprecated":false,"deprecationReason":null},{"name":"REPOSITORY","description":"Returns results matching repositories.","isDeprecated":false,"deprecationReason":null},{"name":"USER","description":"Returns results matching users and organizations on GitHub.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"SecurityAdvisory","description":"A GitHub Security Advisory","fields":[{"name":"cvss","description":"The CVSS associated with this advisory","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CVSS","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"cwes","description":"CWEs associated with this Advisory","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CWEConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":"This is a long plaintext description of the advisory","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"ghsaId","description":"The GitHub Security Advisory ID","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"identifiers","description":"A list of identifiers for this advisory","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SecurityAdvisoryIdentifier","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"notificationsPermalink","description":"The permalink for the advisory's dependabot alerts page","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"origin","description":"The organization that originated the advisory","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"permalink","description":"The permalink for the advisory","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"publishedAt","description":"When the advisory was published","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"references","description":"A list of references for this advisory","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SecurityAdvisoryReference","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"severity","description":"The severity of the advisory","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SecurityAdvisorySeverity","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"summary","description":"A short plaintext summary of the advisory","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"When the advisory was last updated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"vulnerabilities","description":"Vulnerabilities associated with this Advisory","args":[{"name":"orderBy","description":"Ordering options for the returned topics.","type":{"kind":"INPUT_OBJECT","name":"SecurityVulnerabilityOrder","ofType":null},"defaultValue":"{field: UPDATED_AT, direction: DESC}"},{"name":"ecosystem","description":"An ecosystem to filter vulnerabilities by.","type":{"kind":"ENUM","name":"SecurityAdvisoryEcosystem","ofType":null},"defaultValue":null},{"name":"package","description":"A package name to filter vulnerabilities by.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"severities","description":"A list of severities to filter vulnerabilities by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SecurityAdvisorySeverity","ofType":null}}},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SecurityVulnerabilityConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"withdrawnAt","description":"When the advisory was withdrawn, if it has been withdrawn","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SecurityAdvisoryConnection","description":"The connection type for SecurityAdvisory.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"SecurityAdvisoryEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"SecurityAdvisory","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"SecurityAdvisoryEcosystem","description":"The possible ecosystems of a security vulnerability's package.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"RUBYGEMS","description":"Ruby gems hosted at RubyGems.org","isDeprecated":false,"deprecationReason":null},{"name":"NPM","description":"JavaScript packages hosted at npmjs.com","isDeprecated":false,"deprecationReason":null},{"name":"PIP","description":"Python packages hosted at PyPI.org","isDeprecated":false,"deprecationReason":null},{"name":"MAVEN","description":"Java artifacts hosted at the Maven central repository","isDeprecated":false,"deprecationReason":null},{"name":"NUGET","description":".NET packages hosted at the NuGet Gallery","isDeprecated":false,"deprecationReason":null},{"name":"COMPOSER","description":"PHP packages hosted at packagist.org","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"SecurityAdvisoryEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"SecurityAdvisory","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SecurityAdvisoryIdentifier","description":"A GitHub Security Advisory Identifier","fields":[{"name":"type","description":"The identifier type, e.g. GHSA, CVE","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"value","description":"The identifier","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SecurityAdvisoryIdentifierFilter","description":"An advisory identifier to filter results on.","fields":null,"inputFields":[{"name":"type","description":"The identifier type.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SecurityAdvisoryIdentifierType","ofType":null}},"defaultValue":null},{"name":"value","description":"The identifier string. Supports exact or partial matching.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"SecurityAdvisoryIdentifierType","description":"Identifier formats available for advisories.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CVE","description":"Common Vulnerabilities and Exposures Identifier.","isDeprecated":false,"deprecationReason":null},{"name":"GHSA","description":"GitHub Security Advisory ID.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SecurityAdvisoryOrder","description":"Ordering options for security advisory connections","fields":null,"inputFields":[{"name":"field","description":"The field to order security advisories by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SecurityAdvisoryOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"SecurityAdvisoryOrderField","description":"Properties by which security advisory connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"PUBLISHED_AT","description":"Order advisories by publication time","isDeprecated":false,"deprecationReason":null},{"name":"UPDATED_AT","description":"Order advisories by update time","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"SecurityAdvisoryPackage","description":"An individual package","fields":[{"name":"ecosystem","description":"The ecosystem the package belongs to, e.g. RUBYGEMS, NPM","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SecurityAdvisoryEcosystem","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The package name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SecurityAdvisoryPackageVersion","description":"An individual package version","fields":[{"name":"identifier","description":"The package name or version","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SecurityAdvisoryReference","description":"A GitHub Security Advisory Reference","fields":[{"name":"url","description":"A publicly accessible reference","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"SecurityAdvisorySeverity","description":"Severity of the vulnerability.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"LOW","description":"Low.","isDeprecated":false,"deprecationReason":null},{"name":"MODERATE","description":"Moderate.","isDeprecated":false,"deprecationReason":null},{"name":"HIGH","description":"High.","isDeprecated":false,"deprecationReason":null},{"name":"CRITICAL","description":"Critical.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"SecurityVulnerability","description":"An individual vulnerability within an Advisory","fields":[{"name":"advisory","description":"The Advisory associated with this Vulnerability","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SecurityAdvisory","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"firstPatchedVersion","description":"The first version containing a fix for the vulnerability","args":[],"type":{"kind":"OBJECT","name":"SecurityAdvisoryPackageVersion","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"package","description":"A description of the vulnerable package","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SecurityAdvisoryPackage","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"severity","description":"The severity of the vulnerability within this package","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SecurityAdvisorySeverity","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"When the vulnerability was last updated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"vulnerableVersionRange","description":"A string that describes the vulnerable package versions.\nThis string follows a basic syntax with a few forms.\n+ `= 0.2.0` denotes a single vulnerable version.\n+ `<= 1.0.8` denotes a version range up to and including the specified version\n+ `< 0.1.11` denotes a version range up to, but excluding, the specified version\n+ `>= 4.3.0, < 4.3.5` denotes a version range with a known minimum and maximum version.\n+ `>= 0.0.1` denotes a version range with a known minimum, but no known maximum\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SecurityVulnerabilityConnection","description":"The connection type for SecurityVulnerability.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"SecurityVulnerabilityEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"SecurityVulnerability","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SecurityVulnerabilityEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"SecurityVulnerability","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SecurityVulnerabilityOrder","description":"Ordering options for security vulnerability connections","fields":null,"inputFields":[{"name":"field","description":"The field to order security vulnerabilities by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SecurityVulnerabilityOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"SecurityVulnerabilityOrderField","description":"Properties by which security vulnerability connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"UPDATED_AT","description":"Order vulnerability by update time","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SetEnterpriseIdentityProviderInput","description":"Autogenerated input type of SetEnterpriseIdentityProvider","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise on which to set an identity provider.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"ssoUrl","description":"The URL endpoint for the identity provider's SAML SSO.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"defaultValue":null},{"name":"issuer","description":"The Issuer Entity ID for the SAML identity provider","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"idpCertificate","description":"The x509 certificate used by the identity provider to sign assertions and responses.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"signatureMethod","description":"The signature algorithm used to sign SAML requests for the identity provider.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SamlSignatureAlgorithm","ofType":null}},"defaultValue":null},{"name":"digestMethod","description":"The digest algorithm used to sign SAML requests for the identity provider.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SamlDigestAlgorithm","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SetEnterpriseIdentityProviderPayload","description":"Autogenerated return type of SetEnterpriseIdentityProvider","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"identityProvider","description":"The identity provider for the enterprise.","args":[],"type":{"kind":"OBJECT","name":"EnterpriseIdentityProvider","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SetOrganizationInteractionLimitInput","description":"Autogenerated input type of SetOrganizationInteractionLimit","fields":null,"inputFields":[{"name":"organizationId","description":"The ID of the organization to set a limit for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"limit","description":"The limit to set.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"RepositoryInteractionLimit","ofType":null}},"defaultValue":null},{"name":"expiry","description":"When this limit should expire.","type":{"kind":"ENUM","name":"RepositoryInteractionLimitExpiry","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SetOrganizationInteractionLimitPayload","description":"Autogenerated return type of SetOrganizationInteractionLimit","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The organization that the interaction limit was set for.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SetRepositoryInteractionLimitInput","description":"Autogenerated input type of SetRepositoryInteractionLimit","fields":null,"inputFields":[{"name":"repositoryId","description":"The ID of the repository to set a limit for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"limit","description":"The limit to set.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"RepositoryInteractionLimit","ofType":null}},"defaultValue":null},{"name":"expiry","description":"When this limit should expire.","type":{"kind":"ENUM","name":"RepositoryInteractionLimitExpiry","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SetRepositoryInteractionLimitPayload","description":"Autogenerated return type of SetRepositoryInteractionLimit","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository that the interaction limit was set for.","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SetUserInteractionLimitInput","description":"Autogenerated input type of SetUserInteractionLimit","fields":null,"inputFields":[{"name":"userId","description":"The ID of the user to set a limit for.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"limit","description":"The limit to set.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"RepositoryInteractionLimit","ofType":null}},"defaultValue":null},{"name":"expiry","description":"When this limit should expire.","type":{"kind":"ENUM","name":"RepositoryInteractionLimitExpiry","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SetUserInteractionLimitPayload","description":"Autogenerated return type of SetUserInteractionLimit","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user that the interaction limit was set for.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SmimeSignature","description":"Represents an S/MIME signature on a Commit or Tag.","fields":[{"name":"email","description":"Email used to sign this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isValid","description":"True if the signature is valid and verified by GitHub.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"payload","description":"Payload for GPG signing object. Raw ODB object without the signature header.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"signature","description":"ASCII-armored signature header from object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"signer","description":"GitHub user corresponding to the email signing this commit.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":"The state of this signature. `VALID` if signature is valid and verified by GitHub, otherwise represents reason why signature is considered invalid.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"GitSignatureState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"wasSignedByGitHub","description":"True if the signature was made with GitHub's signing key.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"GitSignature","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"Sponsor","description":"Entities that can sponsor others via GitHub Sponsors","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Organization","ofType":null},{"kind":"OBJECT","name":"User","ofType":null}]},{"kind":"INTERFACE","name":"Sponsorable","description":"Entities that can be sponsored through GitHub Sponsors","fields":[{"name":"hasSponsorsListing","description":"True if this user/organization has a GitHub Sponsors listing.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isSponsoredBy","description":"Check if the given account is sponsoring this user/organization.","args":[{"name":"accountLogin","description":"The target account's login.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isSponsoringViewer","description":"True if the viewer is sponsored by this user/organization.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"sponsorsListing","description":"The GitHub Sponsors listing for this user or organization.","args":[],"type":{"kind":"OBJECT","name":"SponsorsListing","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"sponsorshipForViewerAsSponsor","description":"The viewer's sponsorship of this entity.","args":[],"type":{"kind":"OBJECT","name":"Sponsorship","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"sponsorshipsAsMaintainer","description":"This object's sponsorships as the maintainer.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"includePrivate","description":"Whether or not to include private sponsorships in the result set","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"orderBy","description":"Ordering options for sponsorships returned from this connection. If left blank, the sponsorships will be ordered based on relevancy to the viewer.","type":{"kind":"INPUT_OBJECT","name":"SponsorshipOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SponsorshipConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"sponsorshipsAsSponsor","description":"This object's sponsorships as the sponsor.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for sponsorships returned from this connection. If left blank, the sponsorships will be ordered based on relevancy to the viewer.","type":{"kind":"INPUT_OBJECT","name":"SponsorshipOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SponsorshipConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanSponsor","description":"Whether or not the viewer is able to sponsor this user/organization.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerIsSponsoring","description":"True if the viewer is sponsoring this user/organization.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Organization","ofType":null},{"kind":"OBJECT","name":"User","ofType":null}]},{"kind":"UNION","name":"SponsorableItem","description":"Entities that can be sponsored via GitHub Sponsors","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Organization","ofType":null},{"kind":"OBJECT","name":"User","ofType":null}]},{"kind":"OBJECT","name":"SponsorableItemConnection","description":"The connection type for SponsorableItem.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"SponsorableItemEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"UNION","name":"SponsorableItem","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SponsorableItemEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"UNION","name":"SponsorableItem","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SponsorableOrder","description":"Ordering options for connections to get sponsorable entities for GitHub Sponsors.","fields":null,"inputFields":[{"name":"field","description":"The field to order sponsorable entities by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SponsorableOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"SponsorableOrderField","description":"Properties by which sponsorable connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"LOGIN","description":"Order sponsorable entities by login (username).","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"SponsorsGoal","description":"A goal associated with a GitHub Sponsors listing, representing a target the sponsored maintainer would like to attain.","fields":[{"name":"description","description":"A description of the goal from the maintainer.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"kind","description":"What the objective of this goal is.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SponsorsGoalKind","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"percentComplete","description":"The percentage representing how complete this goal is, between 0-100.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"targetValue","description":"What the goal amount is. Represents a dollar amount for monthly sponsorship amount goals. Represents a count of unique sponsors for total sponsors count goals.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"title","description":"A brief summary of the kind and target value of this goal.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"SponsorsGoalKind","description":"The different kinds of goals a GitHub Sponsors member can have.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"TOTAL_SPONSORS_COUNT","description":"The goal is about reaching a certain number of sponsors.","isDeprecated":false,"deprecationReason":null},{"name":"MONTHLY_SPONSORSHIP_AMOUNT","description":"The goal is about getting a certain dollar amount from sponsorships each month.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"SponsorsListing","description":"A GitHub Sponsors listing.","fields":[{"name":"activeGoal","description":"The current goal the maintainer is trying to reach with GitHub Sponsors, if any.","args":[],"type":{"kind":"OBJECT","name":"SponsorsGoal","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fullDescription","description":"The full description of the listing.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fullDescriptionHTML","description":"The full description of the listing rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The listing's full name.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shortDescription","description":"The short description of the listing.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":"The short name of the listing.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"tiers","description":"The published tiers for this GitHub Sponsors listing.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for Sponsors tiers returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"SponsorsTierOrder","ofType":null},"defaultValue":"{field: MONTHLY_PRICE_IN_CENTS, direction: ASC}"}],"type":{"kind":"OBJECT","name":"SponsorsTierConnection","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SponsorsTier","description":"A GitHub Sponsors tier associated with a GitHub Sponsors listing.","fields":[{"name":"adminInfo","description":"SponsorsTier information only visible to users that can administer the associated Sponsors listing.","args":[],"type":{"kind":"OBJECT","name":"SponsorsTierAdminInfo","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":"The description of the tier.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"descriptionHTML","description":"The tier description rendered to HTML","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"monthlyPriceInCents","description":"How much this tier costs per month in cents.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"monthlyPriceInDollars","description":"How much this tier costs per month in dollars.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The name of the tier.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"sponsorsListing","description":"The sponsors listing that this tier belongs to.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SponsorsListing","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SponsorsTierAdminInfo","description":"SponsorsTier information only visible to users that can administer the associated Sponsors listing.","fields":[{"name":"sponsorships","description":"The sponsorships associated with this tier.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"includePrivate","description":"Whether or not to include private sponsorships in the result set","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"orderBy","description":"Ordering options for sponsorships returned from this connection. If left blank, the sponsorships will be ordered based on relevancy to the viewer.","type":{"kind":"INPUT_OBJECT","name":"SponsorshipOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SponsorshipConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SponsorsTierConnection","description":"The connection type for SponsorsTier.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"SponsorsTierEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"SponsorsTier","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SponsorsTierEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"SponsorsTier","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SponsorsTierOrder","description":"Ordering options for Sponsors tiers connections.","fields":null,"inputFields":[{"name":"field","description":"The field to order tiers by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SponsorsTierOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"SponsorsTierOrderField","description":"Properties by which Sponsors tiers connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order tiers by creation time.","isDeprecated":false,"deprecationReason":null},{"name":"MONTHLY_PRICE_IN_CENTS","description":"Order tiers by their monthly price in cents","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Sponsorship","description":"A sponsorship relationship between a sponsor and a maintainer","fields":[{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"maintainer","description":"The entity that is being sponsored","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":true,"deprecationReason":"`Sponsorship.maintainer` will be removed. Use `Sponsorship.sponsorable` instead. Removal on 2020-04-01 UTC."},{"name":"privacyLevel","description":"The privacy level for this sponsorship.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SponsorshipPrivacy","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"sponsor","description":"The user that is sponsoring. Returns null if the sponsorship is private or if sponsor is not a user.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":true,"deprecationReason":"`Sponsorship.sponsor` will be removed. Use `Sponsorship.sponsorEntity` instead. Removal on 2020-10-01 UTC."},{"name":"sponsorEntity","description":"The user or organization that is sponsoring, if you have permission to view them.","args":[],"type":{"kind":"UNION","name":"Sponsor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"sponsorable","description":"The entity that is being sponsored","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Sponsorable","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"tier","description":"The associated sponsorship tier","args":[],"type":{"kind":"OBJECT","name":"SponsorsTier","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SponsorshipConnection","description":"The connection type for Sponsorship.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"SponsorshipEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Sponsorship","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SponsorshipEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"Sponsorship","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SponsorshipOrder","description":"Ordering options for sponsorship connections.","fields":null,"inputFields":[{"name":"field","description":"The field to order sponsorship by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SponsorshipOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"SponsorshipOrderField","description":"Properties by which sponsorship connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order sponsorship by creation time.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"SponsorshipPrivacy","description":"The privacy of a sponsorship","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"PUBLIC","description":"Public","isDeprecated":false,"deprecationReason":null},{"name":"PRIVATE","description":"Private","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"StarOrder","description":"Ways in which star connections can be ordered.","fields":null,"inputFields":[{"name":"field","description":"The field in which to order nodes by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StarOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The direction in which to order nodes.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"StarOrderField","description":"Properties by which star connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"STARRED_AT","description":"Allows ordering a list of stars by when they were created.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"StargazerConnection","description":"The connection type for User.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"StargazerEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"StargazerEdge","description":"Represents a user that's starred a repository.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"starredAt","description":"Identifies when the item was starred.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"Starrable","description":"Things that can be starred.","fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"stargazerCount","description":"Returns a count of how many stargazers there are on this object\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"stargazers","description":"A list of users who have starred this starrable.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Order for connection","type":{"kind":"INPUT_OBJECT","name":"StarOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"StargazerConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerHasStarred","description":"Returns a boolean indicating whether the viewing user has starred this starrable.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Gist","ofType":null},{"kind":"OBJECT","name":"Repository","ofType":null},{"kind":"OBJECT","name":"Topic","ofType":null}]},{"kind":"OBJECT","name":"StarredRepositoryConnection","description":"The connection type for Repository.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"StarredRepositoryEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isOverLimit","description":"Is the list of stars for this user truncated? This is true for users that have many stars.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"StarredRepositoryEdge","description":"Represents a starred repository.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"starredAt","description":"Identifies when the item was starred.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Status","description":"Represents a commit status.","fields":[{"name":"combinedContexts","description":"A list of status contexts and check runs for this commit.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"StatusCheckRollupContextConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commit","description":"The commit this status is attached to.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"context","description":"Looks up an individual status context by context name.","args":[{"name":"name","description":"The context name.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"StatusContext","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"contexts","description":"The individual status contexts for this commit.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"StatusContext","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":"The combined commit status.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StatusState","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"StatusCheckRollup","description":"Represents the rollup for both the check runs and status for a commit.","fields":[{"name":"commit","description":"The commit the status and check runs are attached to.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"contexts","description":"A list of status contexts and check runs for this commit.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"StatusCheckRollupContextConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":"The combined status for the commit.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StatusState","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"StatusCheckRollupContext","description":"Types that can be inside a StatusCheckRollup context.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CheckRun","ofType":null},{"kind":"OBJECT","name":"StatusContext","ofType":null}]},{"kind":"OBJECT","name":"StatusCheckRollupContextConnection","description":"The connection type for StatusCheckRollupContext.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"StatusCheckRollupContextEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"UNION","name":"StatusCheckRollupContext","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"StatusCheckRollupContextEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"UNION","name":"StatusCheckRollupContext","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"StatusContext","description":"Represents an individual commit status context","fields":[{"name":"avatarUrl","description":"The avatar of the OAuth application or the user that created the status","args":[{"name":"size","description":"The size of the resulting square image.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":"40"}],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"commit","description":"This commit this status context is attached to.","args":[],"type":{"kind":"OBJECT","name":"Commit","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"context","description":"The name of this status context.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"creator","description":"The actor who created this status context.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":"The description for this status context.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isRequired","description":"Whether this is required to pass before merging for a specific pull request.","args":[{"name":"pullRequestId","description":"The id of the pull request this is required for","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"pullRequestNumber","description":"The number of the pull request this is required for","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":"The state of this status context.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StatusState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"targetUrl","description":"The URL for this status context.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"RequirableByPullRequest","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"StatusState","description":"The possible commit status states.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"EXPECTED","description":"Status is expected.","isDeprecated":false,"deprecationReason":null},{"name":"ERROR","description":"Status is errored.","isDeprecated":false,"deprecationReason":null},{"name":"FAILURE","description":"Status is failing.","isDeprecated":false,"deprecationReason":null},{"name":"PENDING","description":"Status is pending.","isDeprecated":false,"deprecationReason":null},{"name":"SUCCESS","description":"Status is successful.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"SCALAR","name":"String","description":"Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SubmitPullRequestReviewInput","description":"Autogenerated input type of SubmitPullRequestReview","fields":null,"inputFields":[{"name":"pullRequestId","description":"The Pull Request ID to submit any pending reviews.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"pullRequestReviewId","description":"The Pull Request Review ID to submit.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"event","description":"The event to send to the Pull Request Review.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PullRequestReviewEvent","ofType":null}},"defaultValue":null},{"name":"body","description":"The text field to set on the Pull Request Review.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SubmitPullRequestReviewPayload","description":"Autogenerated return type of SubmitPullRequestReview","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequestReview","description":"The submitted pull request review.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReview","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Submodule","description":"A pointer to a repository at a specific revision embedded inside another repository.","fields":[{"name":"branch","description":"The branch of the upstream submodule for tracking updates","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"gitUrl","description":"The git URL of the submodule repository","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The name of the submodule in .gitmodules","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"path","description":"The path in the superproject that this submodule is located in","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"subprojectCommitOid","description":"The commit revision of the subproject repository being tracked by the submodule","args":[],"type":{"kind":"SCALAR","name":"GitObjectID","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SubmoduleConnection","description":"The connection type for Submodule.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"SubmoduleEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Submodule","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SubmoduleEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"Submodule","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"Subscribable","description":"Entities that can be subscribed to for web and email notifications.","fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanSubscribe","description":"Check if the viewer is able to change their subscription status for the repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerSubscription","description":"Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.","args":[],"type":{"kind":"ENUM","name":"SubscriptionState","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Commit","ofType":null},{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null},{"kind":"OBJECT","name":"Repository","ofType":null},{"kind":"OBJECT","name":"Team","ofType":null},{"kind":"OBJECT","name":"TeamDiscussion","ofType":null}]},{"kind":"OBJECT","name":"SubscribedEvent","description":"Represents a 'subscribed' event on a given `Subscribable`.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"subscribable","description":"Object referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Subscribable","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"SubscriptionState","description":"The possible states of a subscription.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"UNSUBSCRIBED","description":"The User is only notified when participating or @mentioned.","isDeprecated":false,"deprecationReason":null},{"name":"SUBSCRIBED","description":"The User is notified of all conversations.","isDeprecated":false,"deprecationReason":null},{"name":"IGNORED","description":"The User is never notified.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"SuggestedReviewer","description":"A suggestion to review a pull request based on a user's commit history and review comments.","fields":[{"name":"isAuthor","description":"Is this suggestion based on past commits?","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isCommenter","description":"Is this suggestion based on past review comments?","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"reviewer","description":"Identifies the user suggested to review the pull request.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Tag","description":"Represents a Git tag.","fields":[{"name":"abbreviatedOid","description":"An abbreviated version of the Git object ID","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commitResourcePath","description":"The HTTP path for this Git object","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commitUrl","description":"The HTTP URL for this Git object","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"The Git tag message.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The Git tag name.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"oid","description":"The Git object ID","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"GitObjectID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The Repository the Git object belongs to","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"tagger","description":"Details about the tag author.","args":[],"type":{"kind":"OBJECT","name":"GitActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"target","description":"The Git object the tag points to.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"GitObject","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"GitObject","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Team","description":"A team of users in an organization.","fields":[{"name":"ancestors","description":"A list of teams that are ancestors of this team.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TeamConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"avatarUrl","description":"A URL pointing to the team's avatar.","args":[{"name":"size","description":"The size in pixels of the resulting square image.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":"400"}],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"childTeams","description":"List of child teams belonging to this team","args":[{"name":"orderBy","description":"Order for connection","type":{"kind":"INPUT_OBJECT","name":"TeamOrder","ofType":null},"defaultValue":null},{"name":"userLogins","description":"User logins to filter by","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"immediateOnly","description":"Whether to list immediate child teams or all descendant child teams.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"true"},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TeamConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"combinedSlug","description":"The slug corresponding to the organization and team.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":"The description of the team.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"discussion","description":"Find a team discussion by its number.","args":[{"name":"number","description":"The sequence number of the discussion to find.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"TeamDiscussion","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"discussions","description":"A list of team discussions.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"isPinned","description":"If provided, filters discussions according to whether or not they are pinned.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Order for connection","type":{"kind":"INPUT_OBJECT","name":"TeamDiscussionOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TeamDiscussionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"discussionsResourcePath","description":"The HTTP path for team discussions","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"discussionsUrl","description":"The HTTP URL for team discussions","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"editTeamResourcePath","description":"The HTTP path for editing this team","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"editTeamUrl","description":"The HTTP URL for editing this team","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"invitations","description":"A list of pending invitations for users to this team","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"OrganizationInvitationConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"memberStatuses","description":"Get the status messages members of this entity have set that are either public or visible only to the organization.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for user statuses returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"UserStatusOrder","ofType":null},"defaultValue":"{field: UPDATED_AT, direction: DESC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"UserStatusConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"members","description":"A list of users who are members of this team.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"query","description":"The search string to look for.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"membership","description":"Filter by membership type","type":{"kind":"ENUM","name":"TeamMembershipType","ofType":null},"defaultValue":"ALL"},{"name":"role","description":"Filter by team member role","type":{"kind":"ENUM","name":"TeamMemberRole","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Order for the connection.","type":{"kind":"INPUT_OBJECT","name":"TeamMemberOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TeamMemberConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membersResourcePath","description":"The HTTP path for the team' members","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"membersUrl","description":"The HTTP URL for the team' members","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The name of the team.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"newTeamResourcePath","description":"The HTTP path creating a new team","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"newTeamUrl","description":"The HTTP URL creating a new team","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The organization that owns this team.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Organization","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"parentTeam","description":"The parent team of the team.","args":[],"type":{"kind":"OBJECT","name":"Team","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"privacy","description":"The level of privacy the team has.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"TeamPrivacy","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repositories","description":"A list of repositories this team has access to.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"query","description":"The search string to look for.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Order for the connection.","type":{"kind":"INPUT_OBJECT","name":"TeamRepositoryOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TeamRepositoryConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repositoriesResourcePath","description":"The HTTP path for this team's repositories","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repositoriesUrl","description":"The HTTP URL for this team's repositories","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this team","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":"The slug corresponding to the team.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"teamsResourcePath","description":"The HTTP path for this team's teams","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"teamsUrl","description":"The HTTP URL for this team's teams","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this team","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanAdminister","description":"Team is adminable by the viewer.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanSubscribe","description":"Check if the viewer is able to change their subscription status for the repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerSubscription","description":"Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.","args":[],"type":{"kind":"ENUM","name":"SubscriptionState","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Subscribable","ofType":null},{"kind":"INTERFACE","name":"MemberStatusable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TeamAddMemberAuditEntry","description":"Audit log entry for a team.add_member event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isLdapMapped","description":"Whether the team was mapped to an LDAP Group.","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"team","description":"The team associated with the action","args":[],"type":{"kind":"OBJECT","name":"Team","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamName","description":"The name of the team","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamResourcePath","description":"The HTTP path for this team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamUrl","description":"The HTTP URL for this team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"TeamAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TeamAddRepositoryAuditEntry","description":"Audit log entry for a team.add_repository event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isLdapMapped","description":"Whether the team was mapped to an LDAP Group.","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"team","description":"The team associated with the action","args":[],"type":{"kind":"OBJECT","name":"Team","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamName","description":"The name of the team","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamResourcePath","description":"The HTTP path for this team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamUrl","description":"The HTTP URL for this team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"TeamAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"TeamAuditEntryData","description":"Metadata for an audit entry with action team.*","fields":[{"name":"team","description":"The team associated with the action","args":[],"type":{"kind":"OBJECT","name":"Team","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamName","description":"The name of the team","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamResourcePath","description":"The HTTP path for this team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamUrl","description":"The HTTP URL for this team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"OrgRestoreMemberMembershipTeamAuditEntryData","ofType":null},{"kind":"OBJECT","name":"TeamAddMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamAddRepositoryAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamChangeParentTeamAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamRemoveMemberAuditEntry","ofType":null},{"kind":"OBJECT","name":"TeamRemoveRepositoryAuditEntry","ofType":null}]},{"kind":"OBJECT","name":"TeamChangeParentTeamAuditEntry","description":"Audit log entry for a team.change_parent_team event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isLdapMapped","description":"Whether the team was mapped to an LDAP Group.","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"parentTeam","description":"The new parent team.","args":[],"type":{"kind":"OBJECT","name":"Team","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"parentTeamName","description":"The name of the new parent team","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"parentTeamNameWas","description":"The name of the former parent team","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"parentTeamResourcePath","description":"The HTTP path for the parent team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"parentTeamUrl","description":"The HTTP URL for the parent team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"parentTeamWas","description":"The former parent team.","args":[],"type":{"kind":"OBJECT","name":"Team","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"parentTeamWasResourcePath","description":"The HTTP path for the previous parent team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"parentTeamWasUrl","description":"The HTTP URL for the previous parent team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"team","description":"The team associated with the action","args":[],"type":{"kind":"OBJECT","name":"Team","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamName","description":"The name of the team","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamResourcePath","description":"The HTTP path for this team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamUrl","description":"The HTTP URL for this team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"TeamAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TeamConnection","description":"The connection type for Team.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"TeamEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Team","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TeamDiscussion","description":"A team discussion.","fields":[{"name":"author","description":"The actor who authored the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"authorAssociation","description":"Author's association with the discussion's team.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentAuthorAssociation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"body","description":"The body as Markdown.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyHTML","description":"The body rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyText","description":"The body rendered to text.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyVersion","description":"Identifies the discussion body hash.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"comments","description":"A list of comments on this discussion.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Order for connection","type":{"kind":"INPUT_OBJECT","name":"TeamDiscussionCommentOrder","ofType":null},"defaultValue":null},{"name":"fromComment","description":"When provided, filters the connection such that results begin with the comment with this number.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TeamDiscussionCommentConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commentsResourcePath","description":"The HTTP path for discussion comments","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commentsUrl","description":"The HTTP URL for discussion comments","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdViaEmail","description":"Check if this comment was created via an email reply.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"editor","description":"The actor who edited the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"includesCreatedEdit","description":"Check if this comment was edited and includes an edit with the creation data","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isPinned","description":"Whether or not the discussion is pinned.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isPrivate","description":"Whether or not the discussion is only visible to team members and org admins.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lastEditedAt","description":"The moment the editor made the last edit","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"number","description":"Identifies the discussion within its team.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"publishedAt","description":"Identifies when the comment was published at.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reactionGroups","description":"A list of reactions grouped by content left on the subject.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionGroup","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"reactions","description":"A list of Reactions left on the Issue.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"content","description":"Allows filtering Reactions by emoji.","type":{"kind":"ENUM","name":"ReactionContent","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Allows specifying the order in which reactions are returned.","type":{"kind":"INPUT_OBJECT","name":"ReactionOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this discussion","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"team","description":"The team that defines the context of this discussion.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Team","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"title","description":"The title of the discussion","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this discussion","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"userContentEdits","description":"A list of edits to this content.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UserContentEditConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanDelete","description":"Check if the current viewer can delete this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanPin","description":"Whether or not the current viewer can pin this discussion.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanReact","description":"Can user react to this subject","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanSubscribe","description":"Check if the viewer is able to change their subscription status for the repository.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanUpdate","description":"Check if the current viewer can update this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCannotUpdateReasons","description":"Reasons why the current viewer can not update this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentCannotUpdateReason","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerDidAuthor","description":"Did the viewer author this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerSubscription","description":"Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.","args":[],"type":{"kind":"ENUM","name":"SubscriptionState","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Comment","ofType":null},{"kind":"INTERFACE","name":"Deletable","ofType":null},{"kind":"INTERFACE","name":"Reactable","ofType":null},{"kind":"INTERFACE","name":"Subscribable","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null},{"kind":"INTERFACE","name":"Updatable","ofType":null},{"kind":"INTERFACE","name":"UpdatableComment","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TeamDiscussionComment","description":"A comment on a team discussion.","fields":[{"name":"author","description":"The actor who authored the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"authorAssociation","description":"Author's association with the comment's team.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentAuthorAssociation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"body","description":"The body as Markdown.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyHTML","description":"The body rendered to HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyText","description":"The body rendered to text.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bodyVersion","description":"The current version of the body content.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdViaEmail","description":"Check if this comment was created via an email reply.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"discussion","description":"The discussion this comment is about.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TeamDiscussion","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"editor","description":"The actor who edited the comment.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"includesCreatedEdit","description":"Check if this comment was edited and includes an edit with the creation data","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lastEditedAt","description":"The moment the editor made the last edit","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"number","description":"Identifies the comment number.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"publishedAt","description":"Identifies when the comment was published at.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reactionGroups","description":"A list of reactions grouped by content left on the subject.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionGroup","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"reactions","description":"A list of Reactions left on the Issue.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"content","description":"Allows filtering Reactions by emoji.","type":{"kind":"ENUM","name":"ReactionContent","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Allows specifying the order in which reactions are returned.","type":{"kind":"INPUT_OBJECT","name":"ReactionOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ReactionConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this comment","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this comment","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"userContentEdits","description":"A list of edits to this content.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"UserContentEditConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanDelete","description":"Check if the current viewer can delete this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanReact","description":"Can user react to this subject","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanUpdate","description":"Check if the current viewer can update this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCannotUpdateReasons","description":"Reasons why the current viewer can not update this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentCannotUpdateReason","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerDidAuthor","description":"Did the viewer author this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Comment","ofType":null},{"kind":"INTERFACE","name":"Deletable","ofType":null},{"kind":"INTERFACE","name":"Reactable","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null},{"kind":"INTERFACE","name":"Updatable","ofType":null},{"kind":"INTERFACE","name":"UpdatableComment","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TeamDiscussionCommentConnection","description":"The connection type for TeamDiscussionComment.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"TeamDiscussionCommentEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"TeamDiscussionComment","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TeamDiscussionCommentEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"TeamDiscussionComment","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TeamDiscussionCommentOrder","description":"Ways in which team discussion comment connections can be ordered.","fields":null,"inputFields":[{"name":"field","description":"The field by which to order nodes.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"TeamDiscussionCommentOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The direction in which to order nodes.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"TeamDiscussionCommentOrderField","description":"Properties by which team discussion comment connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"NUMBER","description":"Allows sequential ordering of team discussion comments (which is equivalent to chronological ordering).","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"TeamDiscussionConnection","description":"The connection type for TeamDiscussion.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"TeamDiscussionEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"TeamDiscussion","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TeamDiscussionEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"TeamDiscussion","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TeamDiscussionOrder","description":"Ways in which team discussion connections can be ordered.","fields":null,"inputFields":[{"name":"field","description":"The field by which to order nodes.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"TeamDiscussionOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The direction in which to order nodes.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"TeamDiscussionOrderField","description":"Properties by which team discussion connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Allows chronological ordering of team discussions.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"TeamEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"Team","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TeamMemberConnection","description":"The connection type for User.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"TeamMemberEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TeamMemberEdge","description":"Represents a user who is a member of a team.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"memberAccessResourcePath","description":"The HTTP path to the organization's member access page.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"memberAccessUrl","description":"The HTTP URL to the organization's member access page.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"role","description":"The role the member has on the team.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"TeamMemberRole","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TeamMemberOrder","description":"Ordering options for team member connections","fields":null,"inputFields":[{"name":"field","description":"The field to order team members by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"TeamMemberOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"TeamMemberOrderField","description":"Properties by which team member connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"LOGIN","description":"Order team members by login","isDeprecated":false,"deprecationReason":null},{"name":"CREATED_AT","description":"Order team members by creation time","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"TeamMemberRole","description":"The possible team member roles; either 'maintainer' or 'member'.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"MAINTAINER","description":"A team maintainer has permission to add and remove team members.","isDeprecated":false,"deprecationReason":null},{"name":"MEMBER","description":"A team member has no administrative permissions on the team.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"TeamMembershipType","description":"Defines which types of team members are included in the returned list. Can be one of IMMEDIATE, CHILD_TEAM or ALL.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"IMMEDIATE","description":"Includes only immediate members of the team.","isDeprecated":false,"deprecationReason":null},{"name":"CHILD_TEAM","description":"Includes only child team members for the team.","isDeprecated":false,"deprecationReason":null},{"name":"ALL","description":"Includes immediate and child team members for the team.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TeamOrder","description":"Ways in which team connections can be ordered.","fields":null,"inputFields":[{"name":"field","description":"The field in which to order nodes by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"TeamOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The direction in which to order nodes.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"TeamOrderField","description":"Properties by which team connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"NAME","description":"Allows ordering a list of teams by name.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"TeamPrivacy","description":"The possible team privacy values.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"SECRET","description":"A secret team can only be seen by its members.","isDeprecated":false,"deprecationReason":null},{"name":"VISIBLE","description":"A visible team can be seen and @mentioned by every member of the organization.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"TeamRemoveMemberAuditEntry","description":"Audit log entry for a team.remove_member event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isLdapMapped","description":"Whether the team was mapped to an LDAP Group.","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"team","description":"The team associated with the action","args":[],"type":{"kind":"OBJECT","name":"Team","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamName","description":"The name of the team","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamResourcePath","description":"The HTTP path for this team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamUrl","description":"The HTTP URL for this team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"TeamAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TeamRemoveRepositoryAuditEntry","description":"Audit log entry for a team.remove_repository event.","fields":[{"name":"action","description":"The action name","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"actor","description":"The user who initiated the action","args":[],"type":{"kind":"UNION","name":"AuditEntryActor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorIp","description":"The IP address of the actor","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLocation","description":"A readable representation of the actor's location","args":[],"type":{"kind":"OBJECT","name":"ActorLocation","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorLogin","description":"The username of the user who initiated the action","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorResourcePath","description":"The HTTP path for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"actorUrl","description":"The HTTP URL for the actor.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"The time the action was initiated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"PreciseDateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isLdapMapped","description":"Whether the team was mapped to an LDAP Group.","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"operationType","description":"The corresponding operation type for the action","args":[],"type":{"kind":"ENUM","name":"OperationType","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The Organization associated with the Audit Entry.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationName","description":"The name of the Organization.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationResourcePath","description":"The HTTP path for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationUrl","description":"The HTTP URL for the organization","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository associated with the action","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryName","description":"The name of the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryResourcePath","description":"The HTTP path for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repositoryUrl","description":"The HTTP URL for the repository","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"team","description":"The team associated with the action","args":[],"type":{"kind":"OBJECT","name":"Team","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamName","description":"The name of the team","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamResourcePath","description":"The HTTP path for this team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamUrl","description":"The HTTP URL for this team","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user affected by the action","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userLogin","description":"For actions involving two users, the actor is the initiator and the user is the affected user.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userResourcePath","description":"The HTTP path for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"userUrl","description":"The HTTP URL for the user.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"AuditEntry","ofType":null},{"kind":"INTERFACE","name":"OrganizationAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"RepositoryAuditEntryData","ofType":null},{"kind":"INTERFACE","name":"TeamAuditEntryData","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TeamRepositoryConnection","description":"The connection type for Repository.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"TeamRepositoryEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TeamRepositoryEdge","description":"Represents a team repository.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"permission","description":"The permission level the team has on the repository","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"RepositoryPermission","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TeamRepositoryOrder","description":"Ordering options for team repository connections","fields":null,"inputFields":[{"name":"field","description":"The field to order repositories by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"TeamRepositoryOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"TeamRepositoryOrderField","description":"Properties by which team repository connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CREATED_AT","description":"Order repositories by creation time","isDeprecated":false,"deprecationReason":null},{"name":"UPDATED_AT","description":"Order repositories by update time","isDeprecated":false,"deprecationReason":null},{"name":"PUSHED_AT","description":"Order repositories by push time","isDeprecated":false,"deprecationReason":null},{"name":"NAME","description":"Order repositories by name","isDeprecated":false,"deprecationReason":null},{"name":"PERMISSION","description":"Order repositories by permission","isDeprecated":false,"deprecationReason":null},{"name":"STARGAZERS","description":"Order repositories by number of stargazers","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"ENUM","name":"TeamRole","description":"The role of a user on a team.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ADMIN","description":"User has admin rights on the team.","isDeprecated":false,"deprecationReason":null},{"name":"MEMBER","description":"User is a member of the team.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"TextMatch","description":"A text match within a search result.","fields":[{"name":"fragment","description":"The specific text fragment within the property matched on.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"highlights","description":"Highlights within the matched fragment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TextMatchHighlight","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"property","description":"The property matched on.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TextMatchHighlight","description":"Represents a single highlight in a search result match.","fields":[{"name":"beginIndice","description":"The indice in the fragment where the matched text begins.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"endIndice","description":"The indice in the fragment where the matched text ends.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"text","description":"The text matched.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Topic","description":"A topic aggregates entities that are related to a subject.","fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The topic's name.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"relatedTopics","description":"A list of related topics, including aliases of this topic, sorted with the most relevant\nfirst. Returns up to 10 Topics.\n","args":[{"name":"first","description":"How many topics to return.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":"3"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Topic","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"stargazerCount","description":"Returns a count of how many stargazers there are on this object\n","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"stargazers","description":"A list of users who have starred this starrable.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Order for connection","type":{"kind":"INPUT_OBJECT","name":"StarOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"StargazerConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerHasStarred","description":"Returns a boolean indicating whether the viewing user has starred this starrable.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Starrable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"TopicAuditEntryData","description":"Metadata for an audit entry with a topic.","fields":[{"name":"topic","description":"The name of the topic added to the repository","args":[],"type":{"kind":"OBJECT","name":"Topic","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"topicName","description":"The name of the topic added to the repository","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"RepoAddTopicAuditEntry","ofType":null},{"kind":"OBJECT","name":"RepoRemoveTopicAuditEntry","ofType":null}]},{"kind":"ENUM","name":"TopicSuggestionDeclineReason","description":"Reason that the suggested topic is declined.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"NOT_RELEVANT","description":"The suggested topic is not relevant to the repository.","isDeprecated":false,"deprecationReason":null},{"name":"TOO_SPECIFIC","description":"The suggested topic is too specific for the repository (e.g. #ruby-on-rails-version-4-2-1).","isDeprecated":false,"deprecationReason":null},{"name":"PERSONAL_PREFERENCE","description":"The viewer does not like the suggested topic.","isDeprecated":false,"deprecationReason":null},{"name":"TOO_GENERAL","description":"The suggested topic is too general for the repository.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TransferIssueInput","description":"Autogenerated input type of TransferIssue","fields":null,"inputFields":[{"name":"issueId","description":"The Node ID of the issue to be transferred","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"repositoryId","description":"The Node ID of the repository the issue should be transferred to","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TransferIssuePayload","description":"Autogenerated return type of TransferIssue","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"issue","description":"The issue that was transferred","args":[],"type":{"kind":"OBJECT","name":"Issue","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TransferredEvent","description":"Represents a 'transferred' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fromRepository","description":"The repository this came from","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issue","description":"Identifies the issue associated with the event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Issue","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Tree","description":"Represents a Git tree.","fields":[{"name":"abbreviatedOid","description":"An abbreviated version of the Git object ID","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commitResourcePath","description":"The HTTP path for this Git object","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commitUrl","description":"The HTTP URL for this Git object","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"entries","description":"A list of tree entries.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TreeEntry","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"oid","description":"The Git object ID","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"GitObjectID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The Repository the Git object belongs to","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"GitObject","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TreeEntry","description":"Represents a Git tree entry.","fields":[{"name":"extension","description":"The extension of the file","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"isGenerated","description":"Whether or not this tree entry is generated","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"mode","description":"Entry file mode.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"Entry file name.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"object","description":"Entry file object.","args":[],"type":{"kind":"INTERFACE","name":"GitObject","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"oid","description":"Entry file Git object ID.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"GitObjectID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"path","description":"The full path of the file.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The Repository the tree entry belongs to","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Repository","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"submodule","description":"If the TreeEntry is for a directory occupied by a submodule project, this returns the corresponding submodule","args":[],"type":{"kind":"OBJECT","name":"Submodule","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":"Entry file type.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"URI","description":"An RFC 3986, RFC 3987, and RFC 6570 (level 4) compliant URI string.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UnarchiveRepositoryInput","description":"Autogenerated input type of UnarchiveRepository","fields":null,"inputFields":[{"name":"repositoryId","description":"The ID of the repository to unarchive.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UnarchiveRepositoryPayload","description":"Autogenerated return type of UnarchiveRepository","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The repository that was unarchived.","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UnassignedEvent","description":"Represents an 'unassigned' event on any assignable object.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"assignable","description":"Identifies the assignable associated with the event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Assignable","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"assignee","description":"Identifies the user or mannequin that was unassigned.","args":[],"type":{"kind":"UNION","name":"Assignee","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"Identifies the subject (user) who was unassigned.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":true,"deprecationReason":"Assignees can now be mannequins. Use the `assignee` field instead. Removal on 2020-01-01 UTC."}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UnfollowUserInput","description":"Autogenerated input type of UnfollowUser","fields":null,"inputFields":[{"name":"userId","description":"ID of the user to unfollow.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UnfollowUserPayload","description":"Autogenerated return type of UnfollowUser","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user that was unfollowed.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","description":"Represents a type that can be retrieved by a URL.","fields":[{"name":"resourcePath","description":"The HTML path to this resource.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The URL to this resource.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Bot","ofType":null},{"kind":"OBJECT","name":"CheckRun","ofType":null},{"kind":"OBJECT","name":"ClosedEvent","ofType":null},{"kind":"OBJECT","name":"Commit","ofType":null},{"kind":"OBJECT","name":"ConvertToDraftEvent","ofType":null},{"kind":"OBJECT","name":"CrossReferencedEvent","ofType":null},{"kind":"OBJECT","name":"Gist","ofType":null},{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"Mannequin","ofType":null},{"kind":"OBJECT","name":"MergedEvent","ofType":null},{"kind":"OBJECT","name":"Milestone","ofType":null},{"kind":"OBJECT","name":"Organization","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null},{"kind":"OBJECT","name":"PullRequestCommit","ofType":null},{"kind":"OBJECT","name":"ReadyForReviewEvent","ofType":null},{"kind":"OBJECT","name":"Release","ofType":null},{"kind":"OBJECT","name":"Repository","ofType":null},{"kind":"OBJECT","name":"RepositoryTopic","ofType":null},{"kind":"OBJECT","name":"ReviewDismissedEvent","ofType":null},{"kind":"OBJECT","name":"TeamDiscussion","ofType":null},{"kind":"OBJECT","name":"TeamDiscussionComment","ofType":null},{"kind":"OBJECT","name":"User","ofType":null}]},{"kind":"OBJECT","name":"UnknownSignature","description":"Represents an unknown signature on a Commit or Tag.","fields":[{"name":"email","description":"Email used to sign this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isValid","description":"True if the signature is valid and verified by GitHub.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"payload","description":"Payload for GPG signing object. Raw ODB object without the signature header.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"signature","description":"ASCII-armored signature header from object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"signer","description":"GitHub user corresponding to the email signing this commit.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":"The state of this signature. `VALID` if signature is valid and verified by GitHub, otherwise represents reason why signature is considered invalid.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"GitSignatureState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"wasSignedByGitHub","description":"True if the signature was made with GitHub's signing key.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"GitSignature","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UnlabeledEvent","description":"Represents an 'unlabeled' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":"Identifies the label associated with the 'unlabeled' event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Label","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"labelable","description":"Identifies the `Labelable` associated with the event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Labelable","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UnlinkRepositoryFromProjectInput","description":"Autogenerated input type of UnlinkRepositoryFromProject","fields":null,"inputFields":[{"name":"projectId","description":"The ID of the Project linked to the Repository.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"repositoryId","description":"The ID of the Repository linked to the Project.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UnlinkRepositoryFromProjectPayload","description":"Autogenerated return type of UnlinkRepositoryFromProject","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"project","description":"The linked Project.","args":[],"type":{"kind":"OBJECT","name":"Project","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The linked Repository.","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UnlockLockableInput","description":"Autogenerated input type of UnlockLockable","fields":null,"inputFields":[{"name":"lockableId","description":"ID of the item to be unlocked.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UnlockLockablePayload","description":"Autogenerated return type of UnlockLockable","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"unlockedRecord","description":"The item that was unlocked.","args":[],"type":{"kind":"INTERFACE","name":"Lockable","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UnlockedEvent","description":"Represents an 'unlocked' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lockable","description":"Object that was unlocked.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Lockable","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UnmarkFileAsViewedInput","description":"Autogenerated input type of UnmarkFileAsViewed","fields":null,"inputFields":[{"name":"pullRequestId","description":"The Node ID of the pull request.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"path","description":"The path of the file to mark as unviewed","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UnmarkFileAsViewedPayload","description":"Autogenerated return type of UnmarkFileAsViewed","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The updated pull request.","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UnmarkIssueAsDuplicateInput","description":"Autogenerated input type of UnmarkIssueAsDuplicate","fields":null,"inputFields":[{"name":"duplicateId","description":"ID of the issue or pull request currently marked as a duplicate.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"canonicalId","description":"ID of the issue or pull request currently considered canonical/authoritative/original.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UnmarkIssueAsDuplicatePayload","description":"Autogenerated return type of UnmarkIssueAsDuplicate","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"duplicate","description":"The issue or pull request that was marked as a duplicate.","args":[],"type":{"kind":"UNION","name":"IssueOrPullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UnmarkedAsDuplicateEvent","description":"Represents an 'unmarked_as_duplicate' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"canonical","description":"The authoritative issue or pull request which has been duplicated by another.","args":[],"type":{"kind":"UNION","name":"IssueOrPullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"duplicate","description":"The issue or pull request which has been marked as a duplicate of another.","args":[],"type":{"kind":"UNION","name":"IssueOrPullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isCrossRepository","description":"Canonical and duplicate belong to different repositories.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UnminimizeCommentInput","description":"Autogenerated input type of UnminimizeComment","fields":null,"inputFields":[{"name":"subjectId","description":"The Node ID of the subject to modify.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UnminimizeCommentPayload","description":"Autogenerated return type of UnminimizeComment","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"unminimizedComment","description":"The comment that was unminimized.","args":[],"type":{"kind":"INTERFACE","name":"Minimizable","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UnpinIssueInput","description":"Autogenerated input type of UnpinIssue","fields":null,"inputFields":[{"name":"issueId","description":"The ID of the issue to be unpinned","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UnpinIssuePayload","description":"Autogenerated return type of UnpinIssue","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"issue","description":"The issue that was unpinned","args":[],"type":{"kind":"OBJECT","name":"Issue","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UnpinnedEvent","description":"Represents an 'unpinned' event on a given issue or pull request.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issue","description":"Identifies the issue associated with the event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Issue","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UnresolveReviewThreadInput","description":"Autogenerated input type of UnresolveReviewThread","fields":null,"inputFields":[{"name":"threadId","description":"The ID of the thread to unresolve","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UnresolveReviewThreadPayload","description":"Autogenerated return type of UnresolveReviewThread","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"thread","description":"The thread to resolve.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReviewThread","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UnsubscribedEvent","description":"Represents an 'unsubscribed' event on a given `Subscribable`.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"subscribable","description":"Object referenced by event.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Subscribable","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"Updatable","description":"Entities that can be updated.","fields":[{"name":"viewerCanUpdate","description":"Check if the current viewer can update this object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CommitComment","ofType":null},{"kind":"OBJECT","name":"GistComment","ofType":null},{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"IssueComment","ofType":null},{"kind":"OBJECT","name":"Project","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null},{"kind":"OBJECT","name":"PullRequestReview","ofType":null},{"kind":"OBJECT","name":"PullRequestReviewComment","ofType":null},{"kind":"OBJECT","name":"TeamDiscussion","ofType":null},{"kind":"OBJECT","name":"TeamDiscussionComment","ofType":null}]},{"kind":"INTERFACE","name":"UpdatableComment","description":"Comments that can be updated.","fields":[{"name":"viewerCannotUpdateReasons","description":"Reasons why the current viewer can not update this comment.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CommentCannotUpdateReason","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CommitComment","ofType":null},{"kind":"OBJECT","name":"GistComment","ofType":null},{"kind":"OBJECT","name":"Issue","ofType":null},{"kind":"OBJECT","name":"IssueComment","ofType":null},{"kind":"OBJECT","name":"PullRequest","ofType":null},{"kind":"OBJECT","name":"PullRequestReview","ofType":null},{"kind":"OBJECT","name":"PullRequestReviewComment","ofType":null},{"kind":"OBJECT","name":"TeamDiscussion","ofType":null},{"kind":"OBJECT","name":"TeamDiscussionComment","ofType":null}]},{"kind":"INPUT_OBJECT","name":"UpdateBranchProtectionRuleInput","description":"Autogenerated input type of UpdateBranchProtectionRule","fields":null,"inputFields":[{"name":"branchProtectionRuleId","description":"The global relay id of the branch protection rule to be updated.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"pattern","description":"The glob-like pattern used to determine matching branches.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"requiresApprovingReviews","description":"Are approving reviews required to update matching branches.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"requiredApprovingReviewCount","description":"Number of approving reviews required to update matching branches.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"requiresCommitSignatures","description":"Are commits required to be signed.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"requiresLinearHistory","description":"Are merge commits prohibited from being pushed to this branch.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"allowsForcePushes","description":"Are force pushes allowed on this branch.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"allowsDeletions","description":"Can this branch be deleted.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"isAdminEnforced","description":"Can admins overwrite branch protection.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"requiresStatusChecks","description":"Are status checks required to update matching branches.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"requiresStrictStatusChecks","description":"Are branches required to be up to date before merging.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"requiresCodeOwnerReviews","description":"Are reviews from code owners required to update matching branches.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"dismissesStaleReviews","description":"Will new commits pushed to matching branches dismiss pull request review approvals.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"restrictsReviewDismissals","description":"Is dismissal of pull request reviews restricted.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"reviewDismissalActorIds","description":"A list of User or Team IDs allowed to dismiss reviews on pull requests targeting matching branches.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"restrictsPushes","description":"Is pushing to matching branches restricted.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"pushActorIds","description":"A list of User, Team or App IDs allowed to push to matching branches.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"requiredStatusCheckContexts","description":"List of required status check contexts that must pass for commits to be accepted to matching branches.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateBranchProtectionRulePayload","description":"Autogenerated return type of UpdateBranchProtectionRule","fields":[{"name":"branchProtectionRule","description":"The newly created BranchProtectionRule.","args":[],"type":{"kind":"OBJECT","name":"BranchProtectionRule","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateCheckRunInput","description":"Autogenerated input type of UpdateCheckRun","fields":null,"inputFields":[{"name":"repositoryId","description":"The node ID of the repository.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"checkRunId","description":"The node of the check.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":"The name of the check.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"detailsUrl","description":"The URL of the integrator's site that has the full details of the check.","type":{"kind":"SCALAR","name":"URI","ofType":null},"defaultValue":null},{"name":"externalId","description":"A reference for the run on the integrator's system.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"status","description":"The current status.","type":{"kind":"ENUM","name":"RequestableCheckStatusState","ofType":null},"defaultValue":null},{"name":"startedAt","description":"The time that the check run began.","type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"conclusion","description":"The final conclusion of the check.","type":{"kind":"ENUM","name":"CheckConclusionState","ofType":null},"defaultValue":null},{"name":"completedAt","description":"The time that the check run finished.","type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"output","description":"Descriptive details about the run.","type":{"kind":"INPUT_OBJECT","name":"CheckRunOutput","ofType":null},"defaultValue":null},{"name":"actions","description":"Possible further actions the integrator can perform, which a user may trigger.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CheckRunAction","ofType":null}}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateCheckRunPayload","description":"Autogenerated return type of UpdateCheckRun","fields":[{"name":"checkRun","description":"The updated check run.","args":[],"type":{"kind":"OBJECT","name":"CheckRun","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateCheckSuitePreferencesInput","description":"Autogenerated input type of UpdateCheckSuitePreferences","fields":null,"inputFields":[{"name":"repositoryId","description":"The Node ID of the repository.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"autoTriggerPreferences","description":"The check suite preferences to modify.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CheckSuiteAutoTriggerPreference","ofType":null}}}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateCheckSuitePreferencesPayload","description":"Autogenerated return type of UpdateCheckSuitePreferences","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The updated repository.","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseAdministratorRoleInput","description":"Autogenerated input type of UpdateEnterpriseAdministratorRole","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the Enterprise which the admin belongs to.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"login","description":"The login of a administrator whose role is being changed.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"role","description":"The new role for the Enterprise administrator.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseAdministratorRole","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateEnterpriseAdministratorRolePayload","description":"Autogenerated return type of UpdateEnterpriseAdministratorRole","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of changing the administrator's role.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseAllowPrivateRepositoryForkingSettingInput","description":"Autogenerated input type of UpdateEnterpriseAllowPrivateRepositoryForkingSetting","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise on which to set the allow private repository forking setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"settingValue","description":"The value for the allow private repository forking setting on the enterprise.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateEnterpriseAllowPrivateRepositoryForkingSettingPayload","description":"Autogenerated return type of UpdateEnterpriseAllowPrivateRepositoryForkingSetting","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise with the updated allow private repository forking setting.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of updating the allow private repository forking setting.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseDefaultRepositoryPermissionSettingInput","description":"Autogenerated input type of UpdateEnterpriseDefaultRepositoryPermissionSetting","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise on which to set the default repository permission setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"settingValue","description":"The value for the default repository permission setting on the enterprise.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseDefaultRepositoryPermissionSettingValue","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateEnterpriseDefaultRepositoryPermissionSettingPayload","description":"Autogenerated return type of UpdateEnterpriseDefaultRepositoryPermissionSetting","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise with the updated default repository permission setting.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of updating the default repository permission setting.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseMembersCanChangeRepositoryVisibilitySettingInput","description":"Autogenerated input type of UpdateEnterpriseMembersCanChangeRepositoryVisibilitySetting","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise on which to set the members can change repository visibility setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"settingValue","description":"The value for the members can change repository visibility setting on the enterprise.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateEnterpriseMembersCanChangeRepositoryVisibilitySettingPayload","description":"Autogenerated return type of UpdateEnterpriseMembersCanChangeRepositoryVisibilitySetting","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise with the updated members can change repository visibility setting.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of updating the members can change repository visibility setting.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseMembersCanCreateRepositoriesSettingInput","description":"Autogenerated input type of UpdateEnterpriseMembersCanCreateRepositoriesSetting","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise on which to set the members can create repositories setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"settingValue","description":"Value for the members can create repositories setting on the enterprise. This or the granular public/private/internal allowed fields (but not both) must be provided.","type":{"kind":"ENUM","name":"EnterpriseMembersCanCreateRepositoriesSettingValue","ofType":null},"defaultValue":null},{"name":"membersCanCreateRepositoriesPolicyEnabled","description":"When false, allow member organizations to set their own repository creation member privileges.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"membersCanCreatePublicRepositories","description":"Allow members to create public repositories. Defaults to current value.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"membersCanCreatePrivateRepositories","description":"Allow members to create private repositories. Defaults to current value.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"membersCanCreateInternalRepositories","description":"Allow members to create internal repositories. Defaults to current value.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateEnterpriseMembersCanCreateRepositoriesSettingPayload","description":"Autogenerated return type of UpdateEnterpriseMembersCanCreateRepositoriesSetting","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise with the updated members can create repositories setting.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of updating the members can create repositories setting.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseMembersCanDeleteIssuesSettingInput","description":"Autogenerated input type of UpdateEnterpriseMembersCanDeleteIssuesSetting","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise on which to set the members can delete issues setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"settingValue","description":"The value for the members can delete issues setting on the enterprise.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateEnterpriseMembersCanDeleteIssuesSettingPayload","description":"Autogenerated return type of UpdateEnterpriseMembersCanDeleteIssuesSetting","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise with the updated members can delete issues setting.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of updating the members can delete issues setting.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseMembersCanDeleteRepositoriesSettingInput","description":"Autogenerated input type of UpdateEnterpriseMembersCanDeleteRepositoriesSetting","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise on which to set the members can delete repositories setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"settingValue","description":"The value for the members can delete repositories setting on the enterprise.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateEnterpriseMembersCanDeleteRepositoriesSettingPayload","description":"Autogenerated return type of UpdateEnterpriseMembersCanDeleteRepositoriesSetting","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise with the updated members can delete repositories setting.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of updating the members can delete repositories setting.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseMembersCanInviteCollaboratorsSettingInput","description":"Autogenerated input type of UpdateEnterpriseMembersCanInviteCollaboratorsSetting","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise on which to set the members can invite collaborators setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"settingValue","description":"The value for the members can invite collaborators setting on the enterprise.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateEnterpriseMembersCanInviteCollaboratorsSettingPayload","description":"Autogenerated return type of UpdateEnterpriseMembersCanInviteCollaboratorsSetting","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise with the updated members can invite collaborators setting.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of updating the members can invite collaborators setting.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseMembersCanMakePurchasesSettingInput","description":"Autogenerated input type of UpdateEnterpriseMembersCanMakePurchasesSetting","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise on which to set the members can make purchases setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"settingValue","description":"The value for the members can make purchases setting on the enterprise.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseMembersCanMakePurchasesSettingValue","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateEnterpriseMembersCanMakePurchasesSettingPayload","description":"Autogenerated return type of UpdateEnterpriseMembersCanMakePurchasesSetting","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise with the updated members can make purchases setting.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of updating the members can make purchases setting.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseMembersCanUpdateProtectedBranchesSettingInput","description":"Autogenerated input type of UpdateEnterpriseMembersCanUpdateProtectedBranchesSetting","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise on which to set the members can update protected branches setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"settingValue","description":"The value for the members can update protected branches setting on the enterprise.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateEnterpriseMembersCanUpdateProtectedBranchesSettingPayload","description":"Autogenerated return type of UpdateEnterpriseMembersCanUpdateProtectedBranchesSetting","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise with the updated members can update protected branches setting.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of updating the members can update protected branches setting.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseMembersCanViewDependencyInsightsSettingInput","description":"Autogenerated input type of UpdateEnterpriseMembersCanViewDependencyInsightsSetting","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise on which to set the members can view dependency insights setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"settingValue","description":"The value for the members can view dependency insights setting on the enterprise.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateEnterpriseMembersCanViewDependencyInsightsSettingPayload","description":"Autogenerated return type of UpdateEnterpriseMembersCanViewDependencyInsightsSetting","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise with the updated members can view dependency insights setting.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of updating the members can view dependency insights setting.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseOrganizationProjectsSettingInput","description":"Autogenerated input type of UpdateEnterpriseOrganizationProjectsSetting","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise on which to set the organization projects setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"settingValue","description":"The value for the organization projects setting on the enterprise.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateEnterpriseOrganizationProjectsSettingPayload","description":"Autogenerated return type of UpdateEnterpriseOrganizationProjectsSetting","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise with the updated organization projects setting.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of updating the organization projects setting.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseProfileInput","description":"Autogenerated input type of UpdateEnterpriseProfile","fields":null,"inputFields":[{"name":"enterpriseId","description":"The Enterprise ID to update.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":"The name of the enterprise.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"description","description":"The description of the enterprise.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"websiteUrl","description":"The URL of the enterprise's website.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"location","description":"The location of the enterprise.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateEnterpriseProfilePayload","description":"Autogenerated return type of UpdateEnterpriseProfile","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The updated enterprise.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseRepositoryProjectsSettingInput","description":"Autogenerated input type of UpdateEnterpriseRepositoryProjectsSetting","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise on which to set the repository projects setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"settingValue","description":"The value for the repository projects setting on the enterprise.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateEnterpriseRepositoryProjectsSettingPayload","description":"Autogenerated return type of UpdateEnterpriseRepositoryProjectsSetting","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise with the updated repository projects setting.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of updating the repository projects setting.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseTeamDiscussionsSettingInput","description":"Autogenerated input type of UpdateEnterpriseTeamDiscussionsSetting","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise on which to set the team discussions setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"settingValue","description":"The value for the team discussions setting on the enterprise.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledDisabledSettingValue","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateEnterpriseTeamDiscussionsSettingPayload","description":"Autogenerated return type of UpdateEnterpriseTeamDiscussionsSetting","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise with the updated team discussions setting.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of updating the team discussions setting.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateEnterpriseTwoFactorAuthenticationRequiredSettingInput","description":"Autogenerated input type of UpdateEnterpriseTwoFactorAuthenticationRequiredSetting","fields":null,"inputFields":[{"name":"enterpriseId","description":"The ID of the enterprise on which to set the two factor authentication required setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"settingValue","description":"The value for the two factor authentication required setting on the enterprise.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"EnterpriseEnabledSettingValue","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateEnterpriseTwoFactorAuthenticationRequiredSettingPayload","description":"Autogenerated return type of UpdateEnterpriseTwoFactorAuthenticationRequiredSetting","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enterprise","description":"The enterprise with the updated two factor authentication required setting.","args":[],"type":{"kind":"OBJECT","name":"Enterprise","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A message confirming the result of updating the two factor authentication required setting.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateIpAllowListEnabledSettingInput","description":"Autogenerated input type of UpdateIpAllowListEnabledSetting","fields":null,"inputFields":[{"name":"ownerId","description":"The ID of the owner on which to set the IP allow list enabled setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"settingValue","description":"The value for the IP allow list enabled setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"IpAllowListEnabledSettingValue","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateIpAllowListEnabledSettingPayload","description":"Autogenerated return type of UpdateIpAllowListEnabledSetting","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"owner","description":"The IP allow list owner on which the setting was updated.","args":[],"type":{"kind":"UNION","name":"IpAllowListOwner","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateIpAllowListEntryInput","description":"Autogenerated input type of UpdateIpAllowListEntry","fields":null,"inputFields":[{"name":"ipAllowListEntryId","description":"The ID of the IP allow list entry to update.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"allowListValue","description":"An IP address or range of addresses in CIDR notation.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"name","description":"An optional name for the IP allow list entry.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"isActive","description":"Whether the IP allow list entry is active when an IP allow list is enabled.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateIpAllowListEntryPayload","description":"Autogenerated return type of UpdateIpAllowListEntry","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"ipAllowListEntry","description":"The IP allow list entry that was updated.","args":[],"type":{"kind":"OBJECT","name":"IpAllowListEntry","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateIssueCommentInput","description":"Autogenerated input type of UpdateIssueComment","fields":null,"inputFields":[{"name":"id","description":"The ID of the IssueComment to modify.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"body","description":"The updated text of the comment.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateIssueCommentPayload","description":"Autogenerated return type of UpdateIssueComment","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"issueComment","description":"The updated comment.","args":[],"type":{"kind":"OBJECT","name":"IssueComment","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateIssueInput","description":"Autogenerated input type of UpdateIssue","fields":null,"inputFields":[{"name":"id","description":"The ID of the Issue to modify.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"title","description":"The title for the issue.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"body","description":"The body for the issue description.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"assigneeIds","description":"An array of Node IDs of users for this issue.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"milestoneId","description":"The Node ID of the milestone for this issue.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"labelIds","description":"An array of Node IDs of labels for this issue.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"state","description":"The desired issue state.","type":{"kind":"ENUM","name":"IssueState","ofType":null},"defaultValue":null},{"name":"projectIds","description":"An array of Node IDs for projects associated with this issue.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateIssuePayload","description":"Autogenerated return type of UpdateIssue","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"issue","description":"The issue.","args":[],"type":{"kind":"OBJECT","name":"Issue","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateNotificationRestrictionSettingInput","description":"Autogenerated input type of UpdateNotificationRestrictionSetting","fields":null,"inputFields":[{"name":"ownerId","description":"The ID of the owner on which to set the restrict notifications setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"settingValue","description":"The value for the restrict notifications setting.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"NotificationRestrictionSettingValue","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateNotificationRestrictionSettingPayload","description":"Autogenerated return type of UpdateNotificationRestrictionSetting","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"owner","description":"The owner on which the setting was updated.","args":[],"type":{"kind":"UNION","name":"VerifiableDomainOwner","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateProjectCardInput","description":"Autogenerated input type of UpdateProjectCard","fields":null,"inputFields":[{"name":"projectCardId","description":"The ProjectCard ID to update.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"isArchived","description":"Whether or not the ProjectCard should be archived","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"note","description":"The note of ProjectCard.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateProjectCardPayload","description":"Autogenerated return type of UpdateProjectCard","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"projectCard","description":"The updated ProjectCard.","args":[],"type":{"kind":"OBJECT","name":"ProjectCard","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateProjectColumnInput","description":"Autogenerated input type of UpdateProjectColumn","fields":null,"inputFields":[{"name":"projectColumnId","description":"The ProjectColumn ID to update.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":"The name of project column.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateProjectColumnPayload","description":"Autogenerated return type of UpdateProjectColumn","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"projectColumn","description":"The updated project column.","args":[],"type":{"kind":"OBJECT","name":"ProjectColumn","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateProjectInput","description":"Autogenerated input type of UpdateProject","fields":null,"inputFields":[{"name":"projectId","description":"The Project ID to update.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":"The name of project.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"body","description":"The description of project.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"state","description":"Whether the project is open or closed.","type":{"kind":"ENUM","name":"ProjectState","ofType":null},"defaultValue":null},{"name":"public","description":"Whether the project is public or not.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateProjectPayload","description":"Autogenerated return type of UpdateProject","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"project","description":"The updated project.","args":[],"type":{"kind":"OBJECT","name":"Project","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdatePullRequestInput","description":"Autogenerated input type of UpdatePullRequest","fields":null,"inputFields":[{"name":"pullRequestId","description":"The Node ID of the pull request.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"baseRefName","description":"The name of the branch you want your changes pulled into. This should be an existing branch\non the current repository.\n","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"title","description":"The title of the pull request.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"body","description":"The contents of the pull request.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"state","description":"The target state of the pull request.","type":{"kind":"ENUM","name":"PullRequestUpdateState","ofType":null},"defaultValue":null},{"name":"maintainerCanModify","description":"Indicates whether maintainers can modify the pull request.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"assigneeIds","description":"An array of Node IDs of users for this pull request.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"milestoneId","description":"The Node ID of the milestone for this pull request.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"labelIds","description":"An array of Node IDs of labels for this pull request.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"projectIds","description":"An array of Node IDs for projects associated with this pull request.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdatePullRequestPayload","description":"Autogenerated return type of UpdatePullRequest","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequest","description":"The updated pull request.","args":[],"type":{"kind":"OBJECT","name":"PullRequest","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdatePullRequestReviewCommentInput","description":"Autogenerated input type of UpdatePullRequestReviewComment","fields":null,"inputFields":[{"name":"pullRequestReviewCommentId","description":"The Node ID of the comment to modify.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"body","description":"The text of the comment.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdatePullRequestReviewCommentPayload","description":"Autogenerated return type of UpdatePullRequestReviewComment","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequestReviewComment","description":"The updated comment.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReviewComment","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdatePullRequestReviewInput","description":"Autogenerated input type of UpdatePullRequestReview","fields":null,"inputFields":[{"name":"pullRequestReviewId","description":"The Node ID of the pull request review to modify.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"body","description":"The contents of the pull request review body.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdatePullRequestReviewPayload","description":"Autogenerated return type of UpdatePullRequestReview","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequestReview","description":"The updated pull request review.","args":[],"type":{"kind":"OBJECT","name":"PullRequestReview","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateRefInput","description":"Autogenerated input type of UpdateRef","fields":null,"inputFields":[{"name":"refId","description":"The Node ID of the Ref to be updated.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"oid","description":"The GitObjectID that the Ref shall be updated to target.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"GitObjectID","ofType":null}},"defaultValue":null},{"name":"force","description":"Permit updates of branch Refs that are not fast-forwards?","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateRefPayload","description":"Autogenerated return type of UpdateRef","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"ref","description":"The updated Ref.","args":[],"type":{"kind":"OBJECT","name":"Ref","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateRepositoryInput","description":"Autogenerated input type of UpdateRepository","fields":null,"inputFields":[{"name":"repositoryId","description":"The ID of the repository to update.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":"The new name of the repository.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"description","description":"A new description for the repository. Pass an empty string to erase the existing description.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"template","description":"Whether this repository should be marked as a template such that anyone who can access it can create new repositories with the same files and directory structure.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"homepageUrl","description":"The URL for a web page about this repository. Pass an empty string to erase the existing URL.","type":{"kind":"SCALAR","name":"URI","ofType":null},"defaultValue":null},{"name":"hasWikiEnabled","description":"Indicates if the repository should have the wiki feature enabled.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"hasIssuesEnabled","description":"Indicates if the repository should have the issues feature enabled.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"hasProjectsEnabled","description":"Indicates if the repository should have the project boards feature enabled.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateRepositoryPayload","description":"Autogenerated return type of UpdateRepository","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The updated repository.","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateSubscriptionInput","description":"Autogenerated input type of UpdateSubscription","fields":null,"inputFields":[{"name":"subscribableId","description":"The Node ID of the subscribable object to modify.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"state","description":"The new state of the subscription.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"SubscriptionState","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateSubscriptionPayload","description":"Autogenerated return type of UpdateSubscription","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"subscribable","description":"The input subscribable entity.","args":[],"type":{"kind":"INTERFACE","name":"Subscribable","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateTeamDiscussionCommentInput","description":"Autogenerated input type of UpdateTeamDiscussionComment","fields":null,"inputFields":[{"name":"id","description":"The ID of the comment to modify.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"body","description":"The updated text of the comment.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"bodyVersion","description":"The current version of the body content.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateTeamDiscussionCommentPayload","description":"Autogenerated return type of UpdateTeamDiscussionComment","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamDiscussionComment","description":"The updated comment.","args":[],"type":{"kind":"OBJECT","name":"TeamDiscussionComment","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateTeamDiscussionInput","description":"Autogenerated input type of UpdateTeamDiscussion","fields":null,"inputFields":[{"name":"id","description":"The Node ID of the discussion to modify.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"title","description":"The updated title of the discussion.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"body","description":"The updated text of the discussion.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"bodyVersion","description":"The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"pinned","description":"If provided, sets the pinned state of the updated discussion.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateTeamDiscussionPayload","description":"Autogenerated return type of UpdateTeamDiscussion","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"teamDiscussion","description":"The updated discussion.","args":[],"type":{"kind":"OBJECT","name":"TeamDiscussion","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateTopicsInput","description":"Autogenerated input type of UpdateTopics","fields":null,"inputFields":[{"name":"repositoryId","description":"The Node ID of the repository.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"topicNames","description":"An array of topic names.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UpdateTopicsPayload","description":"Autogenerated return type of UpdateTopics","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"invalidTopicNames","description":"Names of the provided topics that are not valid.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"The updated repository.","args":[],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"User","description":"A user is an individual's account on GitHub that owns repositories and can make new content.","fields":[{"name":"anyPinnableItems","description":"Determine if this repository owner has any items that can be pinned to their profile.","args":[{"name":"type","description":"Filter to only a particular kind of pinnable item.","type":{"kind":"ENUM","name":"PinnableItemType","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"avatarUrl","description":"A URL pointing to the user's public avatar.","args":[{"name":"size","description":"The size of the resulting square image.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"bio","description":"The user's public profile bio.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"bioHTML","description":"The user's public profile bio as HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"commitComments","description":"A list of commit comments made by this user.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CommitCommentConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"company","description":"The user's public profile company.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"companyHTML","description":"The user's public profile company as HTML.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"HTML","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"contributionsCollection","description":"The collection of contributions this user has made to different repositories.","args":[{"name":"organizationID","description":"The ID of the organization used to filter contributions.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"from","description":"Only contributions made at this time or later will be counted. If omitted, defaults to a year ago.","type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"to","description":"Only contributions made before and up to and including this time will be counted. If omitted, defaults to the current time.","type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ContributionsCollection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"email","description":"The user's publicly visible profile email.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"followers","description":"A list of users the given user is followed by.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FollowerConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"following","description":"A list of users the given user is following.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FollowingConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"gist","description":"Find gist by repo name.","args":[{"name":"name","description":"The gist name to find.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Gist","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"gistComments","description":"A list of gist comments made by this user.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"GistCommentConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"gists","description":"A list of the Gists the user has created.","args":[{"name":"privacy","description":"Filters Gists according to privacy.","type":{"kind":"ENUM","name":"GistPrivacy","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for gists returned from the connection","type":{"kind":"INPUT_OBJECT","name":"GistOrder","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"GistConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hasSponsorsListing","description":"True if this user/organization has a GitHub Sponsors listing.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hovercard","description":"The hovercard information for this user in a given context","args":[{"name":"primarySubjectId","description":"The ID of the subject to get the hovercard in the context of","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Hovercard","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"interactionAbility","description":"The interaction ability settings for this user.","args":[],"type":{"kind":"OBJECT","name":"RepositoryInteractionAbility","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"isBountyHunter","description":"Whether or not this user is a participant in the GitHub Security Bug Bounty.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isCampusExpert","description":"Whether or not this user is a participant in the GitHub Campus Experts Program.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isDeveloperProgramMember","description":"Whether or not this user is a GitHub Developer Program member.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isEmployee","description":"Whether or not this user is a GitHub employee.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isGitHubStar","description":"Whether or not this user is a member of the GitHub Stars Program.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isHireable","description":"Whether or not the user has marked themselves as for hire.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isSiteAdmin","description":"Whether or not this user is a site administrator.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isSponsoredBy","description":"Check if the given account is sponsoring this user/organization.","args":[{"name":"accountLogin","description":"The target account's login.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isSponsoringViewer","description":"True if the viewer is sponsored by this user/organization.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isViewer","description":"Whether or not this user is the viewing user.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issueComments","description":"A list of issue comments made by this user.","args":[{"name":"orderBy","description":"Ordering options for issue comments returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"IssueCommentOrder","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"IssueCommentConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issues","description":"A list of issues associated with this user.","args":[{"name":"orderBy","description":"Ordering options for issues returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"IssueOrder","ofType":null},"defaultValue":null},{"name":"labels","description":"A list of label names to filter the pull requests by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"states","description":"A list of states to filter the issues by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"IssueState","ofType":null}}},"defaultValue":null},{"name":"filterBy","description":"Filtering options for issues returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"IssueFilters","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"IssueConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"itemShowcase","description":"Showcases a selection of repositories and gists that the profile owner has either curated or that have been selected automatically based on popularity.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProfileItemShowcase","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"location","description":"The user's public profile location.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"login","description":"The username used to login.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"The user's public profile name.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"Find an organization by its login that the user belongs to.","args":[{"name":"login","description":"The login of the organization to find.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organizationVerifiedDomainEmails","description":"Verified email addresses that match verified domains for a specified organization the user is a member of.","args":[{"name":"login","description":"The login of the organization to match verified domains from.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"organizations","description":"A list of organizations the user belongs to.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrganizationConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"packages","description":"A list of packages under the owner.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"names","description":"Find packages by their names.","type":{"kind":"LIST","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"repositoryId","description":"Find packages in a repository by ID.","type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"packageType","description":"Filter registry package by type.","type":{"kind":"ENUM","name":"PackageType","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering of the returned packages.","type":{"kind":"INPUT_OBJECT","name":"PackageOrder","ofType":null},"defaultValue":"{field: CREATED_AT, direction: DESC}"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PackageConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pinnableItems","description":"A list of repositories and gists this profile owner can pin to their profile.","args":[{"name":"types","description":"Filter the types of pinnable items that are returned.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PinnableItemType","ofType":null}}},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PinnableItemConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pinnedItems","description":"A list of repositories and gists this profile owner has pinned to their profile","args":[{"name":"types","description":"Filter the types of pinned items that are returned.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PinnableItemType","ofType":null}}},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PinnableItemConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pinnedItemsRemaining","description":"Returns how many more items this profile owner can pin to their profile.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"project","description":"Find project by number.","args":[{"name":"number","description":"The project number to find.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Project","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"projects","description":"A list of projects under the owner.","args":[{"name":"orderBy","description":"Ordering options for projects returned from the connection","type":{"kind":"INPUT_OBJECT","name":"ProjectOrder","ofType":null},"defaultValue":null},{"name":"search","description":"Query to search projects by, currently only searching by name.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"states","description":"A list of states to filter the projects by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ProjectState","ofType":null}}},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProjectConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"projectsResourcePath","description":"The HTTP path listing user's projects","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"projectsUrl","description":"The HTTP URL listing user's projects","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"publicKeys","description":"A list of public keys associated with this user.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PublicKeyConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pullRequests","description":"A list of pull requests associated with this user.","args":[{"name":"states","description":"A list of states to filter the pull requests by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"PullRequestState","ofType":null}}},"defaultValue":null},{"name":"labels","description":"A list of label names to filter the pull requests by.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"headRefName","description":"The head ref name to filter the pull requests by.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"baseRefName","description":"The base ref name to filter the pull requests by.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for pull requests returned from the connection.","type":{"kind":"INPUT_OBJECT","name":"IssueOrder","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PullRequestConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repositories","description":"A list of repositories that the user owns.","args":[{"name":"privacy","description":"If non-null, filters repositories according to privacy","type":{"kind":"ENUM","name":"RepositoryPrivacy","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for repositories returned from the connection","type":{"kind":"INPUT_OBJECT","name":"RepositoryOrder","ofType":null},"defaultValue":null},{"name":"affiliations","description":"Array of viewer's affiliation options for repositories returned from the connection. For example, OWNER will include only repositories that the current viewer owns.","type":{"kind":"LIST","name":null,"ofType":{"kind":"ENUM","name":"RepositoryAffiliation","ofType":null}},"defaultValue":null},{"name":"ownerAffiliations","description":"Array of owner's affiliation options for repositories returned from the connection. For example, OWNER will include only repositories that the organization or user being viewed owns.","type":{"kind":"LIST","name":null,"ofType":{"kind":"ENUM","name":"RepositoryAffiliation","ofType":null}},"defaultValue":"[OWNER, COLLABORATOR]"},{"name":"isLocked","description":"If non-null, filters repositories according to whether they have been locked","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"isFork","description":"If non-null, filters repositories according to whether they are forks of another repository","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repositoriesContributedTo","description":"A list of repositories that the user recently contributed to.","args":[{"name":"privacy","description":"If non-null, filters repositories according to privacy","type":{"kind":"ENUM","name":"RepositoryPrivacy","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for repositories returned from the connection","type":{"kind":"INPUT_OBJECT","name":"RepositoryOrder","ofType":null},"defaultValue":null},{"name":"isLocked","description":"If non-null, filters repositories according to whether they have been locked","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"includeUserRepositories","description":"If true, include user repositories","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"contributionTypes","description":"If non-null, include only the specified types of contributions. The GitHub.com UI uses [COMMIT, ISSUE, PULL_REQUEST, REPOSITORY]","type":{"kind":"LIST","name":null,"ofType":{"kind":"ENUM","name":"RepositoryContributionType","ofType":null}},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"repository","description":"Find Repository.","args":[{"name":"name","description":"Name of Repository to find.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Repository","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"resourcePath","description":"The HTTP path for this user","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"savedReplies","description":"Replies this user has saved","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"The field to order saved replies by.","type":{"kind":"INPUT_OBJECT","name":"SavedReplyOrder","ofType":null},"defaultValue":"{field: UPDATED_AT, direction: DESC}"}],"type":{"kind":"OBJECT","name":"SavedReplyConnection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"sponsorsListing","description":"The GitHub Sponsors listing for this user or organization.","args":[],"type":{"kind":"OBJECT","name":"SponsorsListing","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"sponsorshipForViewerAsSponsor","description":"The viewer's sponsorship of this entity.","args":[],"type":{"kind":"OBJECT","name":"Sponsorship","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"sponsorshipsAsMaintainer","description":"This object's sponsorships as the maintainer.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"includePrivate","description":"Whether or not to include private sponsorships in the result set","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"},{"name":"orderBy","description":"Ordering options for sponsorships returned from this connection. If left blank, the sponsorships will be ordered based on relevancy to the viewer.","type":{"kind":"INPUT_OBJECT","name":"SponsorshipOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SponsorshipConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"sponsorshipsAsSponsor","description":"This object's sponsorships as the sponsor.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for sponsorships returned from this connection. If left blank, the sponsorships will be ordered based on relevancy to the viewer.","type":{"kind":"INPUT_OBJECT","name":"SponsorshipOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SponsorshipConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"starredRepositories","description":"Repositories the user has starred.","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"ownedByViewer","description":"Filters starred repositories to only return repositories owned by the viewer.","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Order for connection","type":{"kind":"INPUT_OBJECT","name":"StarOrder","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"StarredRepositoryConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"status","description":"The user's description of what they're currently doing.","args":[],"type":{"kind":"OBJECT","name":"UserStatus","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"topRepositories","description":"Repositories the user has contributed to, ordered by contribution rank, plus repositories the user has created\n","args":[{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for repositories returned from the connection","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RepositoryOrder","ofType":null}},"defaultValue":null},{"name":"since","description":"How far back in time to fetch contributed repositories","type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"twitterUsername","description":"The user's Twitter username.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"url","description":"The HTTP URL for this user","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanChangePinnedItems","description":"Can the viewer pin repositories and gists to the profile?","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanCreateProjects","description":"Can the current viewer create new projects on this owner.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanFollow","description":"Whether or not the viewer is able to follow the user.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerCanSponsor","description":"Whether or not the viewer is able to sponsor this user/organization.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerIsFollowing","description":"Whether or not this user is followed by the viewer.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewerIsSponsoring","description":"True if the viewer is sponsoring this user/organization.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"watching","description":"A list of repositories the given user is watching.","args":[{"name":"privacy","description":"If non-null, filters repositories according to privacy","type":{"kind":"ENUM","name":"RepositoryPrivacy","ofType":null},"defaultValue":null},{"name":"orderBy","description":"Ordering options for repositories returned from the connection","type":{"kind":"INPUT_OBJECT","name":"RepositoryOrder","ofType":null},"defaultValue":null},{"name":"affiliations","description":"Affiliation options for repositories returned from the connection. If none specified, the results will include repositories for which the current viewer is an owner or collaborator, or member.","type":{"kind":"LIST","name":null,"ofType":{"kind":"ENUM","name":"RepositoryAffiliation","ofType":null}},"defaultValue":null},{"name":"ownerAffiliations","description":"Array of owner's affiliation options for repositories returned from the connection. For example, OWNER will include only repositories that the organization or user being viewed owns.","type":{"kind":"LIST","name":null,"ofType":{"kind":"ENUM","name":"RepositoryAffiliation","ofType":null}},"defaultValue":"[OWNER, COLLABORATOR]"},{"name":"isLocked","description":"If non-null, filters repositories according to whether they have been locked","type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"after","description":"Returns the elements in the list that come after the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"before","description":"Returns the elements in the list that come before the specified cursor.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"first","description":"Returns the first _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"last","description":"Returns the last _n_ elements from the list.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"RepositoryConnection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"websiteUrl","description":"A URL pointing to the user's public website/blog.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"Actor","ofType":null},{"kind":"INTERFACE","name":"PackageOwner","ofType":null},{"kind":"INTERFACE","name":"ProjectOwner","ofType":null},{"kind":"INTERFACE","name":"RepositoryOwner","ofType":null},{"kind":"INTERFACE","name":"UniformResourceLocatable","ofType":null},{"kind":"INTERFACE","name":"ProfileOwner","ofType":null},{"kind":"INTERFACE","name":"Sponsorable","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"UserBlockDuration","description":"The possible durations that a user can be blocked for.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ONE_DAY","description":"The user was blocked for 1 day","isDeprecated":false,"deprecationReason":null},{"name":"THREE_DAYS","description":"The user was blocked for 3 days","isDeprecated":false,"deprecationReason":null},{"name":"ONE_WEEK","description":"The user was blocked for 7 days","isDeprecated":false,"deprecationReason":null},{"name":"ONE_MONTH","description":"The user was blocked for 30 days","isDeprecated":false,"deprecationReason":null},{"name":"PERMANENT","description":"The user was blocked permanently","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"UserBlockedEvent","description":"Represents a 'user_blocked' event on a given user.","fields":[{"name":"actor","description":"Identifies the actor who performed the event.","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"blockDuration","description":"Number of days that the user was blocked for.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"UserBlockDuration","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"subject","description":"The user who was blocked.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UserConnection","description":"The connection type for User.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"UserEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UserContentEdit","description":"An edit on user content","fields":[{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deletedAt","description":"Identifies the date and time when the object was deleted.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deletedBy","description":"The actor who deleted this content","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"diff","description":"A summary of the changes for this edit","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"editedAt","description":"When this content was edited","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"editor","description":"The actor who edited this content","args":[],"type":{"kind":"INTERFACE","name":"Actor","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UserContentEditConnection","description":"A list of edits to content.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"UserContentEditEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"UserContentEdit","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UserContentEditEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"UserContentEdit","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UserEdge","description":"Represents a user.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UserEmailMetadata","description":"Email attributes from External Identity","fields":[{"name":"primary","description":"Boolean to identify primary emails","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":"Type of email","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"value","description":"Email id","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UserStatus","description":"The user's description of what they're currently doing.","fields":[{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"emoji","description":"An emoji summarizing the user's status.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"emojiHTML","description":"The status emoji as HTML.","args":[],"type":{"kind":"SCALAR","name":"HTML","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"expiresAt","description":"If set, the status will not be shown after this date.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":"ID of the object.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"indicatesLimitedAvailability","description":"Whether this status indicates the user is not fully available on GitHub.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":"A brief message describing what the user is doing.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"organization","description":"The organization whose members can see this status. If null, this status is publicly visible.","args":[],"type":{"kind":"OBJECT","name":"Organization","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":"The user who has this status.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UserStatusConnection","description":"The connection type for UserStatus.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"UserStatusEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"UserStatus","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"UserStatusEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"UserStatus","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UserStatusOrder","description":"Ordering options for user status connections.","fields":null,"inputFields":[{"name":"field","description":"The field to order user statuses by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"UserStatusOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"UserStatusOrderField","description":"Properties by which user status connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"UPDATED_AT","description":"Order user statuses by when they were updated.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"VerifiableDomain","description":"A domain that can be verified for an organization or an enterprise.","fields":[{"name":"createdAt","description":"Identifies the date and time when the object was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"databaseId","description":"Identifies the primary key from the database.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"dnsHostName","description":"The DNS host name that should be used for verification.","args":[],"type":{"kind":"SCALAR","name":"URI","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"domain","description":"The unicode encoded domain.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hasFoundHostName","description":"Whether a TXT record for verification with the expected host name was found.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"hasFoundVerificationToken","description":"Whether a TXT record for verification with the expected verification token was found.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isRequiredForPolicyEnforcement","description":"Whether this domain is required to exist for an organization or enterprise policy to be enforced.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isVerified","description":"Whether or not the domain is verified.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"owner","description":"The owner of the domain.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"VerifiableDomainOwner","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"punycodeEncodedDomain","description":"The punycode encoded domain.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"URI","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"tokenExpirationTime","description":"The time that the current verification token will expire.","args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":"Identifies the date and time when the object was last updated.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"verificationToken","description":"The current verification token for the domain.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"VerifiableDomainConnection","description":"The connection type for VerifiableDomain.","fields":[{"name":"edges","description":"A list of edges.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"VerifiableDomainEdge","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":"A list of nodes.","args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"VerifiableDomain","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pageInfo","description":"Information to aid in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PageInfo","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"totalCount","description":"Identifies the total count of items in the connection.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"VerifiableDomainEdge","description":"An edge in a connection.","fields":[{"name":"cursor","description":"A cursor for use in pagination.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"node","description":"The item at the end of the edge.","args":[],"type":{"kind":"OBJECT","name":"VerifiableDomain","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"VerifiableDomainOrder","description":"Ordering options for verifiable domain connections.","fields":null,"inputFields":[{"name":"field","description":"The field to order verifiable domains by.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"VerifiableDomainOrderField","ofType":null}},"defaultValue":null},{"name":"direction","description":"The ordering direction.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"OrderDirection","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"VerifiableDomainOrderField","description":"Properties by which verifiable domain connections can be ordered.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"DOMAIN","description":"Order verifiable domains by the domain name.","isDeprecated":false,"deprecationReason":null},{"name":"CREATED_AT","description":"Order verifiable domains by their creation date.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"UNION","name":"VerifiableDomainOwner","description":"Types that can own a verifiable domain.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Enterprise","ofType":null},{"kind":"OBJECT","name":"Organization","ofType":null}]},{"kind":"INPUT_OBJECT","name":"VerifyVerifiableDomainInput","description":"Autogenerated input type of VerifyVerifiableDomain","fields":null,"inputFields":[{"name":"id","description":"The ID of the verifiable domain to verify.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"VerifyVerifiableDomainPayload","description":"Autogenerated return type of VerifyVerifiableDomain","fields":[{"name":"clientMutationId","description":"A unique identifier for the client performing the mutation.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"domain","description":"The verifiable domain that was verified.","args":[],"type":{"kind":"OBJECT","name":"VerifiableDomain","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ViewerHovercardContext","description":"A hovercard context with a message describing how the viewer is related.","fields":[{"name":"message","description":"A string describing this context","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"octicon","description":"An octicon to accompany this context","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"viewer","description":"Identifies the user who is related to this context.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"HovercardContext","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"X509Certificate","description":"A valid x509 certificate string","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Directive","description":"A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.","fields":[{"name":"args","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__InputValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"locations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"__DirectiveLocation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"onField","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":true,"deprecationReason":"Use `locations`."},{"name":"onFragment","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":true,"deprecationReason":"Use `locations`."},{"name":"onOperation","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":true,"deprecationReason":"Use `locations`."}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"__DirectiveLocation","description":"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"QUERY","description":"Location adjacent to a query operation.","isDeprecated":false,"deprecationReason":null},{"name":"MUTATION","description":"Location adjacent to a mutation operation.","isDeprecated":false,"deprecationReason":null},{"name":"SUBSCRIPTION","description":"Location adjacent to a subscription operation.","isDeprecated":false,"deprecationReason":null},{"name":"FIELD","description":"Location adjacent to a field.","isDeprecated":false,"deprecationReason":null},{"name":"FRAGMENT_DEFINITION","description":"Location adjacent to a fragment definition.","isDeprecated":false,"deprecationReason":null},{"name":"FRAGMENT_SPREAD","description":"Location adjacent to a fragment spread.","isDeprecated":false,"deprecationReason":null},{"name":"INLINE_FRAGMENT","description":"Location adjacent to an inline fragment.","isDeprecated":false,"deprecationReason":null},{"name":"SCHEMA","description":"Location adjacent to a schema definition.","isDeprecated":false,"deprecationReason":null},{"name":"SCALAR","description":"Location adjacent to a scalar definition.","isDeprecated":false,"deprecationReason":null},{"name":"OBJECT","description":"Location adjacent to an object type definition.","isDeprecated":false,"deprecationReason":null},{"name":"FIELD_DEFINITION","description":"Location adjacent to a field definition.","isDeprecated":false,"deprecationReason":null},{"name":"ARGUMENT_DEFINITION","description":"Location adjacent to an argument definition.","isDeprecated":false,"deprecationReason":null},{"name":"INTERFACE","description":"Location adjacent to an interface definition.","isDeprecated":false,"deprecationReason":null},{"name":"UNION","description":"Location adjacent to a union definition.","isDeprecated":false,"deprecationReason":null},{"name":"ENUM","description":"Location adjacent to an enum definition.","isDeprecated":false,"deprecationReason":null},{"name":"ENUM_VALUE","description":"Location adjacent to an enum value definition.","isDeprecated":false,"deprecationReason":null},{"name":"INPUT_OBJECT","description":"Location adjacent to an input object type definition.","isDeprecated":false,"deprecationReason":null},{"name":"INPUT_FIELD_DEFINITION","description":"Location adjacent to an input object field definition.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"__EnumValue","description":"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.","fields":[{"name":"deprecationReason","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"isDeprecated","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Field","description":"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.","fields":[{"name":"args","description":null,"args":[{"name":"includeDeprecated","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__InputValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"deprecationReason","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"isDeprecated","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__InputValue","description":"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.","fields":[{"name":"defaultValue","description":"A GraphQL-formatted string representing the default value for this input value.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deprecationReason","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"isDeprecated","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Schema","description":"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.","fields":[{"name":"directives","description":"A list of all directives supported by this server.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Directive","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"mutationType","description":"If this server supports mutation, the type that mutation operations will be rooted at.","args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"queryType","description":"The type that query operations will be rooted at.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"subscriptionType","description":"If this server support subscription, the type that subscription operations will be rooted at.","args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"types","description":"A list of all types supported by this server.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Type","description":"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.","fields":[{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"enumValues","description":null,"args":[{"name":"includeDeprecated","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__EnumValue","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"fields","description":null,"args":[{"name":"includeDeprecated","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Field","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"inputFields","description":null,"args":[{"name":"includeDeprecated","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__InputValue","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"interfaces","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"kind","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"__TypeKind","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"ofType","description":null,"args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"possibleTypes","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"__TypeKind","description":"An enum describing what kind of type a given `__Type` is.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"SCALAR","description":"Indicates this type is a scalar.","isDeprecated":false,"deprecationReason":null},{"name":"OBJECT","description":"Indicates this type is an object. `fields` and `interfaces` are valid fields.","isDeprecated":false,"deprecationReason":null},{"name":"INTERFACE","description":"Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.","isDeprecated":false,"deprecationReason":null},{"name":"UNION","description":"Indicates this type is a union. `possibleTypes` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"ENUM","description":"Indicates this type is an enum. `enumValues` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"INPUT_OBJECT","description":"Indicates this type is an input object. `inputFields` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"LIST","description":"Indicates this type is a list. `ofType` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"NON_NULL","description":"Indicates this type is a non-null. `ofType` is a valid field.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null}],"directives":[{"name":"include","description":"Directs the executor to include this field or fragment only when the `if` argument is true.","locations":["FIELD","FRAGMENT_SPREAD","INLINE_FRAGMENT"],"args":[{"name":"if","description":"Included when true.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}]},{"name":"skip","description":"Directs the executor to skip this field or fragment when the `if` argument is true.","locations":["FIELD","FRAGMENT_SPREAD","INLINE_FRAGMENT"],"args":[{"name":"if","description":"Skipped when true.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}]},{"name":"deprecated","description":"Marks an element of a GraphQL schema as no longer supported.","locations":["FIELD_DEFINITION","ENUM_VALUE","ARGUMENT_DEFINITION","INPUT_FIELD_DEFINITION"],"args":[{"name":"reason","description":"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted in [Markdown](https://daringfireball.net/projects/markdown/).","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":"\"No longer supported\""}]}]}}} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/IncludeRepoTask.groovy b/buildSrc/src/main/groovy/io/spring/gradle/IncludeRepoTask.groovy new file mode 100644 index 0000000..b549ff7 --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/IncludeRepoTask.groovy @@ -0,0 +1,104 @@ +/* + * Copyright 2002-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + + +package io.spring.gradle + +import groovy.transform.CompileStatic +import groovy.transform.TypeChecked +import groovy.transform.TypeCheckingMode +import org.gradle.api.DefaultTask +import org.gradle.api.Task +import org.gradle.api.provider.Property +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.OutputDirectory +import org.gradle.api.tasks.TaskAction + +/** + * Checkout a project template from a git repository. + * + * @author Marcus Da Coregio + */ +@CompileStatic +abstract class IncludeRepoTask extends DefaultTask { + + private static final String DEFAULT_URI_PREFIX = 'https://github.com/' + + /** + * Git repository to use. Will be prefixed with {@link #DEFAULT_URI_PREFIX} if it isn't already + * @return + */ + @Input + abstract Property getRepository(); + + /** + * Git reference to use. + */ + @Input + abstract Property getRef() + + /** + * Directory where the project template should be copied. + */ + @OutputDirectory + final File outputDirectory = project.file("$project.buildDir/$name") + + @TaskAction + void checkoutAndCopy() { + outputDirectory.deleteDir() + File checkoutDir = checkout(this, getRemoteUri(), ref.get()) + moveToOutputDir(checkoutDir, outputDirectory) + } + + private static File cleanTemporaryDir(Task task, File tmpDir) { + if (tmpDir.exists()) { + task.project.delete(tmpDir) + } + return tmpDir + } + + static File checkout(Task task, String remoteUri, String ref) { + checkout(task, remoteUri, ref, task.getTemporaryDir()) + } + + @TypeChecked(TypeCheckingMode.SKIP) + static File checkout(Task task, String remoteUri, String ref, File checkoutDir) { + cleanTemporaryDir(task, checkoutDir) + task.project.exec { + commandLine = ["git", "clone", "--no-checkout", remoteUri, checkoutDir.absolutePath] + errorOutput = System.err + } + task.project.exec { + commandLine = ["git", "checkout", ref] + workingDir = checkoutDir + errorOutput = System.err + } + return checkoutDir + } + + private static void moveToOutputDir(File tmpDir, File outputDirectory) { + File baseDir = tmpDir + baseDir.renameTo(outputDirectory) + } + + private String getRemoteUri() { + String remoteUri = this.repository.get() + if (remoteUri.startsWith(DEFAULT_URI_PREFIX)) { + return remoteUri + } + return DEFAULT_URI_PREFIX + remoteUri + } +} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/AbstractSpringJavaPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/AbstractSpringJavaPlugin.groovy new file mode 100644 index 0000000..546f507 --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/AbstractSpringJavaPlugin.groovy @@ -0,0 +1,72 @@ +/* + * Copyright 2002-2016 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package io.spring.gradle.convention; + +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.plugins.GroovyPlugin; +import org.gradle.api.plugins.JavaPlugin +import org.gradle.api.plugins.PluginManager; +import org.gradle.plugins.ide.eclipse.EclipseWtpPlugin; +import org.gradle.plugins.ide.idea.IdeaPlugin; +import org.springframework.gradle.CopyPropertiesPlugin +import org.springframework.gradle.propdeps.PropDepsEclipsePlugin +import org.springframework.gradle.propdeps.PropDepsIdeaPlugin +import org.springframework.gradle.propdeps.PropDepsPlugin; + +/** + * @author Rob Winch + */ +public abstract class AbstractSpringJavaPlugin implements Plugin { + + @Override + public final void apply(Project project) { + PluginManager pluginManager = project.getPluginManager(); + pluginManager.apply(JavaPlugin.class); + pluginManager.apply(ManagementConfigurationPlugin.class) + if (project.file("src/main/groovy").exists() + || project.file("src/test/groovy").exists() + || project.file("src/integration-test/groovy").exists()) { + pluginManager.apply(GroovyPlugin.class); + } + pluginManager.apply("io.spring.convention.repository"); + pluginManager.apply(EclipseWtpPlugin); + pluginManager.apply(IdeaPlugin); + pluginManager.apply(PropDepsPlugin); + pluginManager.apply(PropDepsEclipsePlugin); + pluginManager.apply(PropDepsIdeaPlugin); + pluginManager.apply("io.spring.convention.tests-configuration"); + pluginManager.apply("io.spring.convention.integration-test"); + pluginManager.apply("io.spring.convention.javadoc-options"); + pluginManager.apply("io.spring.convention.checkstyle"); + pluginManager.apply(CopyPropertiesPlugin); + + project.jar { + manifest.attributes["Created-By"] = + "${System.getProperty("java.version")} (${System.getProperty("java.specification.vendor")})" + manifest.attributes["Implementation-Title"] = project.name + manifest.attributes["Implementation-Version"] = project.version + manifest.attributes["Automatic-Module-Name"] = project.name.replace('-', '.') + } + project.test { + useJUnitPlatform() + } + additionalPlugins(project); + } + + protected abstract void additionalPlugins(Project project); +} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/ArtifactoryPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/ArtifactoryPlugin.groovy new file mode 100644 index 0000000..3292ca4 --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/ArtifactoryPlugin.groovy @@ -0,0 +1,45 @@ +/* + * Copyright 2002-2017 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package io.spring.gradle.convention + +import org.gradle.api.Plugin +import org.gradle.api.Project + +class ArtifactoryPlugin implements Plugin { + + @Override + void apply(Project project) { + project.plugins.apply('com.jfrog.artifactory') + String name = Utils.getProjectName(project); + boolean isSnapshot = Utils.isSnapshot(project); + boolean isMilestone = Utils.isMilestone(project); + project.artifactory { + contextUrl = 'https://repo.spring.io' + publish { + repository { + repoKey = isSnapshot ? 'libs-snapshot-local' : isMilestone ? 'libs-milestone-local' : 'libs-release-local' + if(project.hasProperty('artifactoryUsername')) { + username = artifactoryUsername + password = artifactoryPassword + } + } + defaults { + publications('mavenJava') + } + } + } + } +} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/CheckstylePlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/CheckstylePlugin.groovy new file mode 100644 index 0000000..cf9730c --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/CheckstylePlugin.groovy @@ -0,0 +1,49 @@ +/* + * Copyright 2016-2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package io.spring.gradle.convention + +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.plugins.JavaPlugin + +/** + * Adds and configures Checkstyle plugin. + * + * @author Vedran Pavic + */ +class CheckstylePlugin implements Plugin { + + final CHECKSTYLE_DIR = 'etc/checkstyle' + + @Override + void apply(Project project) { + project.plugins.withType(JavaPlugin) { + def checkstyleDir = project.rootProject.file(CHECKSTYLE_DIR) + if (checkstyleDir.exists() && checkstyleDir.directory) { + project.getPluginManager().apply('checkstyle') + project.dependencies.add('checkstyle', 'io.spring.javaformat:spring-javaformat-checkstyle:0.0.15') + project.dependencies.add('checkstyle', 'io.spring.nohttp:nohttp-checkstyle:0.0.10') + + project.checkstyle { + configDirectory = checkstyleDir + toolVersion = '8.21' + } + } + } + } + +} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/DeployDocsPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/DeployDocsPlugin.groovy new file mode 100644 index 0000000..bf1add5 --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/DeployDocsPlugin.groovy @@ -0,0 +1,82 @@ +/* + * Copyright 2002-2017 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package io.spring.gradle.convention + +import org.gradle.api.plugins.JavaPlugin +import org.gradle.api.tasks.bundling.Zip +import org.gradle.api.Plugin +import org.gradle.api.Project + +public class DeployDocsPlugin implements Plugin { + + @Override + public void apply(Project project) { + project.getPluginManager().apply('org.hidetake.ssh') + + project.ssh.settings { + knownHosts = allowAnyHosts + } + project.remotes { + docs { + role 'docs' + if (project.hasProperty('deployDocsHost')) { + host = project.findProperty('deployDocsHost') + } else { + host = 'docs.af.pivotal.io' + } + retryCount = 5 // retry 5 times (default is 0) + retryWaitSec = 10 // wait 10 seconds between retries (default is 0) + user = project.findProperty('deployDocsSshUsername') + if (project.hasProperty('deployDocsSshKeyPath')) { + identity = project.file(project.findProperty('deployDocsSshKeyPath')) + } else if (project.hasProperty('deployDocsSshKey')) { + identity = project.findProperty('deployDocsSshKey') + } + if(project.hasProperty('deployDocsSshPassphrase')) { + passphrase = project.findProperty('deployDocsSshPassphrase') + } + } + } + + project.task('deployDocs') { + dependsOn 'docsZip' + doFirst { + project.ssh.run { + session(project.remotes.docs) { + def now = System.currentTimeMillis() + def name = project.rootProject.name + def version = project.rootProject.version + def tempPath = "/tmp/${name}-${now}-docs/".replaceAll(' ', '_') + execute "mkdir -p $tempPath" + + project.tasks.docsZip.outputs.each { o -> + put from: o.files, into: tempPath + } + + execute "unzip $tempPath*.zip -d $tempPath" + + def extractPath = "/var/www/domains/spring.io/docs/htdocs/autorepo/docs/${name}/${version}/" + + execute "rm -rf $extractPath" + execute "mkdir -p $extractPath" + execute "mv $tempPath/docs/* $extractPath" + execute "chmod -R g+w $extractPath" + } + } + } + } + } +} \ No newline at end of file diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/DocsPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/DocsPlugin.groovy new file mode 100644 index 0000000..c62fef7 --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/DocsPlugin.groovy @@ -0,0 +1,45 @@ +package io.spring.gradle.convention + +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.Task +import org.gradle.api.plugins.BasePlugin +import org.gradle.api.plugins.PluginManager +import org.gradle.api.tasks.bundling.Zip + +/** + * Aggregates asciidoc, javadoc, and deploying of the docs into a single plugin + */ +public class DocsPlugin implements Plugin { + + @Override + public void apply(Project project) { + + PluginManager pluginManager = project.getPluginManager(); + pluginManager.apply(BasePlugin); + pluginManager.apply(DeployDocsPlugin); + pluginManager.apply(JavadocApiPlugin); + + Task docsZip = project.tasks.create('docsZip', Zip) { + dependsOn 'api' + group = 'Distribution' + archiveBaseName = project.rootProject.name + archiveClassifier = 'docs' + description = "Builds -${archiveClassifier.get()} archive containing all " + + "Docs for deployment at docs.spring.io" + + from(project.tasks.api.outputs) { + into 'api' + } + into 'docs' + duplicatesStrategy 'exclude' + } + + Task docs = project.tasks.create("docs") { + group = 'Documentation' + description 'An aggregator task to generate all the documentation' + dependsOn docsZip + } + project.tasks.assemble.dependsOn docs + } +} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/IncludeCheckRemotePlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/IncludeCheckRemotePlugin.groovy new file mode 100644 index 0000000..929338c --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/IncludeCheckRemotePlugin.groovy @@ -0,0 +1,80 @@ +/* + * Copyright 2002-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package io.spring.gradle.convention + +import io.spring.gradle.IncludeRepoTask +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.tasks.GradleBuild +import org.gradle.api.tasks.TaskProvider + +/** + * Adds a set of tasks that make easy to clone a remote repository and perform some task + * + * @author Marcus Da Coregio + */ +class IncludeCheckRemotePlugin implements Plugin { + @Override + void apply(Project project) { + IncludeCheckRemoteExtension extension = project.extensions.create('includeCheckRemote', IncludeCheckRemoteExtension) + TaskProvider includeRepoTask = project.tasks.register('includeRepo', IncludeRepoTask) { IncludeRepoTask it -> + it.repository = extension.repository + it.ref = extension.ref + } + project.tasks.register('checkRemote', GradleBuild) { + it.dependsOn 'includeRepo' + it.dir = includeRepoTask.get().outputDirectory + it.tasks = extension.getTasks() + extension.getInitScripts().forEach {script -> + it.startParameter.addInitScript(new File(script)) + } + extension.getProjectProperties().entrySet().forEach { entry -> + it.startParameter.projectProperties.put(entry.getKey(), entry.getValue()) + } + } + } + + abstract static class IncludeCheckRemoteExtension { + + /** + * Git repository to clone + */ + String repository; + + /** + * Git ref to checkout + */ + String ref + + /** + * Task to run in the repository + */ + List tasks = ['check'] + + /** + * Init scripts for the build + */ + List initScripts = [] + + /** + * Map of properties for the build + */ + Map projectProperties = [:] + + } + +} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/IntegrationTestPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/IntegrationTestPlugin.groovy new file mode 100644 index 0000000..059fdfb --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/IntegrationTestPlugin.groovy @@ -0,0 +1,130 @@ +/* + * Copyright 2016-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package io.spring.gradle.convention + +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.Task +import org.gradle.api.plugins.GroovyPlugin +import org.gradle.api.plugins.JavaPlugin +import org.gradle.api.tasks.testing.Test +import org.gradle.plugins.ide.eclipse.EclipsePlugin +import org.gradle.plugins.ide.idea.IdeaPlugin +import org.springframework.gradle.propdeps.PropDepsPlugin + +/** + * + * Adds support for integration tests to java projects. + * + *
    + *
  • Adds integrationTestCompile and integrationTestRuntime configurations
  • + *
  • A new source test folder of src/integration-test/java has been added
  • + *
  • A task to run integration tests named integrationTest is added
  • + *
  • If Groovy plugin is added a new source test folder src/integration-test/groovy is added
  • + *
+ * + * @author Rob Winch + */ +public class IntegrationTestPlugin implements Plugin { + + @Override + public void apply(Project project) { + project.plugins.withType(JavaPlugin.class) { + applyJava(project) + } + } + + private applyJava(Project project) { + if(!project.file('src/integration-test/').exists()) { + // ensure we don't add if no tests to avoid adding Gretty + return + } + project.configurations { + integrationTestCompile { + extendsFrom testImplementation + } + integrationTestRuntime { + extendsFrom integrationTestCompile, testRuntime, testRuntimeOnly + } + integrationTestCompileClasspath { + extendsFrom integrationTestCompile + canBeResolved = true + } + integrationTestRuntimeClasspath { + extendsFrom integrationTestRuntime + canBeResolved = true + } + } + + project.sourceSets { + integrationTest { + java.srcDir project.file('src/integration-test/java') + resources.srcDir project.file('src/integration-test/resources') + compileClasspath = project.sourceSets.main.output + project.sourceSets.test.output + project.configurations.integrationTestCompileClasspath + runtimeClasspath = output + compileClasspath + project.configurations.integrationTestRuntimeClasspath + } + } + + Task integrationTestTask = project.tasks.create("integrationTest", Test) { + group = 'Verification' + description = 'Runs the integration tests.' + dependsOn 'jar' + testClassesDirs = project.sourceSets.integrationTest.output.classesDirs + classpath = project.sourceSets.integrationTest.runtimeClasspath + shouldRunAfter project.tasks.test + useJUnitPlatform() + } + project.tasks.check.dependsOn integrationTestTask + + project.plugins.withType(IdeaPlugin) { + project.idea { + module { + testSourceDirs += project.file('src/integration-test/java') + scopes.TEST.plus += [ project.configurations.integrationTestCompileClasspath ] + } + } + } + + project.plugins.withType(GroovyPlugin) { + project.sourceSets { + integrationTest { + groovy.srcDirs project.file('src/integration-test/groovy') + } + } + project.plugins.withType(IdeaPlugin) { + project.idea { + module { + testSourceDirs += project.file('src/integration-test/groovy') + } + } + } + } + + project.plugins.withType(PropDepsPlugin) { + project.configurations { + integrationTestCompile { + extendsFrom optional, provided + } + } + } + + project.plugins.withType(EclipsePlugin) { + project.eclipse.classpath { + plusConfigurations += [ project.configurations.integrationTestCompileClasspath ] + } + } + } +} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/JacocoPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/JacocoPlugin.groovy new file mode 100644 index 0000000..8f558ea --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/JacocoPlugin.groovy @@ -0,0 +1,41 @@ +/* + * Copyright 2016-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package io.spring.gradle.convention + +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.plugins.JavaPlugin + +/** + * Adds a version of jacoco to use and makes check depend on jacocoTestReport. + * + * @author Rob Winch + */ +class JacocoPlugin implements Plugin { + + @Override + void apply(Project project) { + project.plugins.withType(JavaPlugin) { + project.getPluginManager().apply("jacoco") + project.tasks.check.dependsOn project.tasks.jacocoTestReport + + project.jacoco { + toolVersion = '0.8.7' + } + } + } +} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/JavadocApiPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/JavadocApiPlugin.groovy new file mode 100644 index 0000000..ef864b0 --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/JavadocApiPlugin.groovy @@ -0,0 +1,116 @@ +/* + * Copyright 2002-2016 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package io.spring.gradle.convention; + +import java.io.File; +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; +import java.util.regex.Pattern; + +import org.gradle.api.Action; +import org.gradle.api.JavaVersion +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.plugins.JavaPluginConvention; +import org.gradle.api.tasks.SourceSet; +import org.gradle.api.tasks.javadoc.Javadoc; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author Rob Winch + */ +public class JavadocApiPlugin implements Plugin { + Logger logger = LoggerFactory.getLogger(getClass()); + Set excludes = Collections.singleton(Pattern.compile("test")); + + @Override + public void apply(Project project) { + logger.info("Applied"); + Project rootProject = project.getRootProject(); + + + //Task docs = project.getTasks().findByPath("docs") ?: project.getTasks().create("docs"); + Javadoc api = project.getTasks().create("api", Javadoc); + + api.setGroup("Documentation"); + api.setDescription("Generates aggregated Javadoc API documentation."); + api.doLast { + if (JavaVersion.current().isJava11Compatible()) { + project.copy({ copy -> copy + .from(api.destinationDir) + .into(api.destinationDir) + .include("element-list") + .rename("element-list", "package-list") + }); + } + } + + Set subprojects = rootProject.getSubprojects(); + for (Project subproject : subprojects) { + addProject(api, subproject); + } + + if (subprojects.isEmpty()) { + addProject(api, project); + } + + api.setMaxMemory("1024m"); + api.setDestinationDir(new File(project.getBuildDir(), "api")); + + project.getPluginManager().apply("io.spring.convention.javadoc-options"); + } + + public void setExcludes(String... excludes) { + if(excludes == null) { + this.excludes = Collections.emptySet(); + } + this.excludes = new HashSet(excludes.length); + for(String exclude : excludes) { + this.excludes.add(Pattern.compile(exclude)); + } + } + + private void addProject(final Javadoc api, final Project project) { + for(Pattern exclude : excludes) { + if(exclude.matcher(project.getName()).matches()) { + logger.info("Skipping {} because it is excluded by {}", project, exclude); + return; + } + } + logger.info("Try add sources for {}", project); + project.getPlugins().withType(SpringModulePlugin.class).all(new Action() { + @Override + public void execute(SpringModulePlugin plugin) { + logger.info("Added sources for {}", project); + + JavaPluginConvention java = project.getConvention().getPlugin(JavaPluginConvention.class); + SourceSet mainSourceSet = java.getSourceSets().getByName("main"); + + api.setSource(api.getSource().plus(mainSourceSet.getAllJava())); + project.getTasks().withType(Javadoc.class).all(new Action() { + @Override + public void execute(Javadoc projectJavadoc) { + api.setClasspath(api.getClasspath().plus(projectJavadoc.getClasspath())); + } + }); + } + }); + } +} + diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/JavadocOptionsPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/JavadocOptionsPlugin.groovy new file mode 100644 index 0000000..e0fef7e --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/JavadocOptionsPlugin.groovy @@ -0,0 +1,15 @@ +package io.spring.gradle.convention + +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.tasks.javadoc.Javadoc + +public class JavadocOptionsPlugin implements Plugin { + + @Override + public void apply(Project project) { + project.getTasks().withType(Javadoc).all { t-> + t.options.addStringOption('Xdoclint:none', '-quiet') + } + } +} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/ManagementConfigurationPlugin.java b/buildSrc/src/main/groovy/io/spring/gradle/convention/ManagementConfigurationPlugin.java new file mode 100644 index 0000000..8db6fd9 --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/ManagementConfigurationPlugin.java @@ -0,0 +1,74 @@ +/* + * Copyright 2002-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.spring.gradle.convention; + +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.artifacts.ConfigurationContainer; +import org.gradle.api.plugins.JavaPlugin; +import org.gradle.api.plugins.JavaTestFixturesPlugin; +import org.gradle.api.plugins.PluginContainer; +import org.gradle.api.publish.PublishingExtension; +import org.gradle.api.publish.maven.MavenPublication; +import org.gradle.api.publish.maven.plugins.MavenPublishPlugin; + +import org.springframework.gradle.propdeps.PropDepsPlugin; + +/** + * Creates a Management configuration that is appropriate for adding a platform to that is not exposed externally. If + * the JavaPlugin is applied, the compileClasspath, runtimeClasspath, testCompileClasspath, and testRuntimeClasspath + * will extend from it. + * @author Rob Winch + */ +public class ManagementConfigurationPlugin implements Plugin { + + public static final String MANAGEMENT_CONFIGURATION_NAME = "management"; + + @Override + public void apply(Project project) { + ConfigurationContainer configurations = project.getConfigurations(); + configurations.create(MANAGEMENT_CONFIGURATION_NAME, (management) -> { + management.setVisible(false); + management.setCanBeConsumed(false); + management.setCanBeResolved(false); + + PluginContainer plugins = project.getPlugins(); + plugins.withType(JavaPlugin.class, (javaPlugin) -> { + configurations.getByName(JavaPlugin.COMPILE_CLASSPATH_CONFIGURATION_NAME).extendsFrom(management); + configurations.getByName(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME).extendsFrom(management); + configurations.getByName(JavaPlugin.TEST_COMPILE_CLASSPATH_CONFIGURATION_NAME).extendsFrom(management); + configurations.getByName(JavaPlugin.TEST_RUNTIME_CLASSPATH_CONFIGURATION_NAME).extendsFrom(management); + }); + plugins.withType(JavaTestFixturesPlugin.class, (javaTestFixturesPlugin) -> { + configurations.getByName("testFixturesCompileClasspath").extendsFrom(management); + configurations.getByName("testFixturesRuntimeClasspath").extendsFrom(management); + }); + plugins.withType(MavenPublishPlugin.class, (mavenPublish) -> { + PublishingExtension publishing = project.getExtensions().getByType(PublishingExtension.class); + publishing.getPublications().withType(MavenPublication.class, (mavenPublication -> { + mavenPublication.versionMapping((versions) -> + versions.allVariants(versionMapping -> versionMapping.fromResolutionResult()) + ); + })); + }); + plugins.withType(PropDepsPlugin.class, (propDepsPlugin -> { + configurations.getByName("optional").extendsFrom(management); + configurations.getByName("provided").extendsFrom(management); + })); + }); + } +} \ No newline at end of file diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/MavenBomPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/MavenBomPlugin.groovy new file mode 100644 index 0000000..fe94e81 --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/MavenBomPlugin.groovy @@ -0,0 +1,18 @@ +package io.spring.gradle.convention + +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.plugins.JavaPlatformPlugin +import org.sonarqube.gradle.SonarQubePlugin +import org.springframework.gradle.CopyPropertiesPlugin +import org.springframework.gradle.maven.SpringMavenPlugin + +public class MavenBomPlugin implements Plugin { + static String MAVEN_BOM_TASK_NAME = "mavenBom" + + public void apply(Project project) { + project.plugins.apply(JavaPlatformPlugin) + project.plugins.apply(SpringMavenPlugin) + project.plugins.apply(CopyPropertiesPlugin) + } +} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/RepositoryConventionPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/RepositoryConventionPlugin.groovy new file mode 100644 index 0000000..407163d --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/RepositoryConventionPlugin.groovy @@ -0,0 +1,79 @@ +/* + * Copyright 2016-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package io.spring.gradle.convention; + +import org.gradle.api.Plugin +import org.gradle.api.Project + +class RepositoryConventionPlugin implements Plugin { + + @Override + void apply(Project project) { + String[] forceMavenRepositories = ((String) project.findProperty("forceMavenRepositories"))?.split(',') + boolean isImplicitSnapshotRepository = forceMavenRepositories == null && Utils.isSnapshot(project) + boolean isImplicitMilestoneRepository = forceMavenRepositories == null && Utils.isMilestone(project) + + boolean isSnapshot = isImplicitSnapshotRepository || forceMavenRepositories?.contains('snapshot') + boolean isMilestone = isImplicitMilestoneRepository || forceMavenRepositories?.contains('milestone') + + project.repositories { + if (forceMavenRepositories?.contains('local')) { + mavenLocal() + } + mavenCentral() + if (isSnapshot) { + maven { + name = 'artifactory-snapshot' + if (project.hasProperty('artifactoryUsername')) { + credentials { + username project.artifactoryUsername + password project.artifactoryPassword + } + } + url = 'https://repo.spring.io/snapshot/' + } + } + if (isSnapshot || isMilestone) { + maven { + name = 'artifactory-milestone' + if (project.hasProperty('artifactoryUsername')) { + credentials { + username project.artifactoryUsername + password project.artifactoryPassword + } + } + url = 'https://repo.spring.io/milestone/' + } + } + maven { + name = 'artifactory-release' + if (project.hasProperty('artifactoryUsername')) { + credentials { + username project.artifactoryUsername + password project.artifactoryPassword + } + } + url = 'https://repo.spring.io/release/' + } + maven { + name = 'shibboleth' + url = 'https://build.shibboleth.net/nexus/content/repositories/releases/' + } + } + } + +} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/RootProjectPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/RootProjectPlugin.groovy new file mode 100644 index 0000000..506c5e0 --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/RootProjectPlugin.groovy @@ -0,0 +1,61 @@ +/* + * Copyright 2016-2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package io.spring.gradle.convention + +import io.spring.nohttp.gradle.NoHttpPlugin +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.plugins.BasePlugin +import org.gradle.api.plugins.PluginManager +import org.springframework.gradle.classpath.CheckProhibitedDependenciesLifecyclePlugin +import org.springframework.gradle.maven.SpringNexusPublishPlugin + +class RootProjectPlugin implements Plugin { + + @Override + void apply(Project project) { + PluginManager pluginManager = project.getPluginManager() + pluginManager.apply(BasePlugin) + pluginManager.apply(SchemaPlugin) + pluginManager.apply(NoHttpPlugin) + pluginManager.apply(SpringNexusPublishPlugin) + pluginManager.apply(CheckProhibitedDependenciesLifecyclePlugin) + pluginManager.apply("org.sonarqube") + + project.repositories.mavenCentral() + + String projectName = Utils.getProjectName(project) + project.sonarqube { + properties { + property "sonar.java.coveragePlugin", "jacoco" + property "sonar.projectName", projectName + property "sonar.jacoco.reportPath", "${project.buildDir.name}/jacoco.exec" + property "sonar.links.homepage", "https://spring.io/${projectName}" + property "sonar.links.ci", "https://jenkins.spring.io/job/${projectName}/" + property "sonar.links.issue", "https://github.com/spring-projects/${projectName}/issues" + property "sonar.links.scm", "https://github.com/spring-projects/${projectName}" + property "sonar.links.scm_dev", "https://github.com/spring-projects/${projectName}.git" + } + } + + def finalizeDeployArtifacts = project.task("finalizeDeployArtifacts") + if (Utils.isRelease(project) && project.hasProperty("ossrhUsername")) { + finalizeDeployArtifacts.dependsOn project.tasks.closeAndReleaseOssrhStagingRepository + } + } + +} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/SchemaDeployPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/SchemaDeployPlugin.groovy new file mode 100644 index 0000000..4b9c038 --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/SchemaDeployPlugin.groovy @@ -0,0 +1,71 @@ +package io.spring.gradle.convention + +import org.gradle.api.plugins.JavaPlugin +import org.gradle.api.tasks.bundling.Zip +import org.gradle.api.Plugin +import org.gradle.api.Project + +public class SchemaDeployPlugin implements Plugin { + + @Override + public void apply(Project project) { + project.getPluginManager().apply('org.hidetake.ssh') + + project.ssh.settings { + knownHosts = allowAnyHosts + } + project.remotes { + docs { + role 'docs' + if (project.hasProperty('deployDocsHost')) { + host = project.findProperty('deployDocsHost') + } else { + host = 'docs.af.pivotal.io' + } + retryCount = 5 // retry 5 times (default is 0) + retryWaitSec = 10 // wait 10 seconds between retries (default is 0) + user = project.findProperty('deployDocsSshUsername') + if(project.hasProperty('deployDocsSshKeyPath')) { + identity = project.file(project.findProperty('deployDocsSshKeyPath')) + } else if (project.hasProperty('deployDocsSshKey')) { + identity = project.findProperty('deployDocsSshKey') + } + if(project.hasProperty('deployDocsSshPassphrase')) { + passphrase = project.findProperty('deployDocsSshPassphrase') + } + } + } + + project.task('deploySchema') { + dependsOn 'schemaZip' + doFirst { + project.ssh.run { + session(project.remotes.docs) { + def now = System.currentTimeMillis() + def name = project.rootProject.name + def version = project.rootProject.version + def tempPath = "/tmp/${name}-${now}-schema/".replaceAll(' ', '_') + + execute "mkdir -p $tempPath" + + project.tasks.schemaZip.outputs.each { o -> + println "Putting $o.files" + put from: o.files, into: tempPath + } + + execute "unzip $tempPath*.zip -d $tempPath" + + def extractPath = "/var/www/domains/spring.io/docs/htdocs/autorepo/schema/${name}/${version}/" + + execute "rm -rf $extractPath" + execute "mkdir -p $extractPath" + execute "rm -f $tempPath*.zip" + execute "rm -rf $extractPath*" + execute "mv $tempPath/* $extractPath" + execute "chmod -R g+w $extractPath" + } + } + } + } + } +} \ No newline at end of file diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/SchemaPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/SchemaPlugin.groovy new file mode 100644 index 0000000..769ae80 --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/SchemaPlugin.groovy @@ -0,0 +1,15 @@ +package io.spring.gradle.convention + +import org.gradle.api.plugins.JavaPlugin +import org.gradle.api.tasks.bundling.Zip +import org.gradle.api.Plugin +import org.gradle.api.Project + +public class SchemaPlugin implements Plugin { + + @Override + public void apply(Project project) { + project.getPluginManager().apply(SchemaZipPlugin) + project.getPluginManager().apply(SchemaDeployPlugin) + } +} \ No newline at end of file diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/SchemaZipPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/SchemaZipPlugin.groovy new file mode 100644 index 0000000..72de4b3 --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/SchemaZipPlugin.groovy @@ -0,0 +1,43 @@ +package io.spring.gradle.convention + +import org.gradle.api.plugins.JavaPlugin +import org.gradle.api.tasks.bundling.Zip +import org.gradle.api.Plugin +import org.gradle.api.Project + +public class SchemaZipPlugin implements Plugin { + + @Override + public void apply(Project project) { + Zip schemaZip = project.tasks.create('schemaZip', Zip) + schemaZip.group = 'Distribution' + schemaZip.archiveBaseName = project.rootProject.name + schemaZip.archiveClassifier = 'schema' + schemaZip.description = "Builds -${schemaZip.archiveClassifier} archive containing all " + + "XSDs for deployment at static.springframework.org/schema." + + project.rootProject.subprojects.each { module -> + + module.getPlugins().withType(JavaPlugin.class).all { + def Properties schemas = new Properties(); + + module.sourceSets.main.resources.find { + it.path.endsWith('META-INF/spring.schemas') + }?.withInputStream { schemas.load(it) } + + for (def key : schemas.keySet()) { + def shortName = key.replaceAll(/http.*schema.(.*).spring-.*/, '$1') + assert shortName != key + File xsdFile = module.sourceSets.main.resources.find { + it.path.endsWith(schemas.get(key)) + } + assert xsdFile != null + schemaZip.into (shortName) { + duplicatesStrategy 'exclude' + from xsdFile.path + } + } + } + } + } +} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/SortedProperties.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/SortedProperties.groovy new file mode 100644 index 0000000..5b950d8 --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/SortedProperties.groovy @@ -0,0 +1,52 @@ +/* + * Copyright 2002-2017 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.spring.gradle.convention; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.Enumeration; +import java.util.List; +import java.util.Properties; + +/** + * A Properties which sorts they keys so that they can be written to a File with + * the keys sorted. + * + * @author Rob Winch + * + */ +class SortedProperties extends Properties { + private static final long serialVersionUID = -6199017589626540836L; + + public Enumeration keys() { + Enumeration keysEnum = super.keys(); + List keyList = new ArrayList(); + + while (keysEnum.hasMoreElements()) { + keyList.add(keysEnum.nextElement()); + } + + Collections.sort(keyList, new Comparator() { + @Override + public int compare(Object o1, Object o2) { + return o1.toString().compareTo(o2.toString()); + } + }); + + return Collections.enumeration(keyList); + } +} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/SpringModulePlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/SpringModulePlugin.groovy new file mode 100644 index 0000000..0c1027f --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/SpringModulePlugin.groovy @@ -0,0 +1,47 @@ +/* + * Copyright 2016-2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package io.spring.gradle.convention; + +import org.gradle.api.Project +import org.gradle.api.plugins.JavaLibraryPlugin; +import org.gradle.api.plugins.MavenPlugin; +import org.gradle.api.plugins.PluginManager +import org.springframework.gradle.classpath.CheckClasspathForProhibitedDependenciesPlugin; +import org.springframework.gradle.maven.SpringMavenPlugin; + +/** + * @author Rob Winch + */ +class SpringModulePlugin extends AbstractSpringJavaPlugin { + + @Override + void additionalPlugins(Project project) { + PluginManager pluginManager = project.getPluginManager(); + pluginManager.apply(JavaLibraryPlugin.class) + pluginManager.apply(SpringMavenPlugin.class); + pluginManager.apply(CheckClasspathForProhibitedDependenciesPlugin.class); + pluginManager.apply("io.spring.convention.jacoco"); + + def deployArtifacts = project.task("deployArtifacts") + deployArtifacts.group = 'Deploy tasks' + deployArtifacts.description = "Deploys the artifacts to either Artifactory or Maven Central" + if (!Utils.isRelease(project)) { + deployArtifacts.dependsOn project.tasks.artifactoryPublish + } + } + +} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/SpringTestPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/SpringTestPlugin.groovy new file mode 100644 index 0000000..55807dc --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/SpringTestPlugin.groovy @@ -0,0 +1,30 @@ +/* + * Copyright 2002-2016 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package io.spring.gradle.convention; + +import org.gradle.api.Project; + +/** + * @author Rob Winch + */ +public class SpringTestPlugin extends AbstractSpringJavaPlugin { + + @Override + public void additionalPlugins(Project project) { + project.sonarqube.skipProject = true + } +} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/TestsConfigurationPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/TestsConfigurationPlugin.groovy new file mode 100644 index 0000000..99aac80 --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/TestsConfigurationPlugin.groovy @@ -0,0 +1,54 @@ +/* + * Copyright 2002-2017 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package io.spring.gradle.convention; + +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.plugins.JavaPlugin +import org.gradle.jvm.tasks.Jar + +/** + * Adds the ability to depends on the test jar within other projects using: + * + * + * testCompile project(path: ':foo', configuration: 'tests') + * + * + * @author Rob Winch + */ +public class TestsConfigurationPlugin implements Plugin { + @Override + public void apply(Project project) { + project.plugins.withType(JavaPlugin) { + applyJavaProject(project) + } + } + + private void applyJavaProject(Project project) { + project.configurations { + tests.extendsFrom testRuntime, testRuntimeClasspath + } + + project.tasks.create('testJar', Jar) { + classifier = 'test' + from project.sourceSets.test.output + } + + project.artifacts { + tests project.testJar + } + } +} diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/Utils.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/Utils.groovy new file mode 100644 index 0000000..8f5a6a9 --- /dev/null +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/Utils.groovy @@ -0,0 +1,34 @@ +package io.spring.gradle.convention; + +import org.gradle.api.Project; + +public class Utils { + + static String getProjectName(Project project) { + String projectName = project.getRootProject().getName(); + if(projectName.endsWith("-build")) { + projectName = projectName.substring(0, projectName.length() - "-build".length()); + } + return projectName; + } + + static boolean isSnapshot(Project project) { + String projectVersion = projectVersion(project) + return projectVersion.matches('^.*([.-]BUILD)?-SNAPSHOT$') + } + + static boolean isMilestone(Project project) { + String projectVersion = projectVersion(project) + return projectVersion.matches('^.*[.-]M\\d+$') || projectVersion.matches('^.*[.-]RC\\d+$') + } + + static boolean isRelease(Project project) { + return !(isSnapshot(project) || isMilestone(project)) + } + + private static String projectVersion(Project project) { + return String.valueOf(project.getVersion()); + } + + private Utils() {} +} diff --git a/buildSrc/src/main/java/lock/GlobalLockPlugin.java b/buildSrc/src/main/java/lock/GlobalLockPlugin.java new file mode 100644 index 0000000..ee458eb --- /dev/null +++ b/buildSrc/src/main/java/lock/GlobalLockPlugin.java @@ -0,0 +1,16 @@ +package lock; + +import org.gradle.api.Plugin; +import org.gradle.api.Project; + +/** + * @author Rob Winch + */ +public class GlobalLockPlugin implements Plugin { + @Override + public void apply(Project project) { + project.getTasks().register("writeLocks", GlobalLockTask.class, (writeAll) -> { + writeAll.setDescription("Writes the locks for all projects"); + }); + } +} diff --git a/buildSrc/src/main/java/lock/GlobalLockTask.java b/buildSrc/src/main/java/lock/GlobalLockTask.java new file mode 100644 index 0000000..20a8f8f --- /dev/null +++ b/buildSrc/src/main/java/lock/GlobalLockTask.java @@ -0,0 +1,40 @@ +package lock; + +import org.gradle.api.Action; +import org.gradle.api.DefaultTask; +import org.gradle.api.Project; +import org.gradle.api.artifacts.Configuration; +import org.gradle.api.tasks.TaskAction; + +import java.util.function.Consumer; + +/** + * @author Rob Winch + */ +public class GlobalLockTask extends DefaultTask { + @TaskAction + public void lock() { + Project taskProject = getProject(); + if (!taskProject.getGradle().getStartParameter().isWriteDependencyLocks()) { + throw new IllegalStateException("You just specify --write-locks argument"); + } + writeLocksFor(taskProject); + taskProject.getSubprojects().forEach(new Consumer() { + @Override + public void accept(Project subproject) { + writeLocksFor(subproject); + } + }); + } + + private void writeLocksFor(Project project) { + project.getConfigurations().configureEach(new Action() { + @Override + public void execute(Configuration configuration) { + if (configuration.isCanBeResolved()) { + configuration.resolve(); + } + } + }); + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/CopyPropertiesPlugin.java b/buildSrc/src/main/java/org/springframework/gradle/CopyPropertiesPlugin.java new file mode 100644 index 0000000..69a2dd9 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/CopyPropertiesPlugin.java @@ -0,0 +1,22 @@ +package org.springframework.gradle; + +import org.gradle.api.Plugin; +import org.gradle.api.Project; + +public class CopyPropertiesPlugin implements Plugin { + @Override + public void apply(Project project) { + copyPropertyFromRootProjectTo("group", project); + copyPropertyFromRootProjectTo("version", project); + copyPropertyFromRootProjectTo("description", project); + } + + + private void copyPropertyFromRootProjectTo(String propertyName, Project project) { + Project rootProject = project.getRootProject(); + Object property = rootProject.findProperty(propertyName); + if(property != null) { + project.setProperty(propertyName, property); + } + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/antora/AntoraVersionPlugin.java b/buildSrc/src/main/java/org/springframework/gradle/antora/AntoraVersionPlugin.java new file mode 100644 index 0000000..9a1f95d --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/antora/AntoraVersionPlugin.java @@ -0,0 +1,71 @@ +package org.springframework.gradle.antora; + +import org.gradle.api.Action; +import org.gradle.api.GradleException; +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.Task; +import org.gradle.api.tasks.TaskProvider; +import org.gradle.language.base.plugins.LifecycleBasePlugin; + +public class AntoraVersionPlugin implements Plugin { + public static final String ANTORA_CHECK_VERSION_TASK_NAME = "antoraCheckVersion"; + + @Override + public void apply(Project project) { + TaskProvider antoraCheckVersion = project.getTasks().register(ANTORA_CHECK_VERSION_TASK_NAME, CheckAntoraVersionTask.class, new Action() { + @Override + public void execute(CheckAntoraVersionTask antoraCheckVersion) { + antoraCheckVersion.setGroup(LifecycleBasePlugin.VERIFICATION_GROUP); + antoraCheckVersion.setDescription("Checks the antora.yml version properties match the Gradle version"); + antoraCheckVersion.getAntoraVersion().convention(project.provider(() -> getDefaultAntoraVersion(project))); + antoraCheckVersion.getAntoraPrerelease().convention(project.provider(() -> getDefaultAntoraPrerelease(project))); + antoraCheckVersion.getAntoraDisplayVersion().convention(project.provider(() -> getDefaultAntoraDisplayVersion(project))); + antoraCheckVersion.getAntoraYmlFile().fileProvider(project.provider(() -> project.file("antora.yml"))); + } + }); + project.getPlugins().withType(LifecycleBasePlugin.class, new Action() { + @Override + public void execute(LifecycleBasePlugin lifecycleBasePlugin) { + project.getTasks().named(LifecycleBasePlugin.CHECK_TASK_NAME).configure(new Action() { + @Override + public void execute(Task check) { + check.dependsOn(antoraCheckVersion); + } + }); + } + }); + project.getTasks().register("antoraUpdateVersion", UpdateAntoraVersionTask.class, new Action() { + @Override + public void execute(UpdateAntoraVersionTask antoraUpdateVersion) { + antoraUpdateVersion.setGroup("Release"); + antoraUpdateVersion.setDescription("Updates the antora.yml version properties to match the Gradle version"); + antoraUpdateVersion.getAntoraYmlFile().fileProvider(project.provider(() -> project.file("antora.yml"))); + } + }); + } + + private static String getDefaultAntoraVersion(Project project) { + String projectVersion = getProjectVersion(project); + return AntoraVersionUtils.getDefaultAntoraVersion(projectVersion); + } + + private static String getDefaultAntoraPrerelease(Project project) { + String projectVersion = getProjectVersion(project); + return AntoraVersionUtils.getDefaultAntoraPrerelease(projectVersion); + } + + private static String getDefaultAntoraDisplayVersion(Project project) { + String projectVersion = getProjectVersion(project); + return AntoraVersionUtils.getDefaultAntoraDisplayVersion(projectVersion); + } + + private static String getProjectVersion(Project project) { + Object projectVersion = project.getVersion(); + if (projectVersion == null) { + throw new GradleException("Please define antoraVersion and antoraPrerelease on " + ANTORA_CHECK_VERSION_TASK_NAME + " or provide a Project version so they can be defaulted"); + } + return String.valueOf(projectVersion); + } + +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/antora/AntoraVersionUtils.java b/buildSrc/src/main/java/org/springframework/gradle/antora/AntoraVersionUtils.java new file mode 100644 index 0000000..9bb17b5 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/antora/AntoraVersionUtils.java @@ -0,0 +1,55 @@ +/* + * Copyright 2019-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.antora; + +public class AntoraVersionUtils { + + public static String getDefaultAntoraVersion(String projectVersion) { + int preReleaseIndex = getSnapshotIndex(projectVersion); + return isSnapshot(projectVersion) ? projectVersion.substring(0, preReleaseIndex) : projectVersion; + } + + public static String getDefaultAntoraPrerelease(String projectVersion) { + if (isSnapshot(projectVersion)) { + int preReleaseIndex = getSnapshotIndex(projectVersion); + return projectVersion.substring(preReleaseIndex); + } + if (isPreRelease(projectVersion)) { + return Boolean.TRUE.toString(); + } + return null; + } + + public static String getDefaultAntoraDisplayVersion(String projectVersion) { + if (!isSnapshot(projectVersion) && isPreRelease(projectVersion)) { + return getDefaultAntoraVersion(projectVersion); + } + return null; + } + + private static boolean isSnapshot(String projectVersion) { + return getSnapshotIndex(projectVersion) >= 0; + } + + private static int getSnapshotIndex(String projectVersion) { + return projectVersion.lastIndexOf("-SNAPSHOT"); + } + + private static boolean isPreRelease(String projectVersion) { + return projectVersion.lastIndexOf("-") >= 0; + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/antora/CheckAntoraVersionTask.java b/buildSrc/src/main/java/org/springframework/gradle/antora/CheckAntoraVersionTask.java new file mode 100644 index 0000000..ae26a92 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/antora/CheckAntoraVersionTask.java @@ -0,0 +1,96 @@ +package org.springframework.gradle.antora; + +import org.gradle.api.DefaultTask; +import org.gradle.api.GradleException; +import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.provider.Property; +import org.gradle.api.tasks.Input; +import org.gradle.api.tasks.InputFile; +import org.gradle.api.tasks.Optional; +import org.gradle.api.tasks.TaskAction; +import org.yaml.snakeyaml.Yaml; +import org.yaml.snakeyaml.constructor.Constructor; +import org.yaml.snakeyaml.representer.Representer; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; + +public abstract class CheckAntoraVersionTask extends DefaultTask { + + @TaskAction + public void check() throws FileNotFoundException { + File antoraYmlFile = getAntoraYmlFile().getAsFile().get(); + String expectedAntoraVersion = getAntoraVersion().get(); + String expectedAntoraPrerelease = getAntoraPrerelease().getOrElse(null); + String expectedAntoraDisplayVersion = getAntoraDisplayVersion().getOrElse(null); + + Representer representer = new Representer(); + representer.getPropertyUtils().setSkipMissingProperties(true); + + Yaml yaml = new Yaml(new Constructor(AntoraYml.class), representer); + AntoraYml antoraYml = yaml.load(new FileInputStream(antoraYmlFile)); + + String actualAntoraPrerelease = antoraYml.getPrerelease(); + boolean preReleaseMatches = antoraYml.getPrerelease() == null && expectedAntoraPrerelease == null || + (actualAntoraPrerelease != null && actualAntoraPrerelease.equals(expectedAntoraPrerelease)); + String actualAntoraDisplayVersion = antoraYml.getDisplay_version(); + boolean displayVersionMatches = antoraYml.getDisplay_version() == null && expectedAntoraDisplayVersion == null || + (actualAntoraDisplayVersion != null && actualAntoraDisplayVersion.equals(expectedAntoraDisplayVersion)); + String actualAntoraVersion = antoraYml.getVersion(); + if (!preReleaseMatches || + !displayVersionMatches || + !expectedAntoraVersion.equals(actualAntoraVersion)) { + throw new GradleException("The Gradle version of '" + getProject().getVersion() + "' should have version: '" + + expectedAntoraVersion + "' prerelease: '" + expectedAntoraPrerelease + "' display_version: '" + + expectedAntoraDisplayVersion + "' defined in " + antoraYmlFile + " but got version: '" + + actualAntoraVersion + "' prerelease: '" + actualAntoraPrerelease + "' display_version: '" + actualAntoraDisplayVersion + "'"); + } + } + + @InputFile + public abstract RegularFileProperty getAntoraYmlFile(); + + @Input + public abstract Property getAntoraVersion(); + + @Input + @Optional + public abstract Property getAntoraPrerelease(); + + @Input + @Optional + public abstract Property getAntoraDisplayVersion(); + + public static class AntoraYml { + private String version; + + private String prerelease; + + private String display_version; + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getPrerelease() { + return prerelease; + } + + public void setPrerelease(String prerelease) { + this.prerelease = prerelease; + } + + public String getDisplay_version() { + return display_version; + } + + public void setDisplay_version(String display_version) { + this.display_version = display_version; + } + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/antora/UpdateAntoraVersionTask.java b/buildSrc/src/main/java/org/springframework/gradle/antora/UpdateAntoraVersionTask.java new file mode 100644 index 0000000..95c403e --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/antora/UpdateAntoraVersionTask.java @@ -0,0 +1,138 @@ +/* + * Copyright 2019-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.antora; + +import org.gradle.api.DefaultTask; +import org.gradle.api.GradleException; +import org.gradle.api.Project; +import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.provider.Property; +import org.gradle.api.tasks.Input; +import org.gradle.api.tasks.InputFile; +import org.gradle.api.tasks.Optional; +import org.gradle.api.tasks.OutputFile; +import org.gradle.api.tasks.TaskAction; +import org.yaml.snakeyaml.DumperOptions; +import org.yaml.snakeyaml.Yaml; +import org.yaml.snakeyaml.constructor.Constructor; +import org.yaml.snakeyaml.nodes.NodeTuple; +import org.yaml.snakeyaml.nodes.Tag; +import org.yaml.snakeyaml.representer.Representer; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileWriter; +import java.io.IOException; + +import org.springframework.gradle.github.milestones.NextVersionYml; + +public abstract class UpdateAntoraVersionTask extends DefaultTask { + + @TaskAction + public void update() throws IOException { + String projectVersion = getProject().getVersion().toString(); + File antoraYmlFile = getAntoraYmlFile().getAsFile().get(); + String updatedAntoraVersion = AntoraVersionUtils.getDefaultAntoraVersion(projectVersion); + String updatedAntoraPrerelease = AntoraVersionUtils.getDefaultAntoraPrerelease(projectVersion); + String updatedAntoraDisplayVersion = AntoraVersionUtils.getDefaultAntoraDisplayVersion(projectVersion); + + Representer representer = new Representer(); + representer.getPropertyUtils().setSkipMissingProperties(true); + + Yaml yaml = new Yaml(new Constructor(AntoraYml.class), representer); + AntoraYml antoraYml = yaml.load(new FileInputStream(antoraYmlFile)); + + System.out.println("Updating the version parameters in " + antoraYmlFile.getName() + " to version: " + + updatedAntoraVersion + ", prerelease: " + updatedAntoraPrerelease + ", display_version: " + + updatedAntoraDisplayVersion); + antoraYml.setVersion(updatedAntoraVersion); + antoraYml.setPrerelease(updatedAntoraPrerelease); + antoraYml.setDisplay_version(updatedAntoraDisplayVersion); + + FileWriter outputWriter = new FileWriter(antoraYmlFile); + getYaml().dump(antoraYml, outputWriter); + } + + @InputFile + public abstract RegularFileProperty getAntoraYmlFile(); + + public static class AntoraYml { + + private String name; + + private String version; + + private String prerelease; + + private String display_version; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getPrerelease() { + return prerelease; + } + + public void setPrerelease(String prerelease) { + this.prerelease = prerelease; + } + + public String getDisplay_version() { + return display_version; + } + + public void setDisplay_version(String display_version) { + this.display_version = display_version; + } + + } + + private Yaml getYaml() { + Representer representer = new Representer() { + @Override + protected NodeTuple representJavaBeanProperty(Object javaBean, + org.yaml.snakeyaml.introspector.Property property, Object propertyValue, Tag customTag) { + // Don't write out null values + if (propertyValue == null) { + return null; + } + else { + return super.representJavaBeanProperty(javaBean, property, propertyValue, customTag); + } + } + }; + representer.addClassTag(AntoraYml.class, Tag.MAP); + DumperOptions ymlOptions = new DumperOptions(); + ymlOptions.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK); + ymlOptions.setDefaultScalarStyle(DumperOptions.ScalarStyle.SINGLE_QUOTED); + return new Yaml(representer, ymlOptions); + } + +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/classpath/CheckClasspathForProhibitedDependencies.java b/buildSrc/src/main/java/org/springframework/gradle/classpath/CheckClasspathForProhibitedDependencies.java new file mode 100644 index 0000000..4738135 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/classpath/CheckClasspathForProhibitedDependencies.java @@ -0,0 +1,99 @@ +/* + * Copyright 2012-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.classpath; + +import org.gradle.api.DefaultTask; +import org.gradle.api.GradleException; +import org.gradle.api.Task; +import org.gradle.api.artifacts.Configuration; +import org.gradle.api.artifacts.ModuleVersionIdentifier; +import org.gradle.api.artifacts.ResolvedConfiguration; +import org.gradle.api.file.FileCollection; +import org.gradle.api.tasks.Classpath; +import org.gradle.api.tasks.TaskAction; + +import java.io.IOException; +import java.util.TreeSet; +import java.util.stream.Collectors; + +/** + * A {@link Task} for checking the classpath for prohibited dependencies. + * + * @author Andy Wilkinson + */ +public class CheckClasspathForProhibitedDependencies extends DefaultTask { + + private Configuration classpath; + + public CheckClasspathForProhibitedDependencies() { + getOutputs().upToDateWhen((task) -> true); + } + + public void setClasspath(Configuration classpath) { + this.classpath = classpath; + } + + @Classpath + public FileCollection getClasspath() { + return this.classpath; + } + + @TaskAction + public void checkForProhibitedDependencies() throws IOException { + ResolvedConfiguration resolvedConfiguration = this.classpath.getResolvedConfiguration(); + TreeSet prohibited = resolvedConfiguration.getResolvedArtifacts().stream() + .map((artifact) -> artifact.getModuleVersion().getId()).filter(this::prohibited) + .map((id) -> id.getGroup() + ":" + id.getName()).collect(Collectors.toCollection(TreeSet::new)); + if (!prohibited.isEmpty()) { + StringBuilder message = new StringBuilder(String.format("Found prohibited dependencies in '%s':%n", this.classpath.getName())); + for (String dependency : prohibited) { + message.append(String.format(" %s%n", dependency)); + } + throw new GradleException(message.toString()); + } + } + + private boolean prohibited(ModuleVersionIdentifier id) { + String group = id.getGroup(); + if (group.equals("javax.batch")) { + return false; + } + if (group.equals("javax.cache")) { + return false; + } + if (group.equals("javax.money")) { + return false; + } + if (group.startsWith("javax")) { + return true; + } + if (group.equals("commons-logging")) { + return true; + } + if (group.equals("org.slf4j") && id.getName().equals("jcl-over-slf4j")) { + return true; + } + if (group.startsWith("org.jboss.spec")) { + return true; + } + if (group.equals("org.apache.geronimo.specs")) { + return true; + } + return false; + } + +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/classpath/CheckClasspathForProhibitedDependenciesPlugin.java b/buildSrc/src/main/java/org/springframework/gradle/classpath/CheckClasspathForProhibitedDependenciesPlugin.java new file mode 100644 index 0000000..0791a19 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/classpath/CheckClasspathForProhibitedDependenciesPlugin.java @@ -0,0 +1,67 @@ +/* + * Copyright 2012-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.classpath; + +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.artifacts.Configuration; +import org.gradle.api.artifacts.ConfigurationContainer; +import org.gradle.api.plugins.JavaBasePlugin; +import org.gradle.api.tasks.SourceSetContainer; +import org.gradle.api.tasks.TaskProvider; +import org.gradle.language.base.plugins.LifecycleBasePlugin; +import org.springframework.util.StringUtils; + +/** + * @author Andy Wilkinson + * @author Rob Winch + */ +public class CheckClasspathForProhibitedDependenciesPlugin implements Plugin { + + @Override + public void apply(Project project) { + project.getPlugins().apply(CheckProhibitedDependenciesLifecyclePlugin.class); + project.getPlugins().withType(JavaBasePlugin.class, javaBasePlugin -> { + configureProhibitedDependencyChecks(project); + }); + } + + private void configureProhibitedDependencyChecks(Project project) { + SourceSetContainer sourceSets = project.getExtensions().getByType(SourceSetContainer.class); + sourceSets.all((sourceSet) -> createProhibitedDependenciesChecks(project, + sourceSet.getCompileClasspathConfigurationName(), sourceSet.getRuntimeClasspathConfigurationName())); + } + + private void createProhibitedDependenciesChecks(Project project, String... configurationNames) { + ConfigurationContainer configurations = project.getConfigurations(); + for (String configurationName : configurationNames) { + Configuration configuration = configurations.getByName(configurationName); + createProhibitedDependenciesCheck(configuration, project); + } + } + + private void createProhibitedDependenciesCheck(Configuration classpath, Project project) { + String taskName = "check" + StringUtils.capitalize(classpath.getName() + "ForProhibitedDependencies"); + TaskProvider checkClasspathTask = project.getTasks().register(taskName, + CheckClasspathForProhibitedDependencies.class, checkClasspath -> { + checkClasspath.setGroup(LifecycleBasePlugin.CHECK_TASK_NAME); + checkClasspath.setDescription("Checks " + classpath.getName() + " for prohibited dependencies"); + checkClasspath.setClasspath(classpath); + }); + project.getTasks().named(CheckProhibitedDependenciesLifecyclePlugin.CHECK_PROHIBITED_DEPENDENCIES_TASK_NAME, checkProhibitedTask -> checkProhibitedTask.dependsOn(checkClasspathTask)); + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/classpath/CheckProhibitedDependenciesLifecyclePlugin.java b/buildSrc/src/main/java/org/springframework/gradle/classpath/CheckProhibitedDependenciesLifecyclePlugin.java new file mode 100644 index 0000000..77fd369 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/classpath/CheckProhibitedDependenciesLifecyclePlugin.java @@ -0,0 +1,41 @@ +/* + * Copyright 2012-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.classpath; + +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.Task; +import org.gradle.api.plugins.JavaBasePlugin; +import org.gradle.api.tasks.TaskProvider; + +/** + * @author Rob Winch + */ +public class CheckProhibitedDependenciesLifecyclePlugin implements Plugin { + public static final String CHECK_PROHIBITED_DEPENDENCIES_TASK_NAME = "checkForProhibitedDependencies"; + + @Override + public void apply(Project project) { + TaskProvider checkProhibitedDependencies = project.getTasks().register(CheckProhibitedDependenciesLifecyclePlugin.CHECK_PROHIBITED_DEPENDENCIES_TASK_NAME, task -> { + task.setGroup(JavaBasePlugin.VERIFICATION_GROUP); + task.setDescription("Checks both the compile/runtime classpath of every SourceSet for prohibited dependencies"); + }); + project.getTasks().named(JavaBasePlugin.CHECK_TASK_NAME, checkTask -> { + checkTask.dependsOn(checkProhibitedDependencies); + }); + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/github/RepositoryRef.java b/buildSrc/src/main/java/org/springframework/gradle/github/RepositoryRef.java new file mode 100644 index 0000000..1791c4f --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/github/RepositoryRef.java @@ -0,0 +1,70 @@ +package org.springframework.gradle.github; + +import java.io.Serializable; + +public class RepositoryRef implements Serializable { + + private static final long serialVersionUID = 7151218536746822797L; + + private String owner; + + private String name; + + public RepositoryRef() { + } + + public RepositoryRef(String owner, String name) { + this.owner = owner; + this.name = name; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String toString() { + return "RepositoryRef{" + + "owner='" + owner + '\'' + + ", name='" + name + '\'' + + '}'; + } + + public static RepositoryRefBuilder owner(String owner) { + return new RepositoryRefBuilder().owner(owner); + } + + public static final class RepositoryRefBuilder { + private String owner; + private String repository; + + private RepositoryRefBuilder() { + } + + private RepositoryRefBuilder owner(String owner) { + this.owner = owner; + return this; + } + + public RepositoryRefBuilder repository(String repository) { + this.repository = repository; + return this; + } + + public RepositoryRef build() { + return new RepositoryRef(owner, repository); + } + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/github/changelog/GitHubChangelogPlugin.java b/buildSrc/src/main/java/org/springframework/gradle/github/changelog/GitHubChangelogPlugin.java new file mode 100644 index 0000000..0eab3d8 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/github/changelog/GitHubChangelogPlugin.java @@ -0,0 +1,103 @@ +/* + * Copyright 2019-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.github.changelog; + +import java.io.File; +import java.nio.file.Paths; + +import org.gradle.api.Action; +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.Task; +import org.gradle.api.artifacts.Configuration; +import org.gradle.api.artifacts.DependencySet; +import org.gradle.api.artifacts.repositories.ExclusiveContentRepository; +import org.gradle.api.artifacts.repositories.InclusiveRepositoryContentDescriptor; +import org.gradle.api.artifacts.repositories.IvyArtifactRepository; +import org.gradle.api.artifacts.repositories.IvyPatternRepositoryLayout; +import org.gradle.api.tasks.JavaExec; + +public class GitHubChangelogPlugin implements Plugin { + + public static final String CHANGELOG_GENERATOR_CONFIGURATION_NAME = "changelogGenerator"; + public static final String RELEASE_NOTES_PATH = "changelog/release-notes.md"; + + @Override + public void apply(Project project) { + createRepository(project); + createChangelogGeneratorConfiguration(project); + project.getTasks().register("generateChangelog", JavaExec.class, new Action() { + @Override + public void execute(JavaExec generateChangelog) { + File outputFile = project.file(Paths.get(project.getBuildDir().getPath(), RELEASE_NOTES_PATH)); + outputFile.getParentFile().mkdirs(); + generateChangelog.setGroup("Release"); + generateChangelog.setDescription("Generates the changelog"); + generateChangelog.setWorkingDir(project.getRootDir()); + generateChangelog.classpath(project.getConfigurations().getAt(CHANGELOG_GENERATOR_CONFIGURATION_NAME)); + generateChangelog.doFirst(new Action() { + @Override + public void execute(Task task) { + generateChangelog.args("--spring.config.location=scripts/release/release-notes-sections.yml", project.property("nextVersion"), outputFile.toString()); + } + }); + } + }); + } + + private void createChangelogGeneratorConfiguration(Project project) { + project.getConfigurations().create(CHANGELOG_GENERATOR_CONFIGURATION_NAME, new Action() { + @Override + public void execute(Configuration configuration) { + configuration.defaultDependencies(new Action() { + @Override + public void execute(DependencySet dependencies) { + dependencies.add(project.getDependencies().create("spring-io:github-changelog-generator:0.0.6")); + } + }); + } + }); + } + + private void createRepository(Project project) { + IvyArtifactRepository repository = project.getRepositories().ivy(new Action() { + @Override + public void execute(IvyArtifactRepository repository) { + repository.setUrl("https://github.com/"); + repository.patternLayout(new Action() { + @Override + public void execute(IvyPatternRepositoryLayout layout) { + layout.artifact("[organization]/[artifact]/releases/download/v[revision]/[artifact].[ext]"); + } + }); + repository.getMetadataSources().artifact(); + } + }); + project.getRepositories().exclusiveContent(new Action() { + @Override + public void execute(ExclusiveContentRepository exclusiveContentRepository) { + exclusiveContentRepository.forRepositories(repository); + exclusiveContentRepository.filter(new Action() { + @Override + public void execute(InclusiveRepositoryContentDescriptor descriptor) { + descriptor.includeGroup("spring-io"); + } + }); + } + }); + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestoneApi.java b/buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestoneApi.java new file mode 100644 index 0000000..96ef15f --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestoneApi.java @@ -0,0 +1,238 @@ +/* + * Copyright 2019-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.github.milestones; + +import java.io.IOException; +import java.time.Instant; +import java.util.List; +import java.util.Optional; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import com.google.common.reflect.TypeToken; +import com.google.gson.Gson; +import okhttp3.Interceptor; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; + +import org.springframework.gradle.github.RepositoryRef; + +public class GitHubMilestoneApi { + private String baseUrl = "https://api.github.com"; + + private OkHttpClient client; + + private Gson gson = new Gson(); + + public GitHubMilestoneApi() { + this.client = new OkHttpClient.Builder().build(); + } + + public GitHubMilestoneApi(String gitHubToken) { + this.client = new OkHttpClient.Builder() + .addInterceptor(new AuthorizationInterceptor(gitHubToken)) + .build(); + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public long findMilestoneNumberByTitle(RepositoryRef repositoryRef, String milestoneTitle) { + String url = this.baseUrl + "/repos/" + repositoryRef.getOwner() + "/" + repositoryRef.getName() + "/milestones?per_page=100"; + Request request = new Request.Builder().get().url(url) + .build(); + try { + Response response = this.client.newCall(request).execute(); + if (!response.isSuccessful()) { + throw new RuntimeException("Could not find milestone with title " + milestoneTitle + " for repository " + repositoryRef + ". Response " + response); + } + List milestones = this.gson.fromJson(response.body().charStream(), new TypeToken>(){}.getType()); + for (Milestone milestone : milestones) { + if (milestoneTitle.equals(milestone.getTitle())) { + return milestone.getNumber(); + } + } + if (milestones.size() <= 100) { + throw new RuntimeException("Could not find open milestone with title " + milestoneTitle + " for repository " + repositoryRef + " Got " + milestones); + } + throw new RuntimeException("It is possible there are too many open milestones open (only 100 are supported). Could not find open milestone with title " + milestoneTitle + " for repository " + repositoryRef + " Got " + milestones); + } catch (IOException e) { + throw new RuntimeException("Could not find open milestone with title " + milestoneTitle + " for repository " + repositoryRef, e); + } + } + + public boolean isOpenIssuesForMilestoneNumber(RepositoryRef repositoryRef, long milestoneNumber) { + String url = this.baseUrl + "/repos/" + repositoryRef.getOwner() + "/" + repositoryRef.getName() + "/issues?per_page=1&milestone=" + milestoneNumber; + Request request = new Request.Builder().get().url(url) + .build(); + try { + Response response = this.client.newCall(request).execute(); + if (!response.isSuccessful()) { + throw new RuntimeException("Could not find issues for milestone number " + milestoneNumber + " for repository " + repositoryRef + ". Response " + response); + } + List issues = this.gson.fromJson(response.body().charStream(), new TypeToken>(){}.getType()); + return !issues.isEmpty(); + } catch (IOException e) { + throw new RuntimeException("Could not find issues for milestone number " + milestoneNumber + " for repository " + repositoryRef, e); + } + } + + /** + * Check if the given milestone is due today or past due. + * + * @param repositoryRef The repository owner/name + * @param milestoneTitle The title of the milestone whose due date should be checked + * @return true if the given milestone is due today or past due, false otherwise + */ + public boolean isMilestoneDueToday(RepositoryRef repositoryRef, String milestoneTitle) { + String url = this.baseUrl + "/repos/" + repositoryRef.getOwner() + "/" + repositoryRef.getName() + + "/milestones?per_page=100"; + Request request = new Request.Builder().get().url(url).build(); + try { + Response response = this.client.newCall(request).execute(); + if (!response.isSuccessful()) { + throw new RuntimeException("Could not find milestone with title " + milestoneTitle + " for repository " + + repositoryRef + ". Response " + response); + } + List milestones = this.gson.fromJson(response.body().charStream(), + new TypeToken>() { + }.getType()); + for (Milestone milestone : milestones) { + if (milestoneTitle.equals(milestone.getTitle())) { + Instant now = Instant.now(); + return milestone.getDueOn() != null && now.isAfter(milestone.getDueOn().toInstant()); + } + } + if (milestones.size() <= 100) { + throw new RuntimeException("Could not find open milestone with title " + milestoneTitle + + " for repository " + repositoryRef + " Got " + milestones); + } + throw new RuntimeException( + "It is possible there are too many open milestones open (only 100 are supported). Could not find open milestone with title " + + milestoneTitle + " for repository " + repositoryRef + " Got " + milestones); + } + catch (IOException e) { + throw new RuntimeException( + "Could not find open milestone with title " + milestoneTitle + " for repository " + repositoryRef, + e); + } + } + + /** + * Calculate the next release version based on the current version. + * + * The current version must conform to the pattern MAJOR.MINOR.PATCH-SNAPSHOT. If the + * current version is a snapshot of a patch release, then the patch release will be + * returned. For example, if the current version is 5.6.1-SNAPSHOT, then 5.6.1 will be + * returned. If the current version is a snapshot of a version that is not GA (i.e the + * PATCH segment is 0), then GitHub will be queried to find the next milestone or + * release candidate. If no pre-release versions are found, then the next version will + * be assumed to be the GA. + * @param repositoryRef The repository owner/name + * @param currentVersion The current project version + * @return the next matching milestone/release candidate or null if none exist + */ + public String getNextReleaseMilestone(RepositoryRef repositoryRef, String currentVersion) { + Pattern snapshotPattern = Pattern.compile("^([0-9]+)\\.([0-9]+)\\.([0-9]+)-SNAPSHOT$"); + Matcher snapshotVersion = snapshotPattern.matcher(currentVersion); + + if (snapshotVersion.find()) { + String patchSegment = snapshotVersion.group(3); + String currentVersionNoIdentifier = currentVersion.replace("-SNAPSHOT", ""); + if (patchSegment.equals("0")) { + String nextPreRelease = getNextPreRelease(repositoryRef, currentVersionNoIdentifier); + return nextPreRelease != null ? nextPreRelease : currentVersionNoIdentifier; + } + else { + return currentVersionNoIdentifier; + } + } + else { + throw new IllegalStateException( + "Cannot calculate next release version because the current project version does not conform to the expected format"); + } + } + + /** + * Calculate the next pre-release version (milestone or release candidate) based on + * the current version. + * + * The current version must conform to the pattern MAJOR.MINOR.PATCH. If no matching + * milestone or release candidate is found in GitHub then it will return null. + * @param repositoryRef The repository owner/name + * @param currentVersionNoIdentifier The current project version without any + * identifier + * @return the next matching milestone/release candidate or null if none exist + */ + private String getNextPreRelease(RepositoryRef repositoryRef, String currentVersionNoIdentifier) { + String url = this.baseUrl + "/repos/" + repositoryRef.getOwner() + "/" + repositoryRef.getName() + + "/milestones?per_page=100"; + Request request = new Request.Builder().get().url(url).build(); + try { + Response response = this.client.newCall(request).execute(); + if (!response.isSuccessful()) { + throw new RuntimeException( + "Could not get milestones for repository " + repositoryRef + ". Response " + response); + } + List milestones = this.gson.fromJson(response.body().charStream(), + new TypeToken>() { + }.getType()); + Optional nextPreRelease = milestones.stream().map(Milestone::getTitle) + .filter(m -> m.startsWith(currentVersionNoIdentifier + "-")) + .min((m1, m2) -> { + Pattern preReleasePattern = Pattern.compile("^.*-([A-Z]+)([0-9]+)$"); + Matcher matcher1 = preReleasePattern.matcher(m1); + Matcher matcher2 = preReleasePattern.matcher(m2); + matcher1.find(); + matcher2.find(); + if (!matcher1.group(1).equals(matcher2.group(1))) { + return m1.compareTo(m2); + } + else { + return Integer.valueOf(matcher1.group(2)).compareTo(Integer.valueOf(matcher2.group(2))); + } + }); + return nextPreRelease.orElse(null); + } + catch (IOException e) { + throw new RuntimeException("Could not find open milestones with for repository " + repositoryRef, e); + } + } + +// public boolean isOpenIssuesForMilestoneName(String owner, String repository, String milestoneName) { +// +// } + + + private static class AuthorizationInterceptor implements Interceptor { + + private final String token; + + public AuthorizationInterceptor(String token) { + this.token = token; + } + + @Override + public okhttp3.Response intercept(Chain chain) throws IOException { + Request request = chain.request().newBuilder() + .addHeader("Authorization", "Bearer " + this.token).build(); + return chain.proceed(request); + } + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestoneHasNoOpenIssuesTask.java b/buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestoneHasNoOpenIssuesTask.java new file mode 100644 index 0000000..4e5b538 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestoneHasNoOpenIssuesTask.java @@ -0,0 +1,110 @@ +/* + * Copyright 2019-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.gradle.github.milestones; + +import org.gradle.api.Action; +import org.gradle.api.DefaultTask; +import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.tasks.Input; +import org.gradle.api.tasks.InputFile; +import org.gradle.api.tasks.Optional; +import org.gradle.api.tasks.OutputFile; +import org.gradle.api.tasks.TaskAction; +import org.gradle.work.DisableCachingByDefault; +import org.yaml.snakeyaml.Yaml; +import org.yaml.snakeyaml.constructor.Constructor; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; + +import org.springframework.gradle.github.RepositoryRef; + +@DisableCachingByDefault(because = "the due date needs to be checked every time in case it changes") +public abstract class GitHubMilestoneHasNoOpenIssuesTask extends DefaultTask { + @Input + private RepositoryRef repository = new RepositoryRef(); + + @Input @Optional + private String milestoneTitle; + + @InputFile @Optional + public abstract RegularFileProperty getNextVersionFile(); + + @Input @Optional + private String gitHubAccessToken; + + @OutputFile + public abstract RegularFileProperty getIsOpenIssuesFile(); + + private GitHubMilestoneApi milestones = new GitHubMilestoneApi(); + + @TaskAction + public void checkHasNoOpenIssues() throws IOException { + if (this.milestoneTitle == null) { + File nextVersionFile = getNextVersionFile().getAsFile().get(); + Yaml yaml = new Yaml(new Constructor(NextVersionYml.class)); + NextVersionYml nextVersionYml = yaml.load(new FileInputStream(nextVersionFile)); + String nextVersion = nextVersionYml.getVersion(); + if (nextVersion == null) { + throw new IllegalArgumentException( + "Could not find version property in provided file " + nextVersionFile.getName()); + } + this.milestoneTitle = nextVersion; + } + long milestoneNumber = this.milestones.findMilestoneNumberByTitle(this.repository, this.milestoneTitle); + boolean isOpenIssues = this.milestones.isOpenIssuesForMilestoneNumber(this.repository, milestoneNumber); + Path isOpenIssuesPath = getIsOpenIssuesFile().getAsFile().get().toPath(); + Files.writeString(isOpenIssuesPath, String.valueOf(isOpenIssues)); + if (isOpenIssues) { + System.out.println("The repository " + this.repository + " has open issues for milestone with the title " + this.milestoneTitle + " and number " + milestoneNumber); + } + else { + System.out.println("The repository " + this.repository + " has no open issues for milestone with the title " + this.milestoneTitle + " and number " + milestoneNumber); + } + } + + public RepositoryRef getRepository() { + return repository; + } + + public void repository(Action repository) { + repository.execute(this.repository); + } + + public void setRepository(RepositoryRef repository) { + this.repository = repository; + } + + public String getMilestoneTitle() { + return milestoneTitle; + } + + public void setMilestoneTitle(String milestoneTitle) { + this.milestoneTitle = milestoneTitle; + } + + public String getGitHubAccessToken() { + return gitHubAccessToken; + } + + public void setGitHubAccessToken(String gitHubAccessToken) { + this.gitHubAccessToken = gitHubAccessToken; + this.milestones = new GitHubMilestoneApi(gitHubAccessToken); + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestoneNextReleaseTask.java b/buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestoneNextReleaseTask.java new file mode 100644 index 0000000..87605c0 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestoneNextReleaseTask.java @@ -0,0 +1,93 @@ +/* + * Copyright 2019-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.github.milestones; + +import org.gradle.api.Action; +import org.gradle.api.DefaultTask; +import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.tasks.Input; +import org.gradle.api.tasks.Optional; +import org.gradle.api.tasks.OutputFile; +import org.gradle.api.tasks.TaskAction; +import org.yaml.snakeyaml.DumperOptions; +import org.yaml.snakeyaml.Yaml; +import org.yaml.snakeyaml.nodes.Tag; +import org.yaml.snakeyaml.representer.Representer; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; + +import org.springframework.gradle.github.RepositoryRef; + +public abstract class GitHubMilestoneNextReleaseTask extends DefaultTask { + + @Input + private RepositoryRef repository = new RepositoryRef(); + + @Input + @Optional + private String gitHubAccessToken; + + private GitHubMilestoneApi milestones = new GitHubMilestoneApi(); + + @TaskAction + public void calculateNextReleaseMilestone() throws IOException { + String currentVersion = getProject().getVersion().toString(); + String nextPreRelease = this.milestones.getNextReleaseMilestone(this.repository, currentVersion); + System.out.println("The next release milestone is: " + nextPreRelease); + NextVersionYml nextVersionYml = new NextVersionYml(); + nextVersionYml.setVersion(nextPreRelease); + File outputFile = getNextReleaseFile().get().getAsFile(); + FileWriter outputWriter = new FileWriter(outputFile); + Yaml yaml = getYaml(); + yaml.dump(nextVersionYml, outputWriter); + } + + @OutputFile + public abstract RegularFileProperty getNextReleaseFile(); + + public RepositoryRef getRepository() { + return repository; + } + + public void repository(Action repository) { + repository.execute(this.repository); + } + + public void setRepository(RepositoryRef repository) { + this.repository = repository; + } + + public String getGitHubAccessToken() { + return gitHubAccessToken; + } + + public void setGitHubAccessToken(String gitHubAccessToken) { + this.gitHubAccessToken = gitHubAccessToken; + this.milestones = new GitHubMilestoneApi(gitHubAccessToken); + } + + private Yaml getYaml() { + Representer representer = new Representer(); + representer.addClassTag(NextVersionYml.class, Tag.MAP); + DumperOptions ymlOptions = new DumperOptions(); + ymlOptions.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK); + return new Yaml(representer, ymlOptions); + } + +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestoneNextVersionDueTodayTask.java b/buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestoneNextVersionDueTodayTask.java new file mode 100644 index 0000000..1ff7ec5 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestoneNextVersionDueTodayTask.java @@ -0,0 +1,102 @@ +/* + * Copyright 2019-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.github.milestones; + +import org.gradle.api.Action; +import org.gradle.api.DefaultTask; +import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.tasks.Input; +import org.gradle.api.tasks.InputFile; +import org.gradle.api.tasks.Optional; +import org.gradle.api.tasks.OutputFile; +import org.gradle.api.tasks.TaskAction; +import org.gradle.work.DisableCachingByDefault; +import org.yaml.snakeyaml.Yaml; +import org.yaml.snakeyaml.constructor.Constructor; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; + +import org.springframework.gradle.github.RepositoryRef; + +@DisableCachingByDefault(because = "the due date needs to be checked every time in case it changes") +public abstract class GitHubMilestoneNextVersionDueTodayTask extends DefaultTask { + + @Input + private RepositoryRef repository = new RepositoryRef(); + + @Input + @Optional + private String gitHubAccessToken; + + @InputFile + public abstract RegularFileProperty getNextVersionFile(); + + @OutputFile + public abstract RegularFileProperty getIsDueTodayFile(); + + private GitHubMilestoneApi milestones = new GitHubMilestoneApi(); + + @TaskAction + public void checkReleaseDueToday() throws IOException { + File nextVersionFile = getNextVersionFile().getAsFile().get(); + Yaml yaml = new Yaml(new Constructor(NextVersionYml.class)); + NextVersionYml nextVersionYml = yaml.load(new FileInputStream(nextVersionFile)); + String nextVersion = nextVersionYml.getVersion(); + if (nextVersion == null) { + throw new IllegalArgumentException( + "Could not find version property in provided file " + nextVersionFile.getName()); + } + boolean milestoneDueToday = this.milestones.isMilestoneDueToday(this.repository, nextVersion); + Path isDueTodayPath = getIsDueTodayFile().getAsFile().get().toPath(); + Files.writeString(isDueTodayPath, String.valueOf(milestoneDueToday)); + if (milestoneDueToday) { + System.out.println("The milestone with the title " + nextVersion + " in the repository " + this.repository + + " is due today"); + } + else { + System.out.println("The milestone with the title " + nextVersion + " in the repository " + + this.repository + " is not due yet"); + } + + } + + public RepositoryRef getRepository() { + return repository; + } + + public void repository(Action repository) { + repository.execute(this.repository); + } + + public void setRepository(RepositoryRef repository) { + this.repository = repository; + } + + public String getGitHubAccessToken() { + return gitHubAccessToken; + } + + public void setGitHubAccessToken(String gitHubAccessToken) { + this.gitHubAccessToken = gitHubAccessToken; + this.milestones = new GitHubMilestoneApi(gitHubAccessToken); + } + +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestonePlugin.java b/buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestonePlugin.java new file mode 100644 index 0000000..0137801 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/github/milestones/GitHubMilestonePlugin.java @@ -0,0 +1,72 @@ +/* + * Copyright 2019-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.github.milestones; + +import org.gradle.api.Action; +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.tasks.TaskProvider; + +public class GitHubMilestonePlugin implements Plugin { + @Override + public void apply(Project project) { + TaskProvider nextReleaseMilestoneTask = project.getTasks().register("gitHubNextReleaseMilestone", GitHubMilestoneNextReleaseTask.class, new Action() { + @Override + public void execute(GitHubMilestoneNextReleaseTask gitHubMilestoneNextReleaseTask) { + gitHubMilestoneNextReleaseTask.doNotTrackState("API call to GitHub needs to check for new milestones every time"); + gitHubMilestoneNextReleaseTask.setGroup("Release"); + gitHubMilestoneNextReleaseTask.setDescription("Calculates the next release version based on the current version and outputs it to a yaml file"); + gitHubMilestoneNextReleaseTask.getNextReleaseFile() + .fileProvider(project.provider(() -> project.file("next-release.yml"))); + if (project.hasProperty("gitHubAccessToken")) { + gitHubMilestoneNextReleaseTask + .setGitHubAccessToken((String) project.findProperty("gitHubAccessToken")); + } + } + }); + project.getTasks().register("gitHubCheckMilestoneHasNoOpenIssues", GitHubMilestoneHasNoOpenIssuesTask.class, new Action() { + @Override + public void execute(GitHubMilestoneHasNoOpenIssuesTask githubCheckMilestoneHasNoOpenIssues) { + githubCheckMilestoneHasNoOpenIssues.setGroup("Release"); + githubCheckMilestoneHasNoOpenIssues.setDescription("Checks if there are any open issues for the specified repository and milestone"); + githubCheckMilestoneHasNoOpenIssues.getIsOpenIssuesFile().value(project.getLayout().getBuildDirectory().file("github/milestones/is-open-issues")); + githubCheckMilestoneHasNoOpenIssues.setMilestoneTitle((String) project.findProperty("nextVersion")); + if (!project.hasProperty("nextVersion")) { + githubCheckMilestoneHasNoOpenIssues.getNextVersionFile().convention( + nextReleaseMilestoneTask.flatMap(GitHubMilestoneNextReleaseTask::getNextReleaseFile)); + } + if (project.hasProperty("gitHubAccessToken")) { + githubCheckMilestoneHasNoOpenIssues.setGitHubAccessToken((String) project.findProperty("gitHubAccessToken")); + } + } + }); + project.getTasks().register("gitHubCheckNextVersionDueToday", GitHubMilestoneNextVersionDueTodayTask.class, new Action() { + @Override + public void execute(GitHubMilestoneNextVersionDueTodayTask gitHubMilestoneNextVersionDueTodayTask) { + gitHubMilestoneNextVersionDueTodayTask.setGroup("Release"); + gitHubMilestoneNextVersionDueTodayTask.setDescription("Checks if the next release version is due today or past due, will fail if the next version is not due yet"); + gitHubMilestoneNextVersionDueTodayTask.getIsDueTodayFile().value(project.getLayout().getBuildDirectory().file("github/milestones/is-due-today")); + gitHubMilestoneNextVersionDueTodayTask.getNextVersionFile().convention( + nextReleaseMilestoneTask.flatMap(GitHubMilestoneNextReleaseTask::getNextReleaseFile)); + if (project.hasProperty("gitHubAccessToken")) { + gitHubMilestoneNextVersionDueTodayTask + .setGitHubAccessToken((String) project.findProperty("gitHubAccessToken")); + } + } + }); + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/github/milestones/Milestone.java b/buildSrc/src/main/java/org/springframework/gradle/github/milestones/Milestone.java new file mode 100644 index 0000000..08ce6c1 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/github/milestones/Milestone.java @@ -0,0 +1,63 @@ +/* + * Copyright 2019-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.github.milestones; + +import com.google.gson.annotations.SerializedName; + +import java.util.Date; + +public class Milestone { + private String title; + + private long number; + + @SerializedName("due_on") + private Date dueOn; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public long getNumber() { + return number; + } + + public void setNumber(long number) { + this.number = number; + } + + public Date getDueOn() { + return dueOn; + } + + public void setDueOn(Date dueOn) { + this.dueOn = dueOn; + } + + @Override + public String toString() { + return "Milestone{" + + "title='" + title + '\'' + + ", number='" + number + '\'' + + ", dueOn='" + dueOn + + '}'; + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/github/milestones/NextVersionYml.java b/buildSrc/src/main/java/org/springframework/gradle/github/milestones/NextVersionYml.java new file mode 100644 index 0000000..5dce3f0 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/github/milestones/NextVersionYml.java @@ -0,0 +1,29 @@ +/* + * Copyright 2019-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.github.milestones; + +public class NextVersionYml { + private String version; + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/github/release/CreateGitHubReleaseTask.java b/buildSrc/src/main/java/org/springframework/gradle/github/release/CreateGitHubReleaseTask.java new file mode 100644 index 0000000..65c8b68 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/github/release/CreateGitHubReleaseTask.java @@ -0,0 +1,130 @@ +/* + * Copyright 2002-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.github.release; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; + +import org.gradle.api.Action; +import org.gradle.api.DefaultTask; +import org.gradle.api.Project; +import org.gradle.api.tasks.Input; +import org.gradle.api.tasks.Optional; +import org.gradle.api.tasks.TaskAction; + +import org.springframework.gradle.github.RepositoryRef; +import org.springframework.gradle.github.changelog.GitHubChangelogPlugin; + +/** + * @author Steve Riesenberg + */ +public class CreateGitHubReleaseTask extends DefaultTask { + @Input + private RepositoryRef repository = new RepositoryRef(); + + @Input @Optional + private String gitHubAccessToken; + + @Input + private String version; + + @Input @Optional + private String branch = "main"; + + @Input + private boolean createRelease = false; + + @TaskAction + public void createGitHubRelease() { + String body = readReleaseNotes(); + Release release = Release.tag(this.version) + .commit(this.branch) + .name(this.version) + .body(body) + .preRelease(this.version.contains("-")) + .build(); + + System.out.printf("%sCreating GitHub release for %s/%s@%s\n", + this.createRelease ? "" : "[DRY RUN] ", + this.repository.getOwner(), + this.repository.getName(), + this.version + ); + System.out.printf(" Release Notes:\n\n----\n%s\n----\n\n", body.trim()); + + if (this.createRelease) { + GitHubReleaseApi github = new GitHubReleaseApi(this.gitHubAccessToken); + github.publishRelease(this.repository, release); + } + } + + private String readReleaseNotes() { + Project project = getProject(); + File inputFile = project.file(Paths.get(project.getBuildDir().getPath(), GitHubChangelogPlugin.RELEASE_NOTES_PATH)); + try { + return Files.readString(inputFile.toPath()); + } catch (IOException ex) { + throw new RuntimeException("Unable to read release notes from " + inputFile, ex); + } + } + + public RepositoryRef getRepository() { + return repository; + } + + public void repository(Action repository) { + repository.execute(this.repository); + } + + public void setRepository(RepositoryRef repository) { + this.repository = repository; + } + + public String getGitHubAccessToken() { + return gitHubAccessToken; + } + + public void setGitHubAccessToken(String gitHubAccessToken) { + this.gitHubAccessToken = gitHubAccessToken; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getBranch() { + return branch; + } + + public void setBranch(String branch) { + this.branch = branch; + } + + public boolean isCreateRelease() { + return createRelease; + } + + public void setCreateRelease(boolean createRelease) { + this.createRelease = createRelease; + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/github/release/GitHubReleaseApi.java b/buildSrc/src/main/java/org/springframework/gradle/github/release/GitHubReleaseApi.java new file mode 100644 index 0000000..65238d0 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/github/release/GitHubReleaseApi.java @@ -0,0 +1,91 @@ +/* + * Copyright 2002-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.github.release; + +import java.io.IOException; + +import com.google.gson.Gson; +import okhttp3.Interceptor; +import okhttp3.MediaType; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; + +import org.springframework.gradle.github.RepositoryRef; + +/** + * Manage GitHub releases. + * + * @author Steve Riesenberg + */ +public class GitHubReleaseApi { + private String baseUrl = "https://api.github.com"; + + private final OkHttpClient httpClient; + private Gson gson = new Gson(); + + public GitHubReleaseApi(String gitHubAccessToken) { + this.httpClient = new OkHttpClient.Builder() + .addInterceptor(new AuthorizationInterceptor(gitHubAccessToken)) + .build(); + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + /** + * Publish a release with no binary attachments. + * + * @param repository The repository owner/name + * @param release The contents of the release + */ + public void publishRelease(RepositoryRef repository, Release release) { + String url = this.baseUrl + "/repos/" + repository.getOwner() + "/" + repository.getName() + "/releases"; + String json = this.gson.toJson(release); + RequestBody body = RequestBody.create(MediaType.parse("application/json"), json); + Request request = new Request.Builder().url(url).post(body).build(); + try { + Response response = this.httpClient.newCall(request).execute(); + if (!response.isSuccessful()) { + throw new RuntimeException(String.format("Could not create release %s for repository %s/%s. Got response %s", + release.getName(), repository.getOwner(), repository.getName(), response)); + } + } catch (IOException ex) { + throw new RuntimeException(String.format("Could not create release %s for repository %s/%s", + release.getName(), repository.getOwner(), repository.getName()), ex); + } + } + + private static class AuthorizationInterceptor implements Interceptor { + private final String token; + + public AuthorizationInterceptor(String token) { + this.token = token; + } + + @Override + public Response intercept(Chain chain) throws IOException { + Request request = chain.request().newBuilder() + .addHeader("Authorization", "Bearer " + this.token) + .build(); + + return chain.proceed(request); + } + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/github/release/GitHubReleasePlugin.java b/buildSrc/src/main/java/org/springframework/gradle/github/release/GitHubReleasePlugin.java new file mode 100644 index 0000000..ae2c44a --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/github/release/GitHubReleasePlugin.java @@ -0,0 +1,49 @@ +/* + * Copyright 2002-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.github.release; + +import groovy.lang.MissingPropertyException; +import org.gradle.api.Action; +import org.gradle.api.Plugin; +import org.gradle.api.Project; + +/** + * @author Steve Riesenberg + */ +public class GitHubReleasePlugin implements Plugin { + @Override + public void apply(Project project) { + project.getTasks().register("createGitHubRelease", CreateGitHubReleaseTask.class, new Action() { + @Override + public void execute(CreateGitHubReleaseTask createGitHubRelease) { + createGitHubRelease.setGroup("Release"); + createGitHubRelease.setDescription("Create a github release"); + createGitHubRelease.dependsOn("generateChangelog"); + + createGitHubRelease.setCreateRelease("true".equals(project.findProperty("createRelease"))); + createGitHubRelease.setVersion((String) project.findProperty("nextVersion")); + if (project.hasProperty("branch")) { + createGitHubRelease.setBranch((String) project.findProperty("branch")); + } + createGitHubRelease.setGitHubAccessToken((String) project.findProperty("gitHubAccessToken")); + if (createGitHubRelease.isCreateRelease() && createGitHubRelease.getGitHubAccessToken() == null) { + throw new MissingPropertyException("Please provide an access token with -PgitHubAccessToken=..."); + } + } + }); + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/github/release/Release.java b/buildSrc/src/main/java/org/springframework/gradle/github/release/Release.java new file mode 100644 index 0000000..6dec2ce --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/github/release/Release.java @@ -0,0 +1,156 @@ +/* + * Copyright 2002-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.github.release; + +import com.google.gson.annotations.SerializedName; + +/** + * @author Steve Riesenberg + */ +public class Release { + @SerializedName("tag_name") + private final String tag; + + @SerializedName("target_commitish") + private final String commit; + + @SerializedName("name") + private final String name; + + @SerializedName("body") + private final String body; + + @SerializedName("draft") + private final boolean draft; + + @SerializedName("prerelease") + private final boolean preRelease; + + @SerializedName("generate_release_notes") + private final boolean generateReleaseNotes; + + private Release(String tag, String commit, String name, String body, boolean draft, boolean preRelease, boolean generateReleaseNotes) { + this.tag = tag; + this.commit = commit; + this.name = name; + this.body = body; + this.draft = draft; + this.preRelease = preRelease; + this.generateReleaseNotes = generateReleaseNotes; + } + + public String getTag() { + return tag; + } + + public String getCommit() { + return commit; + } + + public String getName() { + return name; + } + + public String getBody() { + return body; + } + + public boolean isDraft() { + return draft; + } + + public boolean isPreRelease() { + return preRelease; + } + + public boolean isGenerateReleaseNotes() { + return generateReleaseNotes; + } + + @Override + public String toString() { + return "Release{" + + "tag='" + tag + '\'' + + ", commit='" + commit + '\'' + + ", name='" + name + '\'' + + ", body='" + body + '\'' + + ", draft=" + draft + + ", preRelease=" + preRelease + + ", generateReleaseNotes=" + generateReleaseNotes + + '}'; + } + + public static Builder tag(String tag) { + return new Builder().tag(tag); + } + + public static Builder commit(String commit) { + return new Builder().commit(commit); + } + + public static final class Builder { + private String tag; + private String commit; + private String name; + private String body; + private boolean draft; + private boolean preRelease; + private boolean generateReleaseNotes; + + private Builder() { + } + + public Builder tag(String tag) { + this.tag = tag; + return this; + } + + public Builder commit(String commit) { + this.commit = commit; + return this; + } + + public Builder name(String name) { + this.name = name; + return this; + } + + public Builder body(String body) { + this.body = body; + return this; + } + + public Builder draft(boolean draft) { + this.draft = draft; + return this; + } + + public Builder preRelease(boolean preRelease) { + this.preRelease = preRelease; + return this; + } + + public Builder generateReleaseNotes(boolean generateReleaseNotes) { + this.generateReleaseNotes = generateReleaseNotes; + return this; + } + + public Release build() { + return new Release(tag, commit, name, body, draft, preRelease, generateReleaseNotes); + } + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/maven/MavenPublishingConventionsPlugin.java b/buildSrc/src/main/java/org/springframework/gradle/maven/MavenPublishingConventionsPlugin.java new file mode 100644 index 0000000..d82b6d9 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/maven/MavenPublishingConventionsPlugin.java @@ -0,0 +1,82 @@ +package org.springframework.gradle.maven; + +import org.gradle.api.Action; +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.plugins.JavaPlugin; +import org.gradle.api.plugins.JavaPluginExtension; +import org.gradle.api.publish.PublishingExtension; +import org.gradle.api.publish.maven.MavenPom; +import org.gradle.api.publish.maven.MavenPomDeveloperSpec; +import org.gradle.api.publish.maven.MavenPomIssueManagement; +import org.gradle.api.publish.maven.MavenPomLicenseSpec; +import org.gradle.api.publish.maven.MavenPomOrganization; +import org.gradle.api.publish.maven.MavenPomScm; +import org.gradle.api.publish.maven.MavenPublication; +import org.gradle.api.publish.maven.plugins.MavenPublishPlugin; + +public class MavenPublishingConventionsPlugin implements Plugin { + @Override + public void apply(Project project) { + project.getPlugins().withType(MavenPublishPlugin.class).all(new Action() { + @Override + public void execute(MavenPublishPlugin mavenPublish) { + PublishingExtension publishing = project.getExtensions().getByType(PublishingExtension.class); + publishing.getPublications().withType(MavenPublication.class) + .all((mavenPublication) -> MavenPublishingConventionsPlugin.this.customizePom(mavenPublication.getPom(), project)); + MavenPublishingConventionsPlugin.this.customizeJavaPlugin(project); + } + }); + } + + private void customizePom(MavenPom pom, Project project) { + pom.getUrl().set("https://spring.io/projects/spring-security"); + pom.getName().set(project.provider(project::getName)); + pom.getDescription().set(project.provider(project::getDescription)); + pom.organization(this::customizeOrganization); + pom.licenses(this::customizeLicences); + pom.developers(this::customizeDevelopers); + pom.scm(this::customizeScm); + pom.issueManagement(this::customizeIssueManagement); + } + + private void customizeOrganization(MavenPomOrganization organization) { + organization.getName().set("Pivotal Software, Inc."); + organization.getUrl().set("https://spring.io"); + } + + private void customizeLicences(MavenPomLicenseSpec licences) { + licences.license((licence) -> { + licence.getName().set("Apache License, Version 2.0"); + licence.getUrl().set("https://www.apache.org/licenses/LICENSE-2.0"); + }); + } + + private void customizeDevelopers(MavenPomDeveloperSpec developers) { + developers.developer((developer) -> { + developer.getName().set("Pivotal"); + developer.getEmail().set("info@pivotal.io"); + developer.getOrganization().set("Pivotal Software, Inc."); + developer.getOrganizationUrl().set("https://www.spring.io"); + }); + } + + private void customizeScm(MavenPomScm scm) { + scm.getConnection().set("scm:git:git://github.com/spring-projects/spring-security.git"); + scm.getDeveloperConnection().set("scm:git:ssh://git@github.com/spring-projects/spring-security.git"); + scm.getUrl().set("https://github.com/spring-projects/spring-security"); + } + + private void customizeIssueManagement(MavenPomIssueManagement issueManagement) { + issueManagement.getSystem().set("GitHub"); + issueManagement.getUrl().set("https://github.com/spring-projects/spring-security/issues"); + } + + private void customizeJavaPlugin(Project project) { + project.getPlugins().withType(JavaPlugin.class).all((javaPlugin) -> { + JavaPluginExtension extension = project.getExtensions().getByType(JavaPluginExtension.class); + extension.withJavadocJar(); + extension.withSourcesJar(); + }); + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/maven/PublishAllJavaComponentsPlugin.java b/buildSrc/src/main/java/org/springframework/gradle/maven/PublishAllJavaComponentsPlugin.java new file mode 100644 index 0000000..408d83e --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/maven/PublishAllJavaComponentsPlugin.java @@ -0,0 +1,33 @@ +package org.springframework.gradle.maven; + + +import org.gradle.api.Action; +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.plugins.JavaPlatformPlugin; +import org.gradle.api.plugins.JavaPlugin; +import org.gradle.api.publish.PublishingExtension; +import org.gradle.api.publish.VariantVersionMappingStrategy; +import org.gradle.api.publish.VersionMappingStrategy; +import org.gradle.api.publish.maven.MavenPublication; +import org.gradle.api.publish.maven.plugins.MavenPublishPlugin; + +public class PublishAllJavaComponentsPlugin implements Plugin { + @Override + public void apply(Project project) { + project.getPlugins().withType(MavenPublishPlugin.class).all((mavenPublish) -> { + PublishingExtension publishing = project.getExtensions().getByType(PublishingExtension.class); + publishing.getPublications().create("mavenJava", MavenPublication.class, new Action() { + @Override + public void execute(MavenPublication maven) { + project.getPlugins().withType(JavaPlugin.class, (plugin) -> { + maven.from(project.getComponents().getByName("java")); + }); + project.getPlugins().withType(JavaPlatformPlugin.class, (plugin) -> { + maven.from(project.getComponents().getByName("javaPlatform")); + }); + } + }); + }); + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/maven/PublishArtifactsPlugin.java b/buildSrc/src/main/java/org/springframework/gradle/maven/PublishArtifactsPlugin.java new file mode 100644 index 0000000..ed3985e --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/maven/PublishArtifactsPlugin.java @@ -0,0 +1,26 @@ +package org.springframework.gradle.maven; + +import io.spring.gradle.convention.Utils; +import org.gradle.api.Action; +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.Task; + +public class PublishArtifactsPlugin implements Plugin { + @Override + public void apply(Project project) { + project.getTasks().register("publishArtifacts", new Action() { + @Override + public void execute(Task publishArtifacts) { + publishArtifacts.setGroup("Publishing"); + publishArtifacts.setDescription("Publish the artifacts to either Artifactory or Maven Central based on the version"); + if (Utils.isRelease(project)) { + publishArtifacts.dependsOn("publishToOssrh"); + } + else { + publishArtifacts.dependsOn("artifactoryPublish"); + } + } + }); + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/maven/PublishLocalPlugin.java b/buildSrc/src/main/java/org/springframework/gradle/maven/PublishLocalPlugin.java new file mode 100644 index 0000000..54f9e49 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/maven/PublishLocalPlugin.java @@ -0,0 +1,29 @@ +package org.springframework.gradle.maven; + +import org.gradle.api.Action; +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.artifacts.repositories.MavenArtifactRepository; +import org.gradle.api.publish.PublishingExtension; +import org.gradle.api.publish.maven.plugins.MavenPublishPlugin; + +import java.io.File; + +public class PublishLocalPlugin implements Plugin { + @Override + public void apply(Project project) { + project.getPlugins().withType(MavenPublishPlugin.class).all(new Action() { + @Override + public void execute(MavenPublishPlugin mavenPublish) { + PublishingExtension publishing = project.getExtensions().getByType(PublishingExtension.class); + publishing.getRepositories().maven(new Action() { + @Override + public void execute(MavenArtifactRepository maven) { + maven.setName("local"); + maven.setUrl(new File(project.getRootProject().getBuildDir(), "publications/repos")); + } + }); + } + }); + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/maven/SpringMavenPlugin.java b/buildSrc/src/main/java/org/springframework/gradle/maven/SpringMavenPlugin.java new file mode 100644 index 0000000..8b06212 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/maven/SpringMavenPlugin.java @@ -0,0 +1,21 @@ +package org.springframework.gradle.maven; + +import io.spring.gradle.convention.ArtifactoryPlugin; +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.plugins.PluginManager; +import org.gradle.api.publish.maven.plugins.MavenPublishPlugin; + +public class SpringMavenPlugin implements Plugin { + @Override + public void apply(Project project) { + PluginManager pluginManager = project.getPluginManager(); + pluginManager.apply(MavenPublishPlugin.class); + pluginManager.apply(SpringSigningPlugin.class); + pluginManager.apply(MavenPublishingConventionsPlugin.class); + pluginManager.apply(PublishAllJavaComponentsPlugin.class); + pluginManager.apply(PublishLocalPlugin.class); + pluginManager.apply(PublishArtifactsPlugin.class); + pluginManager.apply(ArtifactoryPlugin.class); + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/maven/SpringNexusPublishPlugin.java b/buildSrc/src/main/java/org/springframework/gradle/maven/SpringNexusPublishPlugin.java new file mode 100644 index 0000000..3002824 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/maven/SpringNexusPublishPlugin.java @@ -0,0 +1,28 @@ +package org.springframework.gradle.maven; + +import io.github.gradlenexus.publishplugin.NexusPublishExtension; +import io.github.gradlenexus.publishplugin.NexusPublishPlugin; +import io.github.gradlenexus.publishplugin.NexusRepository; +import org.gradle.api.Action; +import org.gradle.api.Plugin; +import org.gradle.api.Project; + +import java.net.URI; +import java.time.Duration; + +public class SpringNexusPublishPlugin implements Plugin { + @Override + public void apply(Project project) { + project.getPlugins().apply(NexusPublishPlugin.class); + NexusPublishExtension nexusPublishing = project.getExtensions().findByType(NexusPublishExtension.class); + nexusPublishing.getRepositories().create("ossrh", new Action() { + @Override + public void execute(NexusRepository nexusRepository) { + nexusRepository.getNexusUrl().set(URI.create("https://s01.oss.sonatype.org/service/local/")); + nexusRepository.getSnapshotRepositoryUrl().set(URI.create("https://s01.oss.sonatype.org/content/repositories/snapshots/")); + } + }); + nexusPublishing.getConnectTimeout().set(Duration.ofMinutes(3)); + nexusPublishing.getClientTimeout().set(Duration.ofMinutes(3)); + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/maven/SpringSigningPlugin.java b/buildSrc/src/main/java/org/springframework/gradle/maven/SpringSigningPlugin.java new file mode 100644 index 0000000..112651b --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/maven/SpringSigningPlugin.java @@ -0,0 +1,70 @@ +/* + * Copyright 2016-2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package org.springframework.gradle.maven; + +import org.gradle.api.Action; +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.publish.Publication; +import org.gradle.api.publish.PublishingExtension; +import org.gradle.api.publish.plugins.PublishingPlugin; +import org.gradle.plugins.signing.SigningExtension; +import org.gradle.plugins.signing.SigningPlugin; + +import java.util.concurrent.Callable; + +public class SpringSigningPlugin implements Plugin { + @Override + public void apply(Project project) { + project.getPluginManager().apply(SigningPlugin.class); + project.getPlugins().withType(SigningPlugin.class).all(new Action() { + @Override + public void execute(SigningPlugin signingPlugin) { + boolean hasSigningKey = project.hasProperty("signing.keyId") || project.hasProperty("signingKey"); + if (hasSigningKey) { + sign(project); + } + } + }); + } + + private void sign(Project project) { + SigningExtension signing = project.getExtensions().findByType(SigningExtension.class); + signing.setRequired(new Callable() { + @Override + public Boolean call() throws Exception { + return project.getGradle().getTaskGraph().hasTask("publishArtifacts"); + } + }); + String signingKeyId = (String) project.findProperty("signingKeyId"); + String signingKey = (String) project.findProperty("signingKey"); + String signingPassword = (String) project.findProperty("signingPassword"); + if (signingKeyId != null) { + signing.useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword); + } else { + signing.useInMemoryPgpKeys(signingKey, signingPassword); + } + project.getPlugins().withType(PublishAllJavaComponentsPlugin.class).all(new Action() { + @Override + public void execute(PublishAllJavaComponentsPlugin publishingPlugin) { + PublishingExtension publishing = project.getExtensions().findByType(PublishingExtension.class); + Publication maven = publishing.getPublications().getByName("mavenJava"); + signing.sign(maven); + } + }); + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/propdeps/PropDepsEclipsePlugin.groovy b/buildSrc/src/main/java/org/springframework/gradle/propdeps/PropDepsEclipsePlugin.groovy new file mode 100644 index 0000000..bf88ca6 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/propdeps/PropDepsEclipsePlugin.groovy @@ -0,0 +1,43 @@ +/* + * Copyright 2002-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.propdeps + + +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.plugins.ide.eclipse.EclipsePlugin + +/** + * Plugin to allow optional and provided dependency configurations to work with the + * standard gradle 'eclipse' plugin + * + * @author Phillip Webb + */ +class PropDepsEclipsePlugin implements Plugin { + + public void apply(Project project) { + project.plugins.apply(PropDepsPlugin) + project.plugins.apply(EclipsePlugin) + + project.eclipse { + classpath { + plusConfigurations += [project.configurations.provided, project.configurations.optional] + } + } + } + +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/propdeps/PropDepsIdeaPlugin.groovy b/buildSrc/src/main/java/org/springframework/gradle/propdeps/PropDepsIdeaPlugin.groovy new file mode 100644 index 0000000..4035971 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/propdeps/PropDepsIdeaPlugin.groovy @@ -0,0 +1,46 @@ +/* + * Copyright 2002-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.propdeps + + +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.plugins.ide.idea.IdeaPlugin + +/** + * Plugin to allow optional and provided dependency configurations to work with the + * standard gradle 'idea' plugin + * + * @author Phillip Webb + * @author Brian Clozel + * @link https://youtrack.jetbrains.com/issue/IDEA-107046 + * @link https://youtrack.jetbrains.com/issue/IDEA-117668 + */ +class PropDepsIdeaPlugin implements Plugin { + + public void apply(Project project) { + project.plugins.apply(PropDepsPlugin) + project.plugins.apply(IdeaPlugin) + project.idea.module { + // IDEA internally deals with 4 scopes : COMPILE, TEST, PROVIDED, RUNTIME + // but only PROVIDED seems to be picked up + scopes.PROVIDED.plus += [project.configurations.provided] + scopes.PROVIDED.plus += [project.configurations.optional] + } + } + +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/propdeps/PropDepsPlugin.groovy b/buildSrc/src/main/java/org/springframework/gradle/propdeps/PropDepsPlugin.groovy new file mode 100644 index 0000000..e0893e6 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/propdeps/PropDepsPlugin.groovy @@ -0,0 +1,76 @@ +/* + * Copyright 2002-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.propdeps + + +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.artifacts.Configuration +import org.gradle.api.plugins.JavaLibraryPlugin +import org.gradle.api.plugins.JavaPlugin +import org.gradle.api.tasks.javadoc.Javadoc + +/** + * Plugin to allow 'optional' and 'provided' dependency configurations + * + * As stated in the maven documentation, provided scope "is only available on the compilation and test classpath, + * and is not transitive". + * + * This plugin creates two new configurations, and each one: + *
    + *
  • is a parent of the compile configuration
  • + *
  • is not visible, not transitive
  • + *
  • all dependencies are excluded from the default configuration
  • + *
+ * + * @author Phillip Webb + * @author Brian Clozel + * @author Rob Winch + * + * @see Maven documentation + * @see Gradle configurations + * @see PropDepsEclipsePlugin + * @see PropDepsIdeaPlugin + */ +class PropDepsPlugin implements Plugin { + + public void apply(Project project) { + project.plugins.apply(JavaPlugin) + + Configuration provided = addConfiguration(project, "provided") + Configuration optional = addConfiguration(project, "optional") + + Javadoc javadoc = project.tasks.getByName(JavaPlugin.JAVADOC_TASK_NAME) + javadoc.classpath = javadoc.classpath.plus(provided).plus(optional) + } + + private Configuration addConfiguration(Project project, String name) { + Configuration configuration = project.configurations.create(name) + configuration.extendsFrom(project.configurations.implementation) + project.plugins.withType(JavaLibraryPlugin, { + configuration.extendsFrom(project.configurations.api) + }) + + project.sourceSets.all { + compileClasspath += configuration + runtimeClasspath += configuration + } + + return configuration + } + +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/sagan/Release.java b/buildSrc/src/main/java/org/springframework/gradle/sagan/Release.java new file mode 100644 index 0000000..5e62c65 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/sagan/Release.java @@ -0,0 +1,123 @@ +/* + * Copyright 2019-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.sagan; + +import java.util.regex.Pattern; + +/** + * Domain object for creating a new release version. + */ +public class Release { + private String version; + + private ReleaseStatus status; + + private boolean current; + + private String referenceDocUrl; + + private String apiDocUrl; + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public ReleaseStatus getStatus() { + return status; + } + + public void setStatus(ReleaseStatus status) { + this.status = status; + } + + public boolean isCurrent() { + return current; + } + + public void setCurrent(boolean current) { + this.current = current; + } + + public String getReferenceDocUrl() { + return referenceDocUrl; + } + + public void setReferenceDocUrl(String referenceDocUrl) { + this.referenceDocUrl = referenceDocUrl; + } + + public String getApiDocUrl() { + return apiDocUrl; + } + + public void setApiDocUrl(String apiDocUrl) { + this.apiDocUrl = apiDocUrl; + } + + @Override + public String toString() { + return "Release{" + + "version='" + version + '\'' + + ", status=" + status + + ", current=" + current + + ", referenceDocUrl='" + referenceDocUrl + '\'' + + ", apiDocUrl='" + apiDocUrl + '\'' + + '}'; + } + + public enum ReleaseStatus { + /** + * Unstable version with limited support + */ + SNAPSHOT, + /** + * Pre-Release version meant to be tested by the community + */ + PRERELEASE, + /** + * Release Generally Available on public artifact repositories and enjoying full support from maintainers + */ + GENERAL_AVAILABILITY; + + private static final Pattern PRERELEASE_PATTERN = Pattern.compile("[A-Za-z0-9\\.\\-]+?(M|RC)\\d+"); + + private static final String SNAPSHOT_SUFFIX = "SNAPSHOT"; + + /** + * Parse the ReleaseStatus from a String + * @param version a project version + * @return the release status for this version + */ + public static ReleaseStatus parse(String version) { + if (version == null) { + throw new IllegalArgumentException("version cannot be null"); + } + if (version.endsWith(SNAPSHOT_SUFFIX)) { + return SNAPSHOT; + } + if (PRERELEASE_PATTERN.matcher(version).matches()) { + return PRERELEASE; + } + return GENERAL_AVAILABILITY; + } + } + +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/sagan/SaganApi.java b/buildSrc/src/main/java/org/springframework/gradle/sagan/SaganApi.java new file mode 100644 index 0000000..24eeb31 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/sagan/SaganApi.java @@ -0,0 +1,93 @@ +/* + * Copyright 2019-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.sagan; + +import com.google.gson.Gson; +import okhttp3.*; + +import java.io.IOException; +import java.util.Base64; + +/** + * Implements necessary calls to the Sagan API See https://spring.io/restdocs/index.html + */ +public class SaganApi { + private String baseUrl = "https://spring.io/api"; + + private OkHttpClient client; + private Gson gson = new Gson(); + + public SaganApi(String gitHubToken) { + this.client = new OkHttpClient.Builder() + .addInterceptor(new BasicInterceptor("not-used", gitHubToken)) + .build(); + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public void createReleaseForProject(Release release, String projectName) { + String url = this.baseUrl + "/projects/" + projectName + "/releases"; + String releaseJsonString = gson.toJson(release); + RequestBody body = RequestBody.create(MediaType.parse("application/json"), releaseJsonString); + Request request = new Request.Builder() + .url(url) + .post(body) + .build(); + try { + Response response = this.client.newCall(request).execute(); + if (!response.isSuccessful()) { + throw new RuntimeException("Could not create release " + release + ". Got response " + response); + } + } catch (IOException fail) { + throw new RuntimeException("Could not create release " + release, fail); + } + } + + public void deleteReleaseForProject(String release, String projectName) { + String url = this.baseUrl + "/projects/" + projectName + "/releases/" + release; + Request request = new Request.Builder() + .url(url) + .delete() + .build(); + try { + Response response = this.client.newCall(request).execute(); + if (!response.isSuccessful()) { + throw new RuntimeException("Could not delete release " + release + ". Got response " + response); + } + } catch (IOException fail) { + throw new RuntimeException("Could not delete release " + release, fail); + } + } + + private static class BasicInterceptor implements Interceptor { + + private final String token; + + public BasicInterceptor(String username, String token) { + this.token = Base64.getEncoder().encodeToString((username + ":" + token).getBytes()); + } + + @Override + public okhttp3.Response intercept(Chain chain) throws IOException { + Request request = chain.request().newBuilder() + .addHeader("Authorization", "Basic " + this.token).build(); + return chain.proceed(request); + } + } +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/sagan/SaganCreateReleaseTask.java b/buildSrc/src/main/java/org/springframework/gradle/sagan/SaganCreateReleaseTask.java new file mode 100644 index 0000000..6592544 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/sagan/SaganCreateReleaseTask.java @@ -0,0 +1,86 @@ +/* + * Copyright 2019-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.sagan; + +import org.gradle.api.DefaultTask; +import org.gradle.api.tasks.Input; +import org.gradle.api.tasks.TaskAction; + +public class SaganCreateReleaseTask extends DefaultTask { + + @Input + private String gitHubAccessToken; + @Input + private String version; + @Input + private String apiDocUrl; + @Input + private String referenceDocUrl; + @Input + private String projectName; + + @TaskAction + public void saganCreateRelease() { + SaganApi sagan = new SaganApi(this.gitHubAccessToken); + Release release = new Release(); + release.setVersion(this.version); + release.setApiDocUrl(this.apiDocUrl); + release.setReferenceDocUrl(this.referenceDocUrl); + sagan.createReleaseForProject(release, this.projectName); + } + + public String getGitHubAccessToken() { + return gitHubAccessToken; + } + + public void setGitHubAccessToken(String gitHubAccessToken) { + this.gitHubAccessToken = gitHubAccessToken; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getApiDocUrl() { + return apiDocUrl; + } + + public void setApiDocUrl(String apiDocUrl) { + this.apiDocUrl = apiDocUrl; + } + + public String getReferenceDocUrl() { + return referenceDocUrl; + } + + public void setReferenceDocUrl(String referenceDocUrl) { + this.referenceDocUrl = referenceDocUrl; + } + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } + +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/sagan/SaganDeleteReleaseTask.java b/buildSrc/src/main/java/org/springframework/gradle/sagan/SaganDeleteReleaseTask.java new file mode 100644 index 0000000..49a3885 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/sagan/SaganDeleteReleaseTask.java @@ -0,0 +1,62 @@ +/* + * Copyright 2019-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.sagan; + +import org.gradle.api.DefaultTask; +import org.gradle.api.tasks.Input; +import org.gradle.api.tasks.TaskAction; + +public class SaganDeleteReleaseTask extends DefaultTask { + + @Input + private String gitHubAccessToken; + @Input + private String version; + @Input + private String projectName; + + @TaskAction + public void saganCreateRelease() { + SaganApi sagan = new SaganApi(this.gitHubAccessToken); + sagan.deleteReleaseForProject(this.version, this.projectName); + } + + public String getGitHubAccessToken() { + return gitHubAccessToken; + } + + public void setGitHubAccessToken(String gitHubAccessToken) { + this.gitHubAccessToken = gitHubAccessToken; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } + +} diff --git a/buildSrc/src/main/java/org/springframework/gradle/sagan/SaganPlugin.java b/buildSrc/src/main/java/org/springframework/gradle/sagan/SaganPlugin.java new file mode 100644 index 0000000..388a2d1 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/sagan/SaganPlugin.java @@ -0,0 +1,47 @@ +/* + * Copyright 2019-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.sagan; + +import io.spring.gradle.convention.Utils; +import org.gradle.api.*; + +public class SaganPlugin implements Plugin { + @Override + public void apply(Project project) { + project.getTasks().register("saganCreateRelease", SaganCreateReleaseTask.class, new Action() { + @Override + public void execute(SaganCreateReleaseTask saganCreateVersion) { + saganCreateVersion.setGroup("Release"); + saganCreateVersion.setDescription("Creates a new version for the specified project on spring.io"); + saganCreateVersion.setVersion((String) project.findProperty("nextVersion")); + saganCreateVersion.setProjectName(Utils.getProjectName(project)); + saganCreateVersion.setGitHubAccessToken((String) project.findProperty("gitHubAccessToken")); + } + }); + project.getTasks().register("saganDeleteRelease", SaganDeleteReleaseTask.class, new Action() { + @Override + public void execute(SaganDeleteReleaseTask saganDeleteVersion) { + saganDeleteVersion.setGroup("Release"); + saganDeleteVersion.setDescription("Delete a version for the specified project on spring.io"); + saganDeleteVersion.setVersion((String) project.findProperty("previousVersion")); + saganDeleteVersion.setProjectName(Utils.getProjectName(project)); + saganDeleteVersion.setGitHubAccessToken((String) project.findProperty("gitHubAccessToken")); + } + }); + } + +} diff --git a/buildSrc/src/main/java/org/springframework/security/convention/versions/CommandLineUtils.java b/buildSrc/src/main/java/org/springframework/security/convention/versions/CommandLineUtils.java new file mode 100644 index 0000000..ae073af --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/security/convention/versions/CommandLineUtils.java @@ -0,0 +1,49 @@ +/* + * Copyright 2019-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.security.convention.versions; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintStream; +import java.util.Arrays; +import java.util.Scanner; + +class CommandLineUtils { + static void runCommand(File dir, String... args) { + try { + Process process = new ProcessBuilder() + .directory(dir) + .command(args) + .start(); + writeLinesTo(process.getInputStream(), System.out); + writeLinesTo(process.getErrorStream(), System.out); + if (process.waitFor() != 0) { + new RuntimeException("Failed to run " + Arrays.toString(args)); + } + } catch (IOException | InterruptedException e) { + throw new RuntimeException("Failed to run " + Arrays.toString(args), e); + } + } + + private static void writeLinesTo(InputStream input, PrintStream out) { + Scanner scanner = new Scanner(input); + while(scanner.hasNextLine()) { + out.println(scanner.nextLine()); + } + } +} diff --git a/buildSrc/src/main/java/org/springframework/security/convention/versions/FileUtils.java b/buildSrc/src/main/java/org/springframework/security/convention/versions/FileUtils.java new file mode 100644 index 0000000..0be520f --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/security/convention/versions/FileUtils.java @@ -0,0 +1,49 @@ +/* + * Copyright 2019-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.security.convention.versions; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.util.function.Function; + +class FileUtils { + static void replaceFileText(File file, Function replaceText) { + String buildFileText = readString(file); + String updatedBuildFileText = replaceText.apply(buildFileText); + writeString(file, updatedBuildFileText); + } + + static String readString(File file) { + try { + byte[] bytes = Files.readAllBytes(file.toPath()); + return new String(bytes); + } + catch (IOException e) { + throw new RuntimeException(e); + } + } + + private static void writeString(File file, String text) { + try { + Files.write(file.toPath(), text.getBytes()); + } + catch (IOException e) { + throw new RuntimeException(e); + } + } +} diff --git a/buildSrc/src/main/java/org/springframework/security/convention/versions/GitHubApi.java b/buildSrc/src/main/java/org/springframework/security/convention/versions/GitHubApi.java new file mode 100644 index 0000000..74738e2 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/security/convention/versions/GitHubApi.java @@ -0,0 +1,179 @@ +package org.springframework.security.convention.versions; + +import com.apollographql.apollo.ApolloCall; +import com.apollographql.apollo.ApolloClient; +import com.apollographql.apollo.api.Input; +import com.apollographql.apollo.api.Response; +import com.apollographql.apollo.exception.ApolloException; +import okhttp3.Interceptor; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import org.jetbrains.annotations.NotNull; +import reactor.core.publisher.Mono; +import reactor.util.retry.Retry; +import reactor.util.retry.RetrySpec; + +import java.io.IOException; +import java.time.Duration; +import java.util.Arrays; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +public class GitHubApi { + + private final ApolloClient apolloClient; + + public GitHubApi(String githubToken) { + if (githubToken == null) { + throw new IllegalArgumentException("githubToken is required. You can set it using -PgitHubAccessToken="); + } + OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder(); + clientBuilder.addInterceptor(new AuthorizationInterceptor(githubToken)); + this.apolloClient = ApolloClient.builder() + .serverUrl("https://api.github.com/graphql") + .okHttpClient(clientBuilder.build()) + .build(); + } + + public Mono findCreateIssueInput(String owner, String name, String milestone) { + String label = "\"type: dependency-upgrade\""; + FindCreateIssueInputQuery findCreateIssueInputQuery = new FindCreateIssueInputQuery(owner, name, Input.optional(label), Input.optional(milestone)); + return Mono.create( sink -> this.apolloClient.query(findCreateIssueInputQuery) + .enqueue(new ApolloCall.Callback() { + @Override + public void onResponse(@NotNull Response response) { + if (response.hasErrors()) { + sink.error(new RuntimeException(response.getErrors().stream().map(e -> e.getMessage()).collect(Collectors.joining(" ")))); + } else { + FindCreateIssueInputQuery.Data data = response.getData(); + FindCreateIssueInputQuery.Repository repository = data.repository(); + List labels = repository.labels().nodes().stream().map(FindCreateIssueInputQuery.Node::id).collect(Collectors.toList()); + if (labels.isEmpty()) { + sink.error(new IllegalArgumentException("Could not find label for " + label)); + return; + } + Optional firstMilestoneId = repository.milestones().nodes().stream().map(FindCreateIssueInputQuery.Node1::id).findFirst(); + if (!firstMilestoneId.isPresent()) { + sink.error(new IllegalArgumentException("Could not find OPEN milestone id for " + milestone)); + return; + } + String milestoneId = firstMilestoneId.get(); + String repositoryId = repository.id(); + String assigneeId = data.viewer().id(); + sink.success(new FindCreateIssueResult(repositoryId, labels, milestoneId, assigneeId)); + } + } + @Override + public void onFailure(@NotNull ApolloException e) { + sink.error(e); + } + })); + } + + public static class FindCreateIssueResult { + private final String repositoryId; + private final List labelIds; + private final String milestoneId; + private final String assigneeId; + + public FindCreateIssueResult(String repositoryId, List labelIds, String milestoneId, String assigneeId) { + this.repositoryId = repositoryId; + this.labelIds = labelIds; + this.milestoneId = milestoneId; + this.assigneeId = assigneeId; + } + + public String getRepositoryId() { + return repositoryId; + } + + public List getLabelIds() { + return labelIds; + } + + public String getMilestoneId() { + return milestoneId; + } + + public String getAssigneeId() { + return assigneeId; + } + } + + public Mono findRateLimit() { + return Mono.create( sink -> this.apolloClient.query(new RateLimitQuery()) + .enqueue(new ApolloCall.Callback() { + @Override + public void onResponse(@NotNull Response response) { + if (response.hasErrors()) { + sink.error(new RuntimeException(response.getErrors().stream().map(e -> e.getMessage()).collect(Collectors.joining(" ")))); + } else { + sink.success(response.getData().rateLimit()); + } + } + @Override + public void onFailure(@NotNull ApolloException e) { + sink.error(e); + } + })); + } + + public Mono createIssue(String repositoryId, String title, List labelIds, String milestoneId, String assigneeId) { + CreateIssueInputMutation createIssue = new CreateIssueInputMutation.Builder() + .repositoryId(repositoryId) + .title(title) + .labelIds(labelIds) + .milestoneId(milestoneId) + .assigneeId(assigneeId) + .build(); + return Mono.create( sink -> this.apolloClient.mutate(createIssue) + .enqueue(new ApolloCall.Callback() { + @Override + public void onResponse(@NotNull Response response) { + if (response.hasErrors()) { + String message = response.getErrors().stream().map(e -> e.getMessage() + " " + e.getCustomAttributes() + " " + e.getLocations()).collect(Collectors.joining(" ")); + if (message.contains("was submitted too quickly")) { + sink.error(new SubmittedTooQuick(message)); + } else { + sink.error(new RuntimeException(message)); + } + } else { + sink.success(response.getData().createIssue().issue().number()); + } + } + @Override + public void onFailure(@NotNull ApolloException e) { + sink.error(e); + } + })) + .retryWhen( + RetrySpec.fixedDelay(3, Duration.ofMinutes(1)) + .filter(SubmittedTooQuick.class::isInstance) + .doBeforeRetry(r -> System.out.println("Pausing for 1 minute and then retrying due to receiving \"submitted too quickly\" error from GitHub API")) + ) + .cast(Integer.class); + } + + public static class SubmittedTooQuick extends RuntimeException { + public SubmittedTooQuick(String message) { + super(message); + } + } + + private static class AuthorizationInterceptor implements Interceptor { + + private final String token; + + public AuthorizationInterceptor(String token) { + this.token = token; + } + + @Override + public okhttp3.Response intercept(Chain chain) throws IOException { + Request request = chain.request().newBuilder() + .addHeader("Authorization", "Bearer " + this.token).build(); + return chain.proceed(request); + } + } +} diff --git a/buildSrc/src/main/java/org/springframework/security/convention/versions/TransitiveDependencyLookupUtils.java b/buildSrc/src/main/java/org/springframework/security/convention/versions/TransitiveDependencyLookupUtils.java new file mode 100644 index 0000000..66eb8b5 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/security/convention/versions/TransitiveDependencyLookupUtils.java @@ -0,0 +1,70 @@ +/* + * Copyright 2019-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.security.convention.versions; + +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; +import org.w3c.dom.Document; +import org.xml.sax.SAXException; + +import javax.xml.XMLConstants; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.xpath.XPath; +import javax.xml.xpath.XPathExpressionException; +import javax.xml.xpath.XPathFactory; +import java.io.IOException; +import java.io.InputStream; + +class TransitiveDependencyLookupUtils { + static String OIDC_SDK_NAME = "oauth2-oidc-sdk"; + static String NIMBUS_JOSE_JWT_NAME = "nimbus-jose-jwt"; + + private static OkHttpClient client = new OkHttpClient(); + + static String lookupJwtVersion(String oauthSdcVersion) { + Request request = new Request.Builder() + .get() + .url("https://repo.maven.apache.org/maven2/com/nimbusds/" + OIDC_SDK_NAME + "/" + oauthSdcVersion + "/" + OIDC_SDK_NAME + "-" + oauthSdcVersion + ".pom") + .build(); + try (Response response = client.newCall(request).execute()) { + if (!response.isSuccessful()) { + throw new IOException("Unexpected code " + response); + } + InputStream inputStream = response.body().byteStream(); + return getVersion(inputStream); + + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + private static String getVersion(InputStream inputStream) throws ParserConfigurationException, IOException, SAXException, XPathExpressionException { + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + dbf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); + DocumentBuilder db = dbf.newDocumentBuilder(); + + Document doc = db.parse(inputStream); + + doc.getDocumentElement().normalize(); + + XPath xPath = XPathFactory.newInstance().newXPath(); + return xPath.evaluate("/project/dependencies/dependency/version[../artifactId/text() = \"" + NIMBUS_JOSE_JWT_NAME + "\"]", doc); + } +} diff --git a/buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateDependenciesExtension.java b/buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateDependenciesExtension.java new file mode 100644 index 0000000..129d571 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateDependenciesExtension.java @@ -0,0 +1,198 @@ +package org.springframework.security.convention.versions; + +import com.github.benmanes.gradle.versions.updates.resolutionstrategy.ComponentSelectionRulesWithCurrent; +import com.github.benmanes.gradle.versions.updates.resolutionstrategy.ComponentSelectionWithCurrent; +import com.github.benmanes.gradle.versions.updates.resolutionstrategy.ResolutionStrategyWithCurrent; +import org.gradle.api.Action; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; +import java.util.function.Supplier; +import java.util.regex.Pattern; + +public class UpdateDependenciesExtension { + private Supplier> files; + + private UpdateMode updateMode = UpdateMode.COMMIT; + + private DependencyExcludes dependencyExcludes = new DependencyExcludes(); + + private GitHub gitHub = new GitHub(); + + public UpdateDependenciesExtension(Supplier> files) { + this.files = files; + } + + public void setUpdateMode(UpdateMode updateMode) { + this.updateMode = updateMode; + } + + public UpdateMode getUpdateMode() { + return updateMode; + } + + GitHub getGitHub() { + return this.gitHub; + } + + DependencyExcludes getExcludes() { + return dependencyExcludes; + } + + Supplier> getFiles() { + return files; + } + + public void setFiles(Supplier> files) { + this.files = files; + } + + public void addFiles(Supplier> files) { + Supplier> original = this.files; + setFiles(() -> { + List result = new ArrayList<>(original.get()); + result.addAll(files.get()); + return result; + }); + } + + public void dependencyExcludes(Action excludes) { + excludes.execute(this.dependencyExcludes); + } + + public void gitHub(Action gitHub) { + gitHub.execute(this.gitHub); + } + + public enum UpdateMode { + COMMIT, + GITHUB_ISSUE + } + + public class GitHub { + private String organization; + + private String repository; + + private String accessToken; + + private String milestone; + + public String getOrganization() { + return organization; + } + + public void setOrganization(String organization) { + this.organization = organization; + } + + public String getRepository() { + return repository; + } + + public void setRepository(String repository) { + this.repository = repository; + } + + public String getAccessToken() { + return accessToken; + } + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + public String getMilestone() { + return milestone; + } + + public void setMilestone(String milestone) { + this.milestone = milestone; + } + } + + /** + * Consider creating some Predicates instead since they are composible + */ + public class DependencyExcludes { + private List> actions = new ArrayList<>(); + private List> components = new ArrayList<>(); + + List> getActions() { + return actions; + } + + public List> getComponents() { + return components; + } + + public DependencyExcludes alphaBetaVersions() { + this.actions.add(excludeVersionWithRegex("(?i).*?(alpha|beta).*", "an alpha or beta version")); + return this; + } + + public DependencyExcludes majorVersionBump() { + this.actions.add((selection) -> { + String currentVersion = selection.getCurrentVersion(); + int separator = currentVersion.indexOf("."); + String major = separator > 0 ? currentVersion.substring(0, separator) : currentVersion; + String candidateVersion = selection.getCandidate().getVersion(); + Pattern calVerPattern = Pattern.compile("\\d\\d\\d\\d.*"); + boolean isCalVer = calVerPattern.matcher(candidateVersion).matches(); + if (!isCalVer && !candidateVersion.startsWith(major)) { + selection.reject("Cannot upgrade to new Major Version"); + } + }); + return this; + } + + public DependencyExcludes minorVersionBump() { + this.actions.add(createExcludeMinorVersionBump()); + return this; + } + + public Action createExcludeMinorVersionBump() { + return (selection) -> { + String currentVersion = selection.getCurrentVersion(); + int majorSeparator = currentVersion.indexOf("."); + int separator = currentVersion.indexOf(".", majorSeparator + 1); + String majorMinor = separator > 0 ? currentVersion.substring(0, separator) : currentVersion; + String candidateVersion = selection.getCandidate().getVersion(); + if (!candidateVersion.startsWith(majorMinor)) { + selection.reject("Cannot upgrade to new Minor Version"); + } + }; + } + + public DependencyExcludes releaseCandidatesVersions() { + this.actions.add(excludeVersionWithRegex("(?i).*?rc.*", "a release candidate version")); + return this; + } + + public DependencyExcludes milestoneVersions() { + this.actions.add(excludeVersionWithRegex("(?i).*?m\\d+.*", "a milestone version")); + return this; + } + + public DependencyExcludes snapshotVersions() { + this.actions.add(excludeVersionWithRegex(".*?-SNAPSHOT.*", "a SNAPSHOT version")); + return this; + } + + public DependencyExcludes addRule(Action rule) { + this.components.add(rule); + return this; + } + + private Action excludeVersionWithRegex(String regex, String reason) { + Pattern pattern = Pattern.compile(regex); + return (selection) -> { + String candidateVersion = selection.getCandidate().getVersion(); + if (pattern.matcher(candidateVersion).matches()) { + selection.reject(candidateVersion + " is not allowed because it is " + reason); + } + }; + } + } +} diff --git a/buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateDependenciesPlugin.java b/buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateDependenciesPlugin.java new file mode 100644 index 0000000..4f68fc6 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateDependenciesPlugin.java @@ -0,0 +1,244 @@ +/* + * Copyright 2019-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.security.convention.versions; + +import com.github.benmanes.gradle.versions.reporter.result.Dependency; +import com.github.benmanes.gradle.versions.reporter.result.DependencyOutdated; +import com.github.benmanes.gradle.versions.reporter.result.Result; +import com.github.benmanes.gradle.versions.reporter.result.VersionAvailable; +import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask; +import com.github.benmanes.gradle.versions.updates.gradle.GradleUpdateResult; +import com.github.benmanes.gradle.versions.updates.resolutionstrategy.ComponentSelectionRulesWithCurrent; +import com.github.benmanes.gradle.versions.updates.resolutionstrategy.ComponentSelectionWithCurrent; +import com.github.benmanes.gradle.versions.updates.resolutionstrategy.ResolutionStrategyWithCurrent; +import groovy.lang.Closure; +import org.gradle.api.Action; +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.artifacts.component.ModuleComponentIdentifier; +import reactor.core.publisher.Mono; + +import java.io.File; +import java.time.Duration; +import java.util.*; +import java.util.function.Supplier; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import static org.springframework.security.convention.versions.TransitiveDependencyLookupUtils.NIMBUS_JOSE_JWT_NAME; +import static org.springframework.security.convention.versions.TransitiveDependencyLookupUtils.OIDC_SDK_NAME; + +public class UpdateDependenciesPlugin implements Plugin { + private GitHubApi gitHubApi; + + @Override + public void apply(Project project) { + UpdateDependenciesExtension updateDependenciesSettings = project.getExtensions().create("updateDependenciesSettings", UpdateDependenciesExtension.class, defaultFiles(project)); + if (project.hasProperty("updateMode")) { + String updateMode = String.valueOf(project.findProperty("updateMode")); + updateDependenciesSettings.setUpdateMode(UpdateDependenciesExtension.UpdateMode.valueOf(updateMode)); + } + if (project.hasProperty("nextVersion")) { + String nextVersion = String.valueOf(project.findProperty("nextVersion")); + updateDependenciesSettings.getGitHub().setMilestone(nextVersion); + } + if (project.hasProperty("gitHubAccessToken")) { + String gitHubAccessToken = String.valueOf(project.findProperty("gitHubAccessToken")); + updateDependenciesSettings.getGitHub().setAccessToken(gitHubAccessToken); + } + project.getTasks().register("updateDependencies", DependencyUpdatesTask.class, new Action() { + @Override + public void execute(DependencyUpdatesTask updateDependencies) { + updateDependencies.setDescription("Update the dependencies"); + updateDependencies.setCheckConstraints(true); + updateDependencies.setOutputFormatter(new Closure(null) { + @Override + public Void call(Object argument) { + Result result = (Result) argument; + if (gitHubApi == null && updateDependenciesSettings.getUpdateMode() != UpdateDependenciesExtension.UpdateMode.COMMIT) { + gitHubApi = new GitHubApi(updateDependenciesSettings.getGitHub().getAccessToken()); + } + updateDependencies(result, project, updateDependenciesSettings); + updateGradleVersion(result, project, updateDependenciesSettings); + return null; + } + }); + updateDependencies.resolutionStrategy(new Action() { + @Override + public void execute(ResolutionStrategyWithCurrent resolution) { + resolution.componentSelection(new Action() { + @Override + public void execute(ComponentSelectionRulesWithCurrent components) { + updateDependenciesSettings.getExcludes().getActions().forEach((action) -> { + components.all(action); + }); + updateDependenciesSettings.getExcludes().getComponents().forEach((action) -> { + action.execute(components); + }); + components.all((selection) -> { + ModuleComponentIdentifier candidate = selection.getCandidate(); + if (candidate.getGroup().startsWith("org.apache.directory.") && !candidate.getVersion().equals(selection.getCurrentVersion())) { + selection.reject("org.apache.directory.* has breaking changes in newer versions"); + } + }); + String jaxbBetaRegex = ".*?b\\d+.*"; + components.withModule("javax.xml.bind:jaxb-api", excludeWithRegex(jaxbBetaRegex, "Reject jaxb-api beta versions")); + components.withModule("com.sun.xml.bind:jaxb-impl", excludeWithRegex(jaxbBetaRegex, "Reject jaxb-api beta versions")); + components.withModule("commons-collections:commons-collections", excludeWithRegex("^\\d{3,}.*", "Reject commons-collections date based releases")); + } + }); + } + }); + } + }); + } + + private void updateDependencies(Result result, Project project, UpdateDependenciesExtension updateDependenciesSettings) { + SortedSet dependencies = result.getOutdated().getDependencies(); + if (dependencies.isEmpty()) { + return; + } + Map> groups = new LinkedHashMap<>(); + dependencies.forEach(outdated -> { + groups.computeIfAbsent(outdated.getGroup(), (key) -> new ArrayList<>()).add(outdated); + }); + List nimbusds = groups.getOrDefault("com.nimbusds", new ArrayList<>()); + DependencyOutdated oidcSdc = nimbusds.stream().filter(d -> d.getName().equals(OIDC_SDK_NAME)).findFirst().orElseGet(() -> null); + if(oidcSdc != null) { + String oidcVersion = updatedVersion(oidcSdc); + String jwtVersion = TransitiveDependencyLookupUtils.lookupJwtVersion(oidcVersion); + + Dependency nimbusJoseJwtDependency = result.getCurrent().getDependencies().stream().filter(d -> d.getName().equals(NIMBUS_JOSE_JWT_NAME)).findFirst().get(); + DependencyOutdated outdatedJwt = new DependencyOutdated(); + outdatedJwt.setVersion(nimbusJoseJwtDependency.getVersion()); + outdatedJwt.setGroup(oidcSdc.getGroup()); + outdatedJwt.setName(NIMBUS_JOSE_JWT_NAME); + VersionAvailable available = new VersionAvailable(); + available.setRelease(jwtVersion); + outdatedJwt.setAvailable(available); + nimbusds.add(outdatedJwt); + } + File gradlePropertiesFile = project.getRootProject().file(Project.GRADLE_PROPERTIES); + Mono createIssueResult = createIssueResultMono(updateDependenciesSettings); + List filesWithDependencies = updateDependenciesSettings.getFiles().get(); + groups.forEach((group, outdated) -> { + outdated.forEach((dependency) -> { + String ga = dependency.getGroup() + ":" + dependency.getName() + ":"; + String originalDependency = ga + dependency.getVersion(); + String replacementDependency = ga + updatedVersion(dependency); + System.out.println("Update " + originalDependency + " to " + replacementDependency); + filesWithDependencies.forEach((fileWithDependency) -> { + updateDependencyInlineVersion(fileWithDependency, dependency); + updateDependencyWithVersionVariable(fileWithDependency, gradlePropertiesFile, dependency); + }); + }); + + // commit + DependencyOutdated firstDependency = outdated.get(0); + String updatedVersion = updatedVersion(firstDependency); + String title = outdated.size() == 1 ? "Update " + firstDependency.getName() + " to " + updatedVersion : "Update " + firstDependency.getGroup() + " to " + updatedVersion; + afterGroup(updateDependenciesSettings, project.getRootDir(), title, createIssueResult); + }); + } + + private void afterGroup(UpdateDependenciesExtension updateDependenciesExtension, File rootDir, String title, Mono createIssueResultMono) { + + String commitMessage = title; + if (updateDependenciesExtension.getUpdateMode() == UpdateDependenciesExtension.UpdateMode.GITHUB_ISSUE) { + GitHubApi.FindCreateIssueResult createIssueResult = createIssueResultMono.block(); + Integer issueNumber = gitHubApi.createIssue(createIssueResult.getRepositoryId(), title, createIssueResult.getLabelIds(), createIssueResult.getMilestoneId(), createIssueResult.getAssigneeId()).delayElement(Duration.ofSeconds(1)).block(); + commitMessage += "\n\nCloses gh-" + issueNumber; + } + CommandLineUtils.runCommand(rootDir, "git", "commit", "-am", commitMessage); + } + + private Mono createIssueResultMono(UpdateDependenciesExtension updateDependenciesExtension) { + return Mono.defer(() -> { + UpdateDependenciesExtension.GitHub gitHub = updateDependenciesExtension.getGitHub(); + return gitHubApi.findCreateIssueInput(gitHub.getOrganization(), gitHub.getRepository(), gitHub.getMilestone()).cache(); + }); + } + + private void updateGradleVersion(Result result, Project project, UpdateDependenciesExtension updateDependenciesSettings) { + if (!result.getGradle().isEnabled()) { + return; + } + GradleUpdateResult current = result.getGradle().getCurrent(); + GradleUpdateResult running = result.getGradle().getRunning(); + if (current.compareTo(running) > 0) { + String title = "Update Gradle to " + current.getVersion(); + System.out.println(title); + CommandLineUtils.runCommand(project.getRootDir(), "./gradlew", "wrapper", "--gradle-version", current.getVersion(), "--no-daemon"); + afterGroup(updateDependenciesSettings, project.getRootDir(), title, createIssueResultMono(updateDependenciesSettings)); + } + } + + private static Supplier> defaultFiles(Project project) { + return () -> { + List result = new ArrayList<>(); + result.add(project.getBuildFile()); + project.getChildProjects().values().forEach((childProject) -> + result.add(childProject.getBuildFile()) + ); + result.add(project.getRootProject().file("buildSrc/build.gradle")); + return result; + }; + } + + static Action excludeWithRegex(String regex, String reason) { + Pattern pattern = Pattern.compile(regex); + return (selection) -> { + String candidateVersion = selection.getCandidate().getVersion(); + if (pattern.matcher(candidateVersion).matches()) { + selection.reject(candidateVersion + " is not allowed because it is " + reason); + } + }; + } + + static void updateDependencyInlineVersion(File buildFile, DependencyOutdated dependency){ + String ga = dependency.getGroup() + ":" + dependency.getName() + ":"; + String originalDependency = ga + dependency.getVersion(); + String replacementDependency = ga + updatedVersion(dependency); + FileUtils.replaceFileText(buildFile, buildFileText -> buildFileText.replace(originalDependency, replacementDependency)); + } + + static void updateDependencyWithVersionVariable(File scanFile, File gradlePropertiesFile, DependencyOutdated dependency) { + if (!gradlePropertiesFile.exists()) { + return; + } + FileUtils.replaceFileText(gradlePropertiesFile, (gradlePropertiesText) -> { + String ga = dependency.getGroup() + ":" + dependency.getName() + ":"; + Pattern pattern = Pattern.compile("\"" + ga + "\\$\\{?([^'\"]+?)\\}?\""); + String buildFileText = FileUtils.readString(scanFile); + Matcher matcher = pattern.matcher(buildFileText); + while (matcher.find()) { + String versionVariable = matcher.group(1); + gradlePropertiesText = gradlePropertiesText.replace(versionVariable + "=" + dependency.getVersion(), versionVariable + "=" + updatedVersion(dependency)); + } + return gradlePropertiesText; + }); + } + + private static String updatedVersion(DependencyOutdated dependency) { + VersionAvailable available = dependency.getAvailable(); + String release = available.getRelease(); + if (release != null) { + return release; + } + return available.getMilestone(); + } +} diff --git a/buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateProjectVersionPlugin.java b/buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateProjectVersionPlugin.java new file mode 100644 index 0000000..f904110 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateProjectVersionPlugin.java @@ -0,0 +1,44 @@ +/* + * Copyright 2019-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.security.convention.versions; + +import org.gradle.api.Action; +import org.gradle.api.Plugin; +import org.gradle.api.Project; + +public class UpdateProjectVersionPlugin implements Plugin { + @Override + public void apply(Project project) { + project.getTasks().register("updateProjectVersion", UpdateProjectVersionTask.class, new Action() { + @Override + public void execute(UpdateProjectVersionTask updateProjectVersionTask) { + updateProjectVersionTask.setGroup("Release"); + updateProjectVersionTask.setDescription("Updates the project version to the next release in gradle.properties"); + updateProjectVersionTask.dependsOn("gitHubNextReleaseMilestone"); + updateProjectVersionTask.getNextVersionFile().fileProvider(project.provider(() -> project.file("next-release.yml"))); + } + }); + project.getTasks().register("updateToSnapshotVersion", UpdateToSnapshotVersionTask.class, new Action() { + @Override + public void execute(UpdateToSnapshotVersionTask updateToSnapshotVersionTask) { + updateToSnapshotVersionTask.setGroup("Release"); + updateToSnapshotVersionTask.setDescription( + "Updates the project version to the next snapshot in gradle.properties"); + } + }); + } +} diff --git a/buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateProjectVersionTask.java b/buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateProjectVersionTask.java new file mode 100644 index 0000000..63aef23 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateProjectVersionTask.java @@ -0,0 +1,63 @@ +/* + * Copyright 2019-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.security.convention.versions; + +import org.gradle.api.DefaultTask; +import org.gradle.api.Project; +import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.tasks.Input; +import org.gradle.api.tasks.InputFile; +import org.gradle.api.tasks.Optional; +import org.gradle.api.tasks.TaskAction; +import org.yaml.snakeyaml.Yaml; +import org.yaml.snakeyaml.constructor.Constructor; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; + +import org.springframework.gradle.github.milestones.NextVersionYml; + +public abstract class UpdateProjectVersionTask extends DefaultTask { + + @InputFile + public abstract RegularFileProperty getNextVersionFile(); + + @TaskAction + public void checkReleaseDueToday() throws FileNotFoundException { + File nextVersionFile = getNextVersionFile().getAsFile().get(); + Yaml yaml = new Yaml(new Constructor(NextVersionYml.class)); + NextVersionYml nextVersionYml = yaml.load(new FileInputStream(nextVersionFile)); + String nextVersion = nextVersionYml.getVersion(); + if (nextVersion == null) { + throw new IllegalArgumentException( + "Could not find version property in provided file " + nextVersionFile.getName()); + } + String currentVersion = getProject().getVersion().toString(); + File gradlePropertiesFile = getProject().getRootProject().file(Project.GRADLE_PROPERTIES); + if (!gradlePropertiesFile.exists()) { + return; + } + System.out.println("Updating the project version in " + Project.GRADLE_PROPERTIES + " from " + currentVersion + + " to " + nextVersion); + FileUtils.replaceFileText(gradlePropertiesFile, (gradlePropertiesText) -> { + gradlePropertiesText = gradlePropertiesText.replace("version=" + currentVersion, "version=" + nextVersion); + return gradlePropertiesText; + }); + } + +} diff --git a/buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateToSnapshotVersionTask.java b/buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateToSnapshotVersionTask.java new file mode 100644 index 0000000..42caf5f --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/security/convention/versions/UpdateToSnapshotVersionTask.java @@ -0,0 +1,68 @@ +/* + * Copyright 2019-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.security.convention.versions; + +import org.gradle.api.DefaultTask; +import org.gradle.api.Project; +import org.gradle.api.tasks.TaskAction; + +import java.io.File; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public abstract class UpdateToSnapshotVersionTask extends DefaultTask { + + private static final String RELEASE_VERSION_PATTERN = "^([0-9]+)\\.([0-9]+)\\.([0-9]+)(-M\\d+|-RC\\d+)?$"; + + @TaskAction + public void updateToSnapshotVersion() { + String currentVersion = getProject().getVersion().toString(); + File gradlePropertiesFile = getProject().getRootProject().file(Project.GRADLE_PROPERTIES); + if (!gradlePropertiesFile.exists()) { + return; + } + String nextVersion = calculateNextSnapshotVersion(currentVersion); + System.out.println("Updating the project version in " + Project.GRADLE_PROPERTIES + " from " + currentVersion + + " to " + nextVersion); + FileUtils.replaceFileText(gradlePropertiesFile, (gradlePropertiesText) -> { + gradlePropertiesText = gradlePropertiesText.replace("version=" + currentVersion, "version=" + nextVersion); + return gradlePropertiesText; + }); + } + + private String calculateNextSnapshotVersion(String currentVersion) { + Pattern releaseVersionPattern = Pattern.compile(RELEASE_VERSION_PATTERN); + Matcher releaseVersion = releaseVersionPattern.matcher(currentVersion); + + if (releaseVersion.find()) { + String majorSegment = releaseVersion.group(1); + String minorSegment = releaseVersion.group(2); + String patchSegment = releaseVersion.group(3); + String modifier = releaseVersion.group(4); + if (modifier == null) { + patchSegment = String.valueOf(Integer.parseInt(patchSegment) + 1); + } + System.out.println("modifier = " + modifier); + return String.format("%s.%s.%s-SNAPSHOT", majorSegment, minorSegment, patchSegment); + } + else { + throw new IllegalStateException( + "Cannot calculate next snapshot version because the current project version does not conform to the expected format"); + } + } + +} diff --git a/buildSrc/src/main/java/s101/S101Configure.java b/buildSrc/src/main/java/s101/S101Configure.java new file mode 100644 index 0000000..a8e2154 --- /dev/null +++ b/buildSrc/src/main/java/s101/S101Configure.java @@ -0,0 +1,35 @@ +/* + * Copyright 2002-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package s101; + +import java.io.File; + +import org.gradle.api.DefaultTask; +import org.gradle.api.tasks.TaskAction; + +public class S101Configure extends DefaultTask { + @TaskAction + public void configure() throws Exception { + S101PluginExtension extension = getProject().getExtensions().getByType(S101PluginExtension.class); + File buildDirectory = extension.getInstallationDirectory().get(); + File projectDirectory = extension.getConfigurationDirectory().get(); + S101Configurer configurer = new S101Configurer(getProject()); + configurer.configure(buildDirectory, projectDirectory); + } + + +} diff --git a/buildSrc/src/main/java/s101/S101Configurer.java b/buildSrc/src/main/java/s101/S101Configurer.java new file mode 100644 index 0000000..1575f47 --- /dev/null +++ b/buildSrc/src/main/java/s101/S101Configurer.java @@ -0,0 +1,311 @@ +/* + * Copyright 2002-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package s101; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.io.UncheckedIOException; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.jar.JarEntry; +import java.util.jar.JarInputStream; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; + +import com.gargoylesoftware.htmlunit.WebClient; +import com.gargoylesoftware.htmlunit.html.HtmlAnchor; +import com.gargoylesoftware.htmlunit.html.HtmlPage; +import com.github.mustachejava.DefaultMustacheFactory; +import com.github.mustachejava.Mustache; +import com.github.mustachejava.MustacheFactory; +import org.apache.commons.io.IOUtils; +import org.gradle.api.Project; +import org.gradle.api.logging.Logger; +import org.gradle.api.tasks.SourceSet; +import org.gradle.api.tasks.SourceSetContainer; + +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; + +public class S101Configurer { + private static final Pattern VERSION = Pattern.compile(" path.toFile().delete()); + } + try (PrintWriter pw = new PrintWriter(licenseFile.toFile())) { + pw.println("licensecode=" + licenseId); + } catch (IOException ex) { + throw new RuntimeException(ex); + } + } + + public void install(File installationDirectory, File configurationDirectory) { + deleteDirectory(installationDirectory); + installBuildTool(installationDirectory, configurationDirectory); + } + + public void configure(File installationDirectory, File configurationDirectory) { + deleteDirectory(configurationDirectory); + String version = computeVersionFromInstallation(installationDirectory); + configureProject(version, configurationDirectory); + } + + private String computeVersionFromInstallation(File installationDirectory) { + File buildJar = new File(installationDirectory, "structure101-java-build.jar"); + try (JarInputStream input = new JarInputStream(new FileInputStream(buildJar))) { + JarEntry entry; + while ((entry = input.getNextJarEntry()) != null) { + if (entry.getName().contains("structure101-build.properties")) { + Properties properties = new Properties(); + properties.load(input); + return properties.getProperty("s101-build"); + } + } + } catch (Exception ex) { + throw new RuntimeException(ex); + } + throw new IllegalStateException("Unable to determine Structure101 version"); + } + + private boolean deleteDirectory(File directoryToBeDeleted) { + File[] allContents = directoryToBeDeleted.listFiles(); + if (allContents != null) { + for (File file : allContents) { + deleteDirectory(file); + } + } + return directoryToBeDeleted.delete(); + } + + private String installBuildTool(File installationDirectory, File configurationDirectory) { + String source = "https://structure101.com/binaries/v6"; + try (final WebClient webClient = new WebClient()) { + HtmlPage page = webClient.getPage(source); + Matcher matcher = null; + for (HtmlAnchor anchor : page.getAnchors()) { + Matcher candidate = Pattern.compile("(structure101-build-java-all-)(.*).zip").matcher(anchor.getHrefAttribute()); + if (candidate.find()) { + matcher = candidate; + } + } + if (matcher == null) { + return null; + } + copyZipToFilesystem(source, installationDirectory, matcher.group(1) + matcher.group(2)); + return matcher.group(2); + } catch (Exception ex) { + throw new RuntimeException(ex); + } + } + + private void copyZipToFilesystem(String source, File destination, String name) { + try (ZipInputStream in = new ZipInputStream(new URL(source + "/" + name + ".zip").openStream())) { + ZipEntry entry; + String build = destination.getName(); + int entries = 0; + long size = 0; + while ((entry = in.getNextEntry()) != null) { + if (entry.getName().equals(name + "/")) { + destination.mkdirs(); + } else if (entry.getName().startsWith(name)) { + if (entries++ > TOOMANY) { + throw new IllegalArgumentException("Zip file has more entries than expected"); + } + if (size + BUFFER > TOOBIG) { + throw new IllegalArgumentException("Zip file is larger than expected"); + } + String filename = entry.getName().replace(name, build); + if (filename.contains("maven")) { + continue; + } + if (filename.contains("jxbrowser")) { + continue; + } + if (filename.contains("jetty")) { + continue; + } + if (filename.contains("jfreechart")) { + continue; + } + if (filename.contains("piccolo2d")) { + continue; + } + if (filename.contains("plexus")) { + continue; + } + if (filename.contains("websocket")) { + continue; + } + validateFilename(filename, build); + this.logger.info("Downloading " + filename); + try (OutputStream out = new FileOutputStream(new File(destination.getParentFile(), filename))) { + byte[] data = new byte[BUFFER]; + int read; + while ((read = in.read(data, 0, BUFFER)) != -1 && TOOBIG - size >= read) { + out.write(data, 0, read); + size += read; + } + } + } + } + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + private String validateFilename(String filename, String intendedDir) + throws java.io.IOException { + File f = new File(filename); + String canonicalPath = f.getCanonicalPath(); + + File iD = new File(intendedDir); + String canonicalID = iD.getCanonicalPath(); + + if (canonicalPath.startsWith(canonicalID)) { + return canonicalPath; + } else { + throw new IllegalArgumentException("File is outside extraction target directory."); + } + } + + private void configureProject(String version, File configurationDirectory) { + configurationDirectory.mkdirs(); + Map model = hspTemplateValues(version, configurationDirectory); + copyToProject(this.hspTemplate, model, new File(configurationDirectory, "project.java.hsp")); + copyToProject("s101/config.xml", new File(configurationDirectory, "config.xml")); + File repository = new File(configurationDirectory, "repository"); + File snapshots = new File(repository, "snapshots"); + if (!snapshots.exists() && !snapshots.mkdirs()) { + throw new IllegalStateException("Unable to create snapshots directory"); + } + copyToProject(this.repositoryTemplate, model, new File(repository, "repository.xml")); + } + + private void copyToProject(String location, File destination) { + Resource resource = new ClassPathResource(location); + try (InputStream is = resource.getInputStream(); + OutputStream os = new FileOutputStream(destination)) { + IOUtils.copy(is, os); + } catch (IOException ex) { + throw new UncheckedIOException(ex); + } + } + + private void copyToProject(Mustache view, Map model, File destination) { + try (OutputStream os = new FileOutputStream(destination)) { + view.execute(new OutputStreamWriter(os), model).flush(); + } catch (IOException ex) { + throw new UncheckedIOException(ex); + } + } + + private Map hspTemplateValues(String version, File configurationDirectory) { + Map values = new LinkedHashMap<>(); + values.put("version", version); + values.put("patchVersion", version.split("\\.")[2]); + values.put("relativeTo", "const(THIS_FILE)/" + configurationDirectory.toPath().relativize(this.project.getProjectDir().toPath())); + + List> entries = new ArrayList<>(); + Set projects = this.project.getAllprojects(); + for (Project p : projects) { + SourceSetContainer sourceSets = (SourceSetContainer) p.getExtensions().findByName("sourceSets"); + if (sourceSets == null) { + continue; + } + for (SourceSet source : sourceSets) { + Set classDirs = source.getOutput().getClassesDirs().getFiles(); + for (File directory : classDirs) { + Map entry = new HashMap<>(); + entry.put("path", this.project.getProjectDir().toPath().relativize(directory.toPath())); + entry.put("module", p.getName()); + entries.add(entry); + } + } + } + values.put("entries", entries); + return values; + } +} diff --git a/buildSrc/src/main/java/s101/S101Install.java b/buildSrc/src/main/java/s101/S101Install.java new file mode 100644 index 0000000..8d95db0 --- /dev/null +++ b/buildSrc/src/main/java/s101/S101Install.java @@ -0,0 +1,35 @@ +/* + * Copyright 2002-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package s101; + +import java.io.File; + +import org.gradle.api.DefaultTask; +import org.gradle.api.tasks.TaskAction; + +public class S101Install extends DefaultTask { + @TaskAction + public void install() throws Exception { + S101PluginExtension extension = getProject().getExtensions().getByType(S101PluginExtension.class); + File installationDirectory = extension.getInstallationDirectory().get(); + File configurationDirectory = extension.getConfigurationDirectory().get(); + S101Configurer configurer = new S101Configurer(getProject()); + configurer.install(installationDirectory, configurationDirectory); + } + + +} diff --git a/buildSrc/src/main/java/s101/S101Plugin.java b/buildSrc/src/main/java/s101/S101Plugin.java new file mode 100644 index 0000000..00894fb --- /dev/null +++ b/buildSrc/src/main/java/s101/S101Plugin.java @@ -0,0 +1,161 @@ +/* + * Copyright 2002-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package s101; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.StandardCopyOption; + +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.provider.Property; +import org.gradle.api.tasks.JavaExec; + +public class S101Plugin implements Plugin { + @Override + public void apply(Project project) { + project.getExtensions().add("s101", new S101PluginExtension(project)); + project.getTasks().register("s101Install", S101Install.class, this::configure); + project.getTasks().register("s101Configure", S101Configure.class, this::configure); + project.getTasks().register("s101", JavaExec.class, this::configure); + } + + private void configure(S101Install install) { + install.setDescription("Installs Structure101 to your filesystem"); + } + + private void configure(S101Configure configure) { + configure.setDescription("Applies a default Structure101 configuration to the project"); + } + + private void configure(JavaExec exec) { + exec.setDescription("Runs Structure101 headless analysis, installing and configuring if necessary"); + exec.dependsOn("check"); + Project project = exec.getProject(); + S101PluginExtension extension = project.getExtensions().getByType(S101PluginExtension.class); + exec + .workingDir(extension.getInstallationDirectory()) + .classpath(new File(extension.getInstallationDirectory().get(), "structure101-java-build.jar")) + .args(new File(new File(project.getBuildDir(), "s101"), "config.xml")) + .systemProperty("s101.label", computeLabel(extension).get()) + .doFirst((task) -> { + installAndConfigureIfNeeded(project); + copyConfigurationToBuildDirectory(extension, project); + }) + .doLast((task) -> { + copyResultsBackToConfigurationDirectory(extension, project); + }); + } + + private Property computeLabel(S101PluginExtension extension) { + boolean hasBaseline = extension.getConfigurationDirectory().get().toPath() + .resolve("repository").resolve("snapshots").resolve("baseline").toFile().exists(); + if (!hasBaseline) { + return extension.getLabel().convention("baseline"); + } + return extension.getLabel().convention("recent"); + } + + private void installAndConfigureIfNeeded(Project project) { + S101Configurer configurer = new S101Configurer(project); + S101PluginExtension extension = project.getExtensions().getByType(S101PluginExtension.class); + String licenseId = extension.getLicenseId().getOrNull(); + if (licenseId != null) { + configurer.license(licenseId); + } + File installationDirectory = extension.getInstallationDirectory().get(); + File configurationDirectory = extension.getConfigurationDirectory().get(); + if (!installationDirectory.exists()) { + configurer.install(installationDirectory, configurationDirectory); + } + if (!configurationDirectory.exists()) { + configurer.configure(installationDirectory, configurationDirectory); + } + } + + private void copyConfigurationToBuildDirectory(S101PluginExtension extension, Project project) { + Path configurationDirectory = extension.getConfigurationDirectory().get().toPath(); + Path buildDirectory = project.getBuildDir().toPath(); + copyDirectory(project, configurationDirectory, buildDirectory); + } + + private void copyResultsBackToConfigurationDirectory(S101PluginExtension extension, Project project) { + Path buildConfigurationDirectory = project.getBuildDir().toPath().resolve("s101"); + String label = extension.getLabel().get(); + if ("baseline".equals(label)) { // a new baseline was created + copyDirectory(project, buildConfigurationDirectory.resolve("repository").resolve("snapshots"), + extension.getConfigurationDirectory().get().toPath().resolve("repository")); + copyDirectory(project, buildConfigurationDirectory.resolve("repository"), + extension.getConfigurationDirectory().get().toPath()); + } + } + + private void copyDirectory(Project project, Path source, Path destination) { + try { + Files.walk(source) + .forEach(each -> { + Path relativeToSource = source.getParent().relativize(each); + Path resolvedDestination = destination.resolve(relativeToSource); + if (each.toFile().isDirectory()) { + resolvedDestination.toFile().mkdirs(); + return; + } + InputStream input; + if ("project.java.hsp".equals(each.toFile().getName())) { + Path relativeTo = project.getBuildDir().toPath().resolve("s101").relativize(project.getProjectDir().toPath()); + String value = "const(THIS_FILE)/" + relativeTo; + input = replace(each, "", ""); + } else if (each.toFile().toString().endsWith(".xml")) { + input = replace(each, "\\r\\n", "\n"); + } else { + input = input(each); + } + try { + Files.copy(input, resolvedDestination, StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + throw new RuntimeException(e); + } + }); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + private InputStream replace(Path file, String search, String replace) { + try { + byte[] b = Files.readAllBytes(file); + String contents = new String(b).replaceAll(search, replace); + return new ByteArrayInputStream(contents.getBytes(StandardCharsets.UTF_8)); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + private InputStream input(Path file) { + try { + return new FileInputStream(file.toFile()); + } catch (IOException e) { + throw new RuntimeException(e); + } + } +} diff --git a/buildSrc/src/main/java/s101/S101PluginExtension.java b/buildSrc/src/main/java/s101/S101PluginExtension.java new file mode 100644 index 0000000..f3abe0f --- /dev/null +++ b/buildSrc/src/main/java/s101/S101PluginExtension.java @@ -0,0 +1,82 @@ +/* + * Copyright 2002-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package s101; + +import java.io.File; + +import org.gradle.api.Project; +import org.gradle.api.provider.Property; +import org.gradle.api.tasks.Input; +import org.gradle.api.tasks.InputDirectory; + +public class S101PluginExtension { + private final Property licenseId; + private final Property installationDirectory; + private final Property configurationDirectory; + private final Property label; + + @Input + public Property getLicenseId() { + return this.licenseId; + } + + public void setLicenseId(String licenseId) { + this.licenseId.set(licenseId); + } + + @InputDirectory + public Property getInstallationDirectory() { + return this.installationDirectory; + } + + public void setInstallationDirectory(String installationDirectory) { + this.installationDirectory.set(new File(installationDirectory)); + } + + @InputDirectory + public Property getConfigurationDirectory() { + return this.configurationDirectory; + } + + public void setConfigurationDirectory(String configurationDirectory) { + this.configurationDirectory.set(new File(configurationDirectory)); + } + + @Input + public Property getLabel() { + return this.label; + } + + public void setLabel(String label) { + this.label.set(label); + } + + public S101PluginExtension(Project project) { + this.licenseId = project.getObjects().property(String.class); + if (project.hasProperty("s101.licenseId")) { + setLicenseId((String) project.findProperty("s101.licenseId")); + } + this.installationDirectory = project.getObjects().property(File.class) + .convention(new File(project.getBuildDir(), "s101")); + this.configurationDirectory = project.getObjects().property(File.class) + .convention(new File(project.getProjectDir(), "s101")); + this.label = project.getObjects().property(String.class); + if (project.hasProperty("s101.label")) { + setLabel((String) project.findProperty("s101.label")); + } + } +} diff --git a/buildSrc/src/main/java/trang/RncToXsd.java b/buildSrc/src/main/java/trang/RncToXsd.java new file mode 100644 index 0000000..03185d5 --- /dev/null +++ b/buildSrc/src/main/java/trang/RncToXsd.java @@ -0,0 +1,83 @@ +package trang; + +import com.thaiopensource.relaxng.translate.Driver; +import net.sf.saxon.TransformerFactoryImpl; +import org.gradle.api.DefaultTask; +import org.gradle.api.tasks.InputDirectory; +import org.gradle.api.tasks.InputFile; +import org.gradle.api.tasks.OutputDirectory; +import org.gradle.api.tasks.TaskAction; + +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.stream.StreamSource; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.StandardCopyOption; + +/** + * Converts .rnc files to .xsd files using trang and then applies an xsl file to cleanup the results. + */ +public class RncToXsd extends DefaultTask { + + private File rncDir; + + private File xslFile; + + private File xsdDir; + + @InputDirectory + public File getRncDir() { + return rncDir; + } + + public void setRncDir(File rncDir) { + this.rncDir = rncDir; + } + + @InputFile + public File getXslFile() { + return xslFile; + } + + public void setXslFile(File xslFile) { + this.xslFile = xslFile; + } + + @OutputDirectory + public File getXsdDir() { + return xsdDir; + } + + public void setXsdDir(File xsdDir) { + this.xsdDir = xsdDir; + } + + @TaskAction + public final void transform() throws IOException, TransformerException { + String xslPath = xslFile.getAbsolutePath(); + + File[] files = rncDir.listFiles((dir, file) -> file.endsWith(".rnc")); + if(files != null) { + for (File rncFile : files) { + File xsdFile = new File(xsdDir, rncFile.getName().replace(".rnc", ".xsd")); + String xsdOutputPath = xsdFile.getAbsolutePath(); + + new Driver().run(new String[]{rncFile.getAbsolutePath(), xsdOutputPath}); + + TransformerFactory tFactory = new TransformerFactoryImpl(); + Transformer transformer = tFactory.newTransformer(new StreamSource(xslPath)); + + File temp = File.createTempFile("gradle-trang-" + xsdFile.getName(), ".xsd"); + + Files.copy(xsdFile.toPath(), temp.toPath(), StandardCopyOption.REPLACE_EXISTING); + StreamSource xmlSource = new StreamSource(temp); + transformer.transform(xmlSource, new StreamResult(xsdFile)); + temp.delete(); + } + } + } +} diff --git a/buildSrc/src/main/java/trang/TrangPlugin.java b/buildSrc/src/main/java/trang/TrangPlugin.java new file mode 100644 index 0000000..02ca374 --- /dev/null +++ b/buildSrc/src/main/java/trang/TrangPlugin.java @@ -0,0 +1,18 @@ +package trang; + +import org.gradle.api.Plugin; +import org.gradle.api.Project; + +/** + * Used for converting .rnc files to .xsd files. + * @author Rob Winch + */ +public class TrangPlugin implements Plugin { + @Override + public void apply(Project project) { + project.getTasks().register("rncToXsd", RncToXsd.class, (rncToXsd) -> { + rncToXsd.setDescription("Converts .rnc to .xsd"); + rncToXsd.setGroup("Build"); + }); + } +} diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.artifactory.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.artifactory.properties new file mode 100644 index 0000000..573d128 --- /dev/null +++ b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.artifactory.properties @@ -0,0 +1 @@ +implementation-class=io.spring.gradle.convention.ArtifactoryPlugin \ No newline at end of file diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.bom.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.bom.properties new file mode 100644 index 0000000..dec2e7a --- /dev/null +++ b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.bom.properties @@ -0,0 +1 @@ +implementation-class=io.spring.gradle.convention.MavenBomPlugin \ No newline at end of file diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.checkstyle.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.checkstyle.properties new file mode 100644 index 0000000..9259a91 --- /dev/null +++ b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.checkstyle.properties @@ -0,0 +1 @@ +implementation-class=io.spring.gradle.convention.CheckstylePlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.docs.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.docs.properties new file mode 100644 index 0000000..fcad41a --- /dev/null +++ b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.docs.properties @@ -0,0 +1 @@ +implementation-class=io.spring.gradle.convention.DocsPlugin \ No newline at end of file diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.include-check-remote.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.include-check-remote.properties new file mode 100644 index 0000000..298e1bb --- /dev/null +++ b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.include-check-remote.properties @@ -0,0 +1 @@ +implementation-class=io.spring.gradle.convention.IncludeCheckRemotePlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.integration-test.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.integration-test.properties new file mode 100644 index 0000000..0da39b3 --- /dev/null +++ b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.integration-test.properties @@ -0,0 +1 @@ +implementation-class=io.spring.gradle.convention.IntegrationTestPlugin \ No newline at end of file diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.jacoco.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.jacoco.properties new file mode 100644 index 0000000..70cfb7d --- /dev/null +++ b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.jacoco.properties @@ -0,0 +1 @@ +implementation-class=io.spring.gradle.convention.JacocoPlugin \ No newline at end of file diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.javadoc-api.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.javadoc-api.properties new file mode 100644 index 0000000..bfb9230 --- /dev/null +++ b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.javadoc-api.properties @@ -0,0 +1 @@ +implementation-class=io.spring.gradle.convention.JavadocApiPlugin \ No newline at end of file diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.javadoc-options.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.javadoc-options.properties new file mode 100644 index 0000000..77e7832 --- /dev/null +++ b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.javadoc-options.properties @@ -0,0 +1 @@ +implementation-class=io.spring.gradle.convention.JavadocOptionsPlugin \ No newline at end of file diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.repository.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.repository.properties new file mode 100644 index 0000000..b427d55 --- /dev/null +++ b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.repository.properties @@ -0,0 +1 @@ +implementation-class=io.spring.gradle.convention.RepositoryConventionPlugin \ No newline at end of file diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.root.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.root.properties new file mode 100644 index 0000000..9844db6 --- /dev/null +++ b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.root.properties @@ -0,0 +1 @@ +implementation-class=io.spring.gradle.convention.RootProjectPlugin \ No newline at end of file diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.spring-module.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.spring-module.properties new file mode 100644 index 0000000..124dd85 --- /dev/null +++ b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.spring-module.properties @@ -0,0 +1 @@ +implementation-class=io.spring.gradle.convention.SpringModulePlugin \ No newline at end of file diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.spring-test.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.spring-test.properties new file mode 100644 index 0000000..4881e2d --- /dev/null +++ b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.spring-test.properties @@ -0,0 +1 @@ +implementation-class=io.spring.gradle.convention.SpringTestPlugin \ No newline at end of file diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.tests-configuration.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.tests-configuration.properties new file mode 100644 index 0000000..afd0a71 --- /dev/null +++ b/buildSrc/src/main/resources/META-INF/gradle-plugins/io.spring.convention.tests-configuration.properties @@ -0,0 +1 @@ +implementation-class=io.spring.gradle.convention.TestsConfigurationPlugin \ No newline at end of file diff --git a/buildSrc/src/main/resources/s101/config.xml b/buildSrc/src/main/resources/s101/config.xml new file mode 100644 index 0000000..113236c --- /dev/null +++ b/buildSrc/src/main/resources/s101/config.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/buildSrc/src/main/resources/s101/project.java.hsp b/buildSrc/src/main/resources/s101/project.java.hsp new file mode 100644 index 0000000..be20cf0 --- /dev/null +++ b/buildSrc/src/main/resources/s101/project.java.hsp @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + {{#entries}} + + {{/entries}} + + + + + + + + diff --git a/buildSrc/src/main/resources/s101/repository.xml b/buildSrc/src/main/resources/s101/repository.xml new file mode 100644 index 0000000..466bdd2 --- /dev/null +++ b/buildSrc/src/main/resources/s101/repository.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/buildSrc/src/test/java/io/spring/gradle/TestKit.java b/buildSrc/src/test/java/io/spring/gradle/TestKit.java new file mode 100644 index 0000000..2bc0b35 --- /dev/null +++ b/buildSrc/src/test/java/io/spring/gradle/TestKit.java @@ -0,0 +1,58 @@ +/* + * Copyright 2002-2017 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package io.spring.gradle; + +import org.apache.commons.io.FileUtils; +import org.gradle.testkit.runner.GradleRunner; +import org.junit.runner.Description; +import org.junit.runners.model.Statement; + +import java.io.File; +import java.io.IOException; +import java.net.URISyntaxException; +import java.net.URL; +import java.nio.file.Paths; +import java.util.Enumeration; + +public class TestKit { + final File buildDir; + + public TestKit(File buildDir) { + this.buildDir = buildDir; + } + + public File getRootDir() { + return buildDir; + } + + public GradleRunner withProjectDir(File projectDir) throws IOException { + FileUtils.copyDirectory(projectDir, buildDir); + return GradleRunner.create() + .withProjectDir(buildDir) + .withPluginClasspath(); + } + + public GradleRunner withProjectResource(String projectResourceName) throws IOException, URISyntaxException { + ClassLoader classLoader = getClass().getClassLoader(); + Enumeration resources = classLoader.getResources(projectResourceName); + if(!resources.hasMoreElements()) { + throw new IOException("Cannot find resource " + projectResourceName + " with " + classLoader); + } + URL resourceUrl = resources.nextElement(); + File projectDir = Paths.get(resourceUrl.toURI()).toFile(); + return withProjectDir(projectDir); + } +} diff --git a/buildSrc/src/test/java/io/spring/gradle/convention/IncludeCheckRemotePluginTest.java b/buildSrc/src/test/java/io/spring/gradle/convention/IncludeCheckRemotePluginTest.java new file mode 100644 index 0000000..dff022f --- /dev/null +++ b/buildSrc/src/test/java/io/spring/gradle/convention/IncludeCheckRemotePluginTest.java @@ -0,0 +1,148 @@ +/* + * Copyright 2002-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package io.spring.gradle.convention; + +import java.io.File; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +import io.spring.gradle.IncludeRepoTask; +import org.apache.commons.io.FileUtils; +import org.gradle.api.Project; +import org.gradle.api.tasks.GradleBuild; +import org.gradle.testfixtures.ProjectBuilder; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class IncludeCheckRemotePluginTest { + + Project rootProject; + + @AfterEach + public void cleanup() throws Exception { + if (rootProject != null) { + FileUtils.deleteDirectory(rootProject.getProjectDir()); + } + } + + @Test + void applyWhenExtensionPropertiesNoTasksThenCreateCheckRemoteTaskWithDefaultTask() { + this.rootProject = ProjectBuilder.builder().build(); + this.rootProject.getPluginManager().apply(IncludeCheckRemotePlugin.class); + this.rootProject.getExtensions().configure(IncludeCheckRemotePlugin.IncludeCheckRemoteExtension.class, + (includeCheckRemoteExtension) -> { + includeCheckRemoteExtension.setProperty("repository", "my-project/my-repository"); + includeCheckRemoteExtension.setProperty("ref", "main"); + }); + + GradleBuild checkRemote = (GradleBuild) this.rootProject.getTasks().named("checkRemote").get(); + assertThat(checkRemote.getTasks()).containsExactly("check"); + } + + @Test + void applyWhenExtensionPropertiesTasksThenCreateCheckRemoteWithProvidedTasks() { + this.rootProject = ProjectBuilder.builder().build(); + this.rootProject.getPluginManager().apply(IncludeCheckRemotePlugin.class); + this.rootProject.getExtensions().configure(IncludeCheckRemotePlugin.IncludeCheckRemoteExtension.class, + (includeCheckRemoteExtension) -> { + includeCheckRemoteExtension.setProperty("repository", "my-project/my-repository"); + includeCheckRemoteExtension.setProperty("ref", "main"); + includeCheckRemoteExtension.setProperty("tasks", Arrays.asList("clean", "build", "test")); + }); + + GradleBuild checkRemote = (GradleBuild) this.rootProject.getTasks().named("checkRemote").get(); + assertThat(checkRemote.getTasks()).containsExactly("clean", "build", "test"); + } + + @Test + void applyWhenExtensionPropertiesInitScriptsThenCreateCheckRemoteWithProvidedTasks() { + this.rootProject = ProjectBuilder.builder().build(); + this.rootProject.getPluginManager().apply(IncludeCheckRemotePlugin.class); + this.rootProject.getExtensions().configure(IncludeCheckRemotePlugin.IncludeCheckRemoteExtension.class, + (includeCheckRemoteExtension) -> { + includeCheckRemoteExtension.setProperty("repository", "my-project/my-repository"); + includeCheckRemoteExtension.setProperty("ref", "main"); + includeCheckRemoteExtension.setProperty("initScripts", Arrays.asList("spring-security-ci.gradle")); + }); + + GradleBuild checkRemote = (GradleBuild) this.rootProject.getTasks().named("checkRemote").get(); + assertThat(checkRemote.getStartParameter().getAllInitScripts()).extracting(File::getName).containsExactly("spring-security-ci.gradle"); + } + + @Test + void applyWhenExtensionPropertiesBuildPropertiesThenCreateCheckRemoteWithProvidedTasks() { + Map projectProperties = new HashMap<>(); + projectProperties.put("localRepositoryPath", "~/local/repository"); + projectProperties.put("anotherProperty", "some_value"); + this.rootProject = ProjectBuilder.builder().build(); + this.rootProject.getPluginManager().apply(IncludeCheckRemotePlugin.class); + this.rootProject.getExtensions().configure(IncludeCheckRemotePlugin.IncludeCheckRemoteExtension.class, + (includeCheckRemoteExtension) -> { + includeCheckRemoteExtension.setProperty("repository", "my-project/my-repository"); + includeCheckRemoteExtension.setProperty("ref", "main"); + includeCheckRemoteExtension.setProperty("projectProperties", projectProperties); + }); + + GradleBuild checkRemote = (GradleBuild) this.rootProject.getTasks().named("checkRemote").get(); + assertThat(checkRemote.getStartParameter().getProjectProperties()).containsEntry("localRepositoryPath", "~/local/repository") + .containsEntry("anotherProperty", "some_value"); + } + + @Test + void applyWhenExtensionPropertiesThenRegisterIncludeRepoTaskWithExtensionProperties() { + this.rootProject = ProjectBuilder.builder().build(); + this.rootProject.getPluginManager().apply(IncludeCheckRemotePlugin.class); + this.rootProject.getExtensions().configure(IncludeCheckRemotePlugin.IncludeCheckRemoteExtension.class, + (includeCheckRemoteExtension) -> { + includeCheckRemoteExtension.setProperty("repository", "my-project/my-repository"); + includeCheckRemoteExtension.setProperty("ref", "main"); + }); + + IncludeRepoTask includeRepo = (IncludeRepoTask) this.rootProject.getTasks().named("includeRepo").get(); + assertThat(includeRepo).isNotNull(); + assertThat(includeRepo.getRepository().get()).isEqualTo("my-project/my-repository"); + assertThat(includeRepo.getRef().get()).isEqualTo("main"); + } + + @Test + void applyWhenRegisterTasksThenCheckRemoteDirSameAsIncludeRepoOutputDir() { + this.rootProject = ProjectBuilder.builder().build(); + this.rootProject.getPluginManager().apply(IncludeCheckRemotePlugin.class); + this.rootProject.getExtensions().configure(IncludeCheckRemotePlugin.IncludeCheckRemoteExtension.class, + (includeCheckRemoteExtension) -> { + includeCheckRemoteExtension.setProperty("repository", "my-project/my-repository"); + includeCheckRemoteExtension.setProperty("ref", "main"); + }); + IncludeRepoTask includeRepo = (IncludeRepoTask) this.rootProject.getTasks().named("includeRepo").get(); + GradleBuild checkRemote = (GradleBuild) this.rootProject.getTasks().named("checkRemote").get(); + assertThat(checkRemote.getDir()).isEqualTo(includeRepo.getOutputDirectory()); + } + + @Test + void applyWhenNoExtensionPropertiesThenRegisterTasks() { + this.rootProject = ProjectBuilder.builder().build(); + this.rootProject.getPluginManager().apply(IncludeCheckRemotePlugin.class); + IncludeRepoTask includeRepo = (IncludeRepoTask) this.rootProject.getTasks().named("includeRepo").get(); + GradleBuild checkRemote = (GradleBuild) this.rootProject.getTasks().named("checkRemote").get(); + assertThat(includeRepo).isNotNull(); + assertThat(checkRemote).isNotNull(); + } + +} diff --git a/buildSrc/src/test/java/io/spring/gradle/convention/IntegrationPluginTest.java b/buildSrc/src/test/java/io/spring/gradle/convention/IntegrationPluginTest.java new file mode 100644 index 0000000..cfb7d3f --- /dev/null +++ b/buildSrc/src/test/java/io/spring/gradle/convention/IntegrationPluginTest.java @@ -0,0 +1,52 @@ +/* + * Copyright 2002-2016 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package io.spring.gradle.convention; + +import org.apache.commons.io.FileUtils; +import org.gradle.api.Project; +import org.gradle.api.plugins.JavaPlugin; +import org.gradle.testfixtures.ProjectBuilder; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; + +import java.io.File; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * @author Rob Winch + */ +public class IntegrationPluginTest { + Project rootProject; + + @AfterEach + public void cleanup() throws Exception { + if (rootProject != null) { + FileUtils.deleteDirectory(rootProject.getProjectDir()); + } + } + + @Test + public void applyWhenNoSourceThenIntegrationTestTaskNull() { + rootProject = ProjectBuilder.builder().build(); + rootProject.getPlugins().apply(JavaPlugin.class); + rootProject.getPlugins().apply(IntegrationTestPlugin.class); + + assertThat(rootProject.getTasks().findByPath("integrationTest")).isNull(); + } + +} diff --git a/buildSrc/src/test/java/io/spring/gradle/convention/IntegrationTestPluginITest.java b/buildSrc/src/test/java/io/spring/gradle/convention/IntegrationTestPluginITest.java new file mode 100644 index 0000000..9753734 --- /dev/null +++ b/buildSrc/src/test/java/io/spring/gradle/convention/IntegrationTestPluginITest.java @@ -0,0 +1,52 @@ +package io.spring.gradle.convention; + +import io.spring.gradle.TestKit; +import org.gradle.testkit.runner.BuildResult; +import org.gradle.testkit.runner.TaskOutcome; +import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.io.TempDir; + +import java.io.File; +import java.nio.file.Path; + +import static org.assertj.core.api.Assertions.assertThat; + +public class IntegrationTestPluginITest { + private io.spring.gradle.TestKit testKit; + + @BeforeEach + void setup(@TempDir Path tempDir) { + this.testKit = new TestKit(tempDir.toFile()); + } + + @Test + public void checkWithJavaPlugin() throws Exception { + BuildResult result = this.testKit.withProjectResource("samples/integrationtest/withjava/") + .withArguments("check") + .build(); + assertThat(result.task(":check").getOutcome()).isEqualTo(TaskOutcome.SUCCESS); + assertThat(new File(testKit.getRootDir(), "build/test-results/integrationTest/")).exists(); + assertThat(new File(testKit.getRootDir(), "build/reports/tests/integrationTest/")).exists(); + } + + @Test + public void checkWithPropdeps() throws Exception { + BuildResult result = this.testKit.withProjectResource("samples/integrationtest/withpropdeps/") + .withArguments("check") + .build(); + assertThat(result.task(":check").getOutcome()).isEqualTo(TaskOutcome.SUCCESS); + assertThat(new File(testKit.getRootDir(), "build/test-results/integrationTest/")).exists(); + assertThat(new File(testKit.getRootDir(), "build/reports/tests/integrationTest/")).exists(); + } + + @Test + public void checkWithGroovy() throws Exception { + BuildResult result = this.testKit.withProjectResource("samples/integrationtest/withgroovy/") + .withArguments("check") + .build(); + assertThat(result.task(":check").getOutcome()).isEqualTo(TaskOutcome.SUCCESS); + assertThat(new File(testKit.getRootDir(), "build/test-results/integrationTest/")).exists(); + assertThat(new File(testKit.getRootDir(), "build/reports/tests/integrationTest/")).exists(); + } +} diff --git a/buildSrc/src/test/java/io/spring/gradle/convention/JacocoPluginITest.java b/buildSrc/src/test/java/io/spring/gradle/convention/JacocoPluginITest.java new file mode 100644 index 0000000..8b1c097 --- /dev/null +++ b/buildSrc/src/test/java/io/spring/gradle/convention/JacocoPluginITest.java @@ -0,0 +1,31 @@ +package io.spring.gradle.convention; + +import org.gradle.testkit.runner.BuildResult; +import org.gradle.testkit.runner.TaskOutcome; +import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.io.TempDir; + +import java.io.File; +import java.nio.file.Path; + +import static org.assertj.core.api.Assertions.assertThat; + +public class JacocoPluginITest{ + private io.spring.gradle.TestKit testKit; + + @BeforeEach + void setup(@TempDir Path tempDir) { + this.testKit = new io.spring.gradle.TestKit(tempDir.toFile()); + } + + @Test + public void checkWithJavaPlugin() throws Exception { + BuildResult result = this.testKit.withProjectResource("samples/jacoco/java/") + .withArguments("check") + .build(); + assertThat(result.task(":check").getOutcome()).isEqualTo(TaskOutcome.SUCCESS); + assertThat(new File(testKit.getRootDir(), "build/jacoco")).exists(); + assertThat(new File(testKit.getRootDir(), "build/reports/jacoco/test/html/")).exists(); + } +} diff --git a/buildSrc/src/test/java/io/spring/gradle/convention/JavadocApiPluginITest.java b/buildSrc/src/test/java/io/spring/gradle/convention/JavadocApiPluginITest.java new file mode 100644 index 0000000..e77f341 --- /dev/null +++ b/buildSrc/src/test/java/io/spring/gradle/convention/JavadocApiPluginITest.java @@ -0,0 +1,39 @@ +package io.spring.gradle.convention; + +import io.spring.gradle.TestKit; +import org.apache.commons.io.FileUtils; +import org.gradle.testkit.runner.BuildResult; +import org.gradle.testkit.runner.TaskOutcome; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; + +import java.io.File; +import java.nio.file.Path; + +import static org.assertj.core.api.Assertions.assertThat; + +public class JavadocApiPluginITest { + private TestKit testKit; + + @BeforeEach + void setup(@TempDir Path tempDir) { + this.testKit = new TestKit(tempDir.toFile()); + } + + @Test + public void multiModuleApi() throws Exception { + BuildResult result = this.testKit.withProjectResource("samples/javadocapi/multimodule/") + .withArguments("api") + .build(); + assertThat(result.task(":api").getOutcome()).isEqualTo(TaskOutcome.SUCCESS); + File allClasses = new File(testKit.getRootDir(), "build/api/allclasses-noframe.html"); + File index = new File(testKit.getRootDir(), "build/api/allclasses-index.html"); + File listing = allClasses.exists() ? allClasses : index; + String listingText = FileUtils.readFileToString(listing); + assertThat(listingText).contains("sample/Api.html"); + assertThat(listingText).contains("sample/Impl.html"); + assertThat(listingText).doesNotContain("sample/Sample.html"); + } +} diff --git a/buildSrc/src/test/java/io/spring/gradle/convention/JavadocApiPluginTest.java b/buildSrc/src/test/java/io/spring/gradle/convention/JavadocApiPluginTest.java new file mode 100644 index 0000000..26d8b4e --- /dev/null +++ b/buildSrc/src/test/java/io/spring/gradle/convention/JavadocApiPluginTest.java @@ -0,0 +1,56 @@ +/* + * Copyright 2002-2016 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package io.spring.gradle.convention; + +import java.io.File; + +import org.apache.commons.io.FileUtils; +import static org.assertj.core.api.Assertions.assertThat; +import org.gradle.api.Project; +import org.gradle.api.tasks.javadoc.Javadoc; +import org.gradle.testfixtures.ProjectBuilder; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; + +/** + * @author Rob Winch + */ +public class JavadocApiPluginTest { + Project rootProject; + + @AfterEach + public void cleanup() throws Exception { + if (rootProject != null) { + FileUtils.deleteDirectory(rootProject.getProjectDir()); + } + } + + @Test + public void applyWhenNotOverrideThenPropertiesDefaulted() { + rootProject = ProjectBuilder.builder().build(); + rootProject.getPlugins().apply(JavadocApiPlugin.class); + + Javadoc apiTask = (Javadoc) rootProject.getTasks().getByPath("api"); + + assertThat(apiTask).isNotNull(); + assertThat(apiTask.getGroup()).isEqualTo("Documentation"); + assertThat(apiTask.getDescription()).isEqualTo("Generates aggregated Javadoc API documentation."); + assertThat(apiTask.getMaxMemory()).isEqualTo("1024m"); + assertThat(apiTask.getDestinationDir()).isEqualTo(new File(rootProject.getBuildDir(), "api")); + } + +} diff --git a/buildSrc/src/test/java/io/spring/gradle/convention/RepositoryConventionPluginTests.java b/buildSrc/src/test/java/io/spring/gradle/convention/RepositoryConventionPluginTests.java new file mode 100644 index 0000000..f1048db --- /dev/null +++ b/buildSrc/src/test/java/io/spring/gradle/convention/RepositoryConventionPluginTests.java @@ -0,0 +1,152 @@ +/* + * Copyright 2016-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package io.spring.gradle.convention; + +import org.gradle.api.Project; +import org.gradle.api.artifacts.dsl.RepositoryHandler; +import org.gradle.api.artifacts.repositories.ArtifactRepository; +import org.gradle.api.artifacts.repositories.MavenArtifactRepository; +import org.gradle.api.plugins.ExtraPropertiesExtension; +import org.gradle.testfixtures.ProjectBuilder; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * Tests for {@link RepositoryConventionPlugin}. + */ +public class RepositoryConventionPluginTests { + + private Project project = ProjectBuilder.builder().build(); + + @BeforeEach + public void setUp() { + this.project.getProperties().clear(); + } + + @Test + public void applyWhenIsReleaseThenShouldIncludeReleaseRepo() { + this.project.setVersion("1.0.0.RELEASE"); + this.project.getPluginManager().apply(RepositoryConventionPlugin.class); + + RepositoryHandler repositories = this.project.getRepositories(); + assertReleaseRepository(repositories); + } + + @Test + public void applyWhenIsMilestoneThenShouldIncludeMilestoneRepo() { + this.project.setVersion("1.0.0.M1"); + this.project.getPluginManager().apply(RepositoryConventionPlugin.class); + + RepositoryHandler repositories = this.project.getRepositories(); + assertMilestoneRepository(repositories); // milestone + } + + @Test + public void applyWhenIsSnapshotThenShouldIncludeSnapshotRepo() { + this.project.setVersion("1.0.0.BUILD-SNAPSHOT"); + this.project.getPluginManager().apply(RepositoryConventionPlugin.class); + + RepositoryHandler repositories = this.project.getRepositories(); + assertSnapshotRepository(repositories); + } + + @Test + public void applyWhenIsSnapshotWithForceReleaseThenShouldOnlyIncludeReleaseRepo() { + this.project.getExtensions().getByType(ExtraPropertiesExtension.class) + .set("forceMavenRepositories", "release"); + this.project.setVersion("1.0.0.RELEASE"); + this.project.getPluginManager().apply(RepositoryConventionPlugin.class); + + RepositoryHandler repositories = this.project.getRepositories(); + assertReleaseRepository(repositories); + } + + @Test + public void applyWhenIsReleaseWithForceMilestoneThenShouldIncludeMilestoneRepo() { + this.project.getExtensions().getByType(ExtraPropertiesExtension.class) + .set("forceMavenRepositories", "milestone"); + this.project.setVersion("1.0.0.RELEASE"); + this.project.getPluginManager().apply(RepositoryConventionPlugin.class); + + RepositoryHandler repositories = this.project.getRepositories(); + assertMilestoneRepository(repositories); + } + + @Test + public void applyWhenIsReleaseWithForceSnapshotThenShouldIncludeSnapshotRepo() { + this.project.getExtensions().getByType(ExtraPropertiesExtension.class) + .set("forceMavenRepositories", "snapshot"); + this.project.setVersion("1.0.0.RELEASE"); + this.project.getPluginManager().apply(RepositoryConventionPlugin.class); + + RepositoryHandler repositories = this.project.getRepositories(); + assertSnapshotRepository(repositories); + } + + @Test + public void applyWhenIsReleaseWithForceLocalThenShouldIncludeReleaseAndLocalRepos() { + this.project.getExtensions().getByType(ExtraPropertiesExtension.class) + .set("forceMavenRepositories", "local"); + this.project.setVersion("1.0.0.RELEASE"); + this.project.getPluginManager().apply(RepositoryConventionPlugin.class); + + RepositoryHandler repositories = this.project.getRepositories(); + assertThat(repositories).hasSize(4); + assertThat((repositories.get(0)).getName()).isEqualTo("MavenLocal"); + } + + @Test + public void applyWhenIsReleaseWithForceMilestoneAndLocalThenShouldIncludeMilestoneAndLocalRepos() { + this.project.getExtensions().getByType(ExtraPropertiesExtension.class) + .set("forceMavenRepositories", "milestone,local"); + this.project.setVersion("1.0.0.RELEASE"); + this.project.getPluginManager().apply(RepositoryConventionPlugin.class); + + RepositoryHandler repositories = this.project.getRepositories(); + assertThat(repositories).hasSize(5); + assertThat((repositories.get(0)).getName()).isEqualTo("MavenLocal"); + } + + private void assertSnapshotRepository(RepositoryHandler repositories) { + assertThat(repositories).extracting(ArtifactRepository::getName).hasSize(5); + assertThat(((MavenArtifactRepository) repositories.get(0)).getUrl().toString()) + .isEqualTo("https://repo.maven.apache.org/maven2/"); + assertThat(((MavenArtifactRepository) repositories.get(1)).getUrl().toString()) + .isEqualTo("https://repo.spring.io/snapshot/"); + assertThat(((MavenArtifactRepository) repositories.get(2)).getUrl().toString()) + .isEqualTo("https://repo.spring.io/milestone/"); + } + + private void assertMilestoneRepository(RepositoryHandler repositories) { + assertThat(repositories).extracting(ArtifactRepository::getName).hasSize(4); + assertThat(((MavenArtifactRepository) repositories.get(0)).getUrl().toString()) + .isEqualTo("https://repo.maven.apache.org/maven2/"); + assertThat(((MavenArtifactRepository) repositories.get(1)).getUrl().toString()) + .isEqualTo("https://repo.spring.io/milestone/"); + } + + private void assertReleaseRepository(RepositoryHandler repositories) { + assertThat(repositories).extracting(ArtifactRepository::getName).hasSize(3); + assertThat(((MavenArtifactRepository) repositories.get(0)).getUrl().toString()) + .isEqualTo("https://repo.maven.apache.org/maven2/"); + assertThat(((MavenArtifactRepository) repositories.get(1)).getUrl().toString()) + .isEqualTo("https://repo.spring.io/release/"); + } + +} diff --git a/buildSrc/src/test/java/io/spring/gradle/convention/ShowcaseITest.java b/buildSrc/src/test/java/io/spring/gradle/convention/ShowcaseITest.java new file mode 100644 index 0000000..469b190 --- /dev/null +++ b/buildSrc/src/test/java/io/spring/gradle/convention/ShowcaseITest.java @@ -0,0 +1,70 @@ +package io.spring.gradle.convention; + +import io.spring.gradle.TestKit; +import org.gradle.testkit.runner.BuildResult; +import org.gradle.testkit.runner.TaskOutcome; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; + +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; + +import static org.assertj.core.api.Assertions.assertThat; + +public class ShowcaseITest { + private TestKit testKit; + + @BeforeEach + void setup(@TempDir Path tempDir) { + this.testKit = new TestKit(tempDir.toFile()); + } + + @Test + public void build() throws Exception { + BuildResult result = this.testKit.withProjectResource("samples/showcase/") + .withArguments("build", "--stacktrace") + .forwardOutput() + .build(); + assertThat(result.getOutput()).contains("BUILD SUCCESSFUL"); + } + + @Test + @Disabled + public void install() throws Exception { + BuildResult result = this.testKit + .withProjectResource("samples/showcase/") + .withArguments("install", "--stacktrace") + .build(); + + assertThat(result.getOutput()).contains("SUCCESS"); + + File pom = new File(testKit.getRootDir(), "sgbcs-core/build/poms/pom-default.xml"); + assertThat(pom).exists(); + + String pomText = new String(Files.readAllBytes(pom.toPath())); + String pomTextNoSpace = pomText.replaceAll("\\s", ""); + + assertThat(pomText).doesNotContain(""); + + assertThat(pomTextNoSpace).contains("\n org.springframework\n spring-test\n test\n 4.3.6.RELEASE\n ".replaceAll("\\s", "")); + assertThat(pomTextNoSpace).contains("\n \n rwinch\n Rob Winch\n rwinch@pivotal.io\n \n \n jgrandja\n Joe Grandja\n jgrandja@pivotal.io\n \n ".replaceAll("\\s", "")); + assertThat(pomTextNoSpace).contains("\n scm:git:git://github.com/spring-projects/spring-security\n scm:git:git://github.com/spring-projects/spring-security\n https://github.com/spring-projects/spring-security\n ".replaceAll("\\s", "")); + assertThat(pomTextNoSpace).contains("sgbcs-core"); + assertThat(pomTextNoSpace).contains("https://spring.io/spring-security"); + assertThat(pomTextNoSpace).contains("\n spring.io\n https://spring.io/\n ".replaceAll("\\s", "")); + assertThat(pomTextNoSpace).contains(" \n \n The Apache Software License, Version 2.0\n https://www.apache.org/licenses/LICENSE-2.0.txt\n repo\n \n ".replaceAll("\\s", "")); + assertThat(pomTextNoSpace).contains("\n scm:git:git://github.com/spring-projects/spring-security\n scm:git:git://github.com/spring-projects/spring-security\n https://github.com/spring-projects/spring-security\n ".replaceAll("\\s", "")); + + File bom = new File(testKit.getRootDir(), "bom/build/poms/pom-default.xml"); + assertThat(bom).exists(); + assertThat(bom).hasContent("sgbcs-core"); + + BuildResult secondBuild = this.testKit.withProjectResource("samples/showcase/").withArguments("mavenBom", "--stacktrace").build(); + // mavenBom is not up to date since install is never up to date + assertThat(result.task(":bom:mavenBom").getOutcome()).isEqualTo(TaskOutcome.SUCCESS); + } + +} diff --git a/buildSrc/src/test/java/io/spring/gradle/convention/SpringMavenPluginITest.java b/buildSrc/src/test/java/io/spring/gradle/convention/SpringMavenPluginITest.java new file mode 100644 index 0000000..3f0855d --- /dev/null +++ b/buildSrc/src/test/java/io/spring/gradle/convention/SpringMavenPluginITest.java @@ -0,0 +1,61 @@ +package io.spring.gradle.convention; + +import io.spring.gradle.TestKit; +import org.apache.commons.io.IOUtils; +import org.gradle.testkit.runner.BuildResult; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; + +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.LinkedHashMap; + +import static org.assertj.core.api.Assertions.assertThat; + +public class SpringMavenPluginITest { + + private TestKit testKit; + + @BeforeEach + void setup(@TempDir Path tempDir) { + this.testKit = new TestKit(tempDir.toFile()); + } + + @Disabled + @Test + public void install() throws Exception { + BuildResult result = this.testKit.withProjectResource("samples/maven/install") + .withArguments("install") + .build(); + assertThat(result.getOutput()).contains("SUCCESS"); + File pom = new File(testKit.getRootDir(), "build/poms/pom-default.xml"); + assertThat(pom).exists(); + String pomText = new String(Files.readAllBytes(pom.toPath())); + assertThat(pomText.replaceAll("\\s", "")).contains("\n aopalliance\n aopalliance\n 1.0\n compile\n true\n ".replaceAll("\\s", "")); + } + + @Disabled + @Test + public void signArchivesWhenInMemory() throws Exception { + LinkedHashMap map = new LinkedHashMap(2); + map.put("ORG_GRADLE_PROJECT_signingKey", getSigningKey()); + map.put("ORG_GRADLE_PROJECT_signingPassword", "password"); + BuildResult result = this.testKit.withProjectResource("samples/maven/signing") + .withArguments("signArchives") + .withEnvironment(map) + .forwardOutput() + .build(); + assertThat(result.getOutput()).contains("SUCCESS"); + final File jar = new File(testKit.getRootDir(), "build/libs/signing-1.0.0.RELEASE.jar"); + assertThat(jar).exists(); + File signature = new File(jar.getAbsolutePath() + ".asc"); + assertThat(signature).exists(); + } + + public String getSigningKey() throws Exception { + return IOUtils.toString(getClass().getResource("/test-private.pgp")); + } +} diff --git a/buildSrc/src/test/java/io/spring/gradle/convention/TestsConfigurationPluginITest.java b/buildSrc/src/test/java/io/spring/gradle/convention/TestsConfigurationPluginITest.java new file mode 100644 index 0000000..4fd2944 --- /dev/null +++ b/buildSrc/src/test/java/io/spring/gradle/convention/TestsConfigurationPluginITest.java @@ -0,0 +1,31 @@ +package io.spring.gradle.convention; + +import io.spring.gradle.TestKit; +import org.gradle.testkit.runner.BuildResult; +import org.gradle.testkit.runner.TaskOutcome; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; + +import java.nio.file.Path; + +import static org.assertj.core.api.Assertions.assertThat; + +public class TestsConfigurationPluginITest { + + private TestKit testKit; + + @BeforeEach + void setup(@TempDir Path tempDir) { + this.testKit = new TestKit(tempDir.toFile()); + } + + @Test + public void canFindDepencency() throws Exception { + BuildResult result = this.testKit.withProjectResource("samples/testsconfiguration") + .withArguments("check") + .build(); + assertThat(result.task(":web:check").getOutcome()).isEqualTo(TaskOutcome.SUCCESS); + } + +} diff --git a/buildSrc/src/test/java/io/spring/gradle/convention/UtilsTest.java b/buildSrc/src/test/java/io/spring/gradle/convention/UtilsTest.java new file mode 100644 index 0000000..0bed12b --- /dev/null +++ b/buildSrc/src/test/java/io/spring/gradle/convention/UtilsTest.java @@ -0,0 +1,147 @@ +package io.spring.gradle.convention; + + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.when; + +import org.gradle.api.Project; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +@ExtendWith(MockitoExtension.class) +public class UtilsTest { + @Mock + Project project; + @Mock + Project rootProject; + + @Test + public void getProjectName() { + when(project.getRootProject()).thenReturn(rootProject); + when(rootProject.getName()).thenReturn("spring-security"); + + assertThat(Utils.getProjectName(project)).isEqualTo("spring-security"); + } + + @Test + public void getProjectNameWhenEndsWithBuildThenStrippedOut() { + when(project.getRootProject()).thenReturn(rootProject); + when(rootProject.getName()).thenReturn("spring-security-build"); + + assertThat(Utils.getProjectName(project)).isEqualTo("spring-security"); + } + + @Test + public void isSnapshotValidWithDot() { + when(project.getVersion()).thenReturn("1.0.0.BUILD-SNAPSHOT"); + + assertThat(Utils.isSnapshot(project)).isTrue(); + } + + @Test + public void isSnapshotValidWithNoBuild() { + when(project.getVersion()).thenReturn("1.0.0-SNAPSHOT"); + + assertThat(Utils.isSnapshot(project)).isTrue(); + } + + @Test + public void isSnapshotValidWithDash() { + when(project.getVersion()).thenReturn("Theme-BUILD-SNAPSHOT"); + + assertThat(Utils.isSnapshot(project)).isTrue(); + } + + @Test + public void isSnapshotInvalid() { + when(project.getVersion()).thenReturn("1.0.0.SNAPSHOT"); + + assertThat(Utils.isSnapshot(project)).isFalse(); + } + + @Test + public void isMilestoneValidWithDot() { + when(project.getVersion()).thenReturn("1.0.0.M1"); + + assertThat(Utils.isMilestone(project)).isTrue(); + } + + @Test + public void isMilestoneValidWithDash() { + when(project.getVersion()).thenReturn("Theme-M1"); + + assertThat(Utils.isMilestone(project)).isTrue(); + } + + @Test + public void isMilestoneValidWithNumberDash() { + when(project.getVersion()).thenReturn("1.0.0-M1"); + + assertThat(Utils.isMilestone(project)).isTrue(); + } + + @Test + public void isMilestoneInvalid() { + when(project.getVersion()).thenReturn("1.0.0.M"); + + assertThat(Utils.isMilestone(project)).isFalse(); + } + + @Test + public void isReleaseCandidateValidWithDot() { + when(project.getVersion()).thenReturn("1.0.0.RC1"); + + assertThat(Utils.isMilestone(project)).isTrue(); + } + + @Test + public void isReleaseCandidateValidWithNumberDash() { + when(project.getVersion()).thenReturn("1.0.0-RC1"); + + assertThat(Utils.isMilestone(project)).isTrue(); + } + + @Test + public void isReleaseCandidateValidWithDash() { + when(project.getVersion()).thenReturn("Theme-RC1"); + + assertThat(Utils.isMilestone(project)).isTrue(); + } + + @Test + public void isReleaseCandidateInvalid() { + when(project.getVersion()).thenReturn("1.0.0.RC"); + + assertThat(Utils.isMilestone(project)).isFalse(); + } + + @Test + public void isReleaseValidWithDot() { + when(project.getVersion()).thenReturn("1.0.0.RELEASE"); + + assertThat(Utils.isRelease(project)).isTrue(); + } + + @Test + public void isReleaseValidWithNoRelease() { + when(project.getVersion()).thenReturn("1.0.0"); + + assertThat(Utils.isRelease(project)).isTrue(); + } + + @Test + public void isReleaseValidWithDash() { + when(project.getVersion()).thenReturn("Theme-RELEASE"); + + assertThat(Utils.isRelease(project)).isTrue(); + } + + @Test + public void isServiceReleaseValid() { + when(project.getVersion()).thenReturn("Theme-SR1"); + + assertThat(Utils.isRelease(project)).isTrue(); + } +} diff --git a/buildSrc/src/test/java/io/spring/gradle/convention/sagan/SaganApiTests.java b/buildSrc/src/test/java/io/spring/gradle/convention/sagan/SaganApiTests.java new file mode 100644 index 0000000..da50eef --- /dev/null +++ b/buildSrc/src/test/java/io/spring/gradle/convention/sagan/SaganApiTests.java @@ -0,0 +1,85 @@ +/* + * Copyright 2019-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.spring.gradle.convention.sagan; + +import okhttp3.mockwebserver.MockResponse; +import okhttp3.mockwebserver.MockWebServer; +import okhttp3.mockwebserver.RecordedRequest; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.springframework.gradle.sagan.Release; +import org.springframework.gradle.sagan.SaganApi; + +import java.nio.charset.Charset; +import java.util.concurrent.TimeUnit; + +import static org.assertj.core.api.Assertions.assertThat; + + +public class SaganApiTests { + private MockWebServer server; + + private SaganApi sagan; + + private String baseUrl; + + @BeforeEach + public void setup() throws Exception { + this.server = new MockWebServer(); + this.server.start(); + this.sagan = new SaganApi("mock-oauth-token"); + this.baseUrl = this.server.url("/api").toString(); + this.sagan.setBaseUrl(this.baseUrl); + } + + @AfterEach + public void cleanup() throws Exception { + this.server.shutdown(); + } + + @Test + public void createWhenValidThenNoException() throws Exception { + this.server.enqueue(new MockResponse()); + Release release = new Release(); + release.setVersion("5.6.0-SNAPSHOT"); + release.setApiDocUrl("https://docs.spring.io/spring-security/site/docs/{version}/api/"); + release.setReferenceDocUrl("https://docs.spring.io/spring-security/reference/{version}/index.html"); + this.sagan.createReleaseForProject(release, "spring-security"); + RecordedRequest request = this.server.takeRequest(1, TimeUnit.SECONDS); + assertThat(request.getRequestUrl().toString()).isEqualTo(this.baseUrl + "/projects/spring-security/releases"); + assertThat(request.getMethod()).isEqualToIgnoringCase("post"); + assertThat(request.getHeaders().get("Authorization")).isEqualTo("Basic bm90LXVzZWQ6bW9jay1vYXV0aC10b2tlbg=="); + assertThat(request.getBody().readString(Charset.defaultCharset())).isEqualToIgnoringWhitespace("{\n" + + " \"version\":\"5.6.0-SNAPSHOT\",\n" + + " \"current\":false,\n" + + " \"referenceDocUrl\":\"https://docs.spring.io/spring-security/reference/{version}/index.html\",\n" + + " \"apiDocUrl\":\"https://docs.spring.io/spring-security/site/docs/{version}/api/\"\n" + + "}"); + } + + @Test + public void deleteWhenValidThenNoException() throws Exception { + this.server.enqueue(new MockResponse()); + this.sagan.deleteReleaseForProject("5.6.0-SNAPSHOT", "spring-security"); + RecordedRequest request = this.server.takeRequest(1, TimeUnit.SECONDS); + assertThat(request.getRequestUrl().toString()).isEqualTo(this.baseUrl + "/projects/spring-security/releases/5.6.0-SNAPSHOT"); + assertThat(request.getMethod()).isEqualToIgnoringCase("delete"); + assertThat(request.getHeaders().get("Authorization")).isEqualTo("Basic bm90LXVzZWQ6bW9jay1vYXV0aC10b2tlbg=="); + assertThat(request.getBody().readString(Charset.defaultCharset())).isEmpty(); + } +} diff --git a/buildSrc/src/test/java/io/spring/gradle/github/milestones/GitHubMilestoneApiTests.java b/buildSrc/src/test/java/io/spring/gradle/github/milestones/GitHubMilestoneApiTests.java new file mode 100644 index 0000000..b9b0764 --- /dev/null +++ b/buildSrc/src/test/java/io/spring/gradle/github/milestones/GitHubMilestoneApiTests.java @@ -0,0 +1,389 @@ +package io.spring.gradle.github.milestones; + +import java.util.concurrent.TimeUnit; + +import okhttp3.mockwebserver.MockResponse; +import okhttp3.mockwebserver.MockWebServer; +import okhttp3.mockwebserver.RecordedRequest; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import org.springframework.gradle.github.RepositoryRef; +import org.springframework.gradle.github.milestones.GitHubMilestoneApi; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; + + +public class GitHubMilestoneApiTests { + private GitHubMilestoneApi github; + + private RepositoryRef repositoryRef = RepositoryRef.owner("spring-projects").repository("spring-security").build(); + + private MockWebServer server; + + private String baseUrl; + + @BeforeEach + public void setup() throws Exception { + this.server = new MockWebServer(); + this.server.start(); + this.github = new GitHubMilestoneApi("mock-oauth-token"); + this.baseUrl = this.server.url("/api").toString(); + this.github.setBaseUrl(this.baseUrl); + } + + @AfterEach + public void cleanup() throws Exception { + this.server.shutdown(); + } + + @Test + public void findMilestoneNumberByTitleWhenFoundThenSuccess() throws Exception { + String responseJson = "[\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/207\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207/labels\",\n" + + " \"id\":6611880,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNjYxMTg4MA==\",\n" + + " \"number\":207,\n" + + " \"title\":\"5.6.x\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jgrandja\",\n" + + " \"id\":10884212,\n" + + " \"node_id\":\"MDQ6VXNlcjEwODg0MjEy\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/10884212?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jgrandja\",\n" + + " \"html_url\":\"https://github.com/jgrandja\",\n" + + " \"followers_url\":\"https://api.github.com/users/jgrandja/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jgrandja/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jgrandja/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jgrandja/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jgrandja/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jgrandja/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jgrandja/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jgrandja/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jgrandja/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":1,\n" + + " \"closed_issues\":0,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2021-03-31T11:29:17Z\",\n" + + " \"updated_at\":\"2021-03-31T11:30:47Z\",\n" + + " \"due_on\":null,\n" + + " \"closed_at\":null\n" + + " },\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/191\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191/labels\",\n" + + " \"id\":5884208,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNTg4NDIwOA==\",\n" + + " \"number\":191,\n" + + " \"title\":\"5.5.0-RC1\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jzheaux\",\n" + + " \"id\":3627351,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjczNTE=\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/3627351?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jzheaux\",\n" + + " \"html_url\":\"https://github.com/jzheaux\",\n" + + " \"followers_url\":\"https://api.github.com/users/jzheaux/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jzheaux/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jzheaux/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jzheaux/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jzheaux/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jzheaux/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jzheaux/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jzheaux/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jzheaux/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":21,\n" + + " \"closed_issues\":23,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2020-09-16T13:28:03Z\",\n" + + " \"updated_at\":\"2021-04-06T23:47:10Z\",\n" + + " \"due_on\":\"2021-04-12T07:00:00Z\",\n" + + " \"closed_at\":null\n" + + " }\n" + + "]"; + this.server.enqueue(new MockResponse().setBody(responseJson)); + + long milestoneNumberByTitle = this.github.findMilestoneNumberByTitle(this.repositoryRef, "5.5.0-RC1"); + + RecordedRequest recordedRequest = this.server.takeRequest(1, TimeUnit.SECONDS); + assertThat(recordedRequest.getMethod()).isEqualToIgnoringCase("get"); + assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(this.baseUrl + "/repos/spring-projects/spring-security/milestones?per_page=100"); + + assertThat(milestoneNumberByTitle).isEqualTo(191); + } + + @Test + public void findMilestoneNumberByTitleWhenNotFoundThenException() throws Exception { + String responseJson = "[\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/207\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207/labels\",\n" + + " \"id\":6611880,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNjYxMTg4MA==\",\n" + + " \"number\":207,\n" + + " \"title\":\"5.6.x\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jgrandja\",\n" + + " \"id\":10884212,\n" + + " \"node_id\":\"MDQ6VXNlcjEwODg0MjEy\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/10884212?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jgrandja\",\n" + + " \"html_url\":\"https://github.com/jgrandja\",\n" + + " \"followers_url\":\"https://api.github.com/users/jgrandja/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jgrandja/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jgrandja/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jgrandja/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jgrandja/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jgrandja/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jgrandja/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jgrandja/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jgrandja/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":1,\n" + + " \"closed_issues\":0,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2021-03-31T11:29:17Z\",\n" + + " \"updated_at\":\"2021-03-31T11:30:47Z\",\n" + + " \"due_on\":null,\n" + + " \"closed_at\":null\n" + + " },\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/191\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191/labels\",\n" + + " \"id\":5884208,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNTg4NDIwOA==\",\n" + + " \"number\":191,\n" + + " \"title\":\"5.5.0-RC1\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jzheaux\",\n" + + " \"id\":3627351,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjczNTE=\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/3627351?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jzheaux\",\n" + + " \"html_url\":\"https://github.com/jzheaux\",\n" + + " \"followers_url\":\"https://api.github.com/users/jzheaux/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jzheaux/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jzheaux/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jzheaux/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jzheaux/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jzheaux/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jzheaux/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jzheaux/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jzheaux/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":21,\n" + + " \"closed_issues\":23,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2020-09-16T13:28:03Z\",\n" + + " \"updated_at\":\"2021-04-06T23:47:10Z\",\n" + + " \"due_on\":\"2021-04-12T07:00:00Z\",\n" + + " \"closed_at\":null\n" + + " }\n" + + "]"; + this.server.enqueue(new MockResponse().setBody(responseJson)); + + assertThatExceptionOfType(RuntimeException.class) + .isThrownBy(() -> this.github.findMilestoneNumberByTitle(this.repositoryRef, "missing")); + } + + @Test + public void isOpenIssuesForMilestoneNumberWhenAllClosedThenFalse() throws Exception { + String responseJson = "[]"; + long milestoneNumber = 202; + this.server.enqueue(new MockResponse().setBody(responseJson)); + + assertThat(this.github.isOpenIssuesForMilestoneNumber(this.repositoryRef, milestoneNumber)).isFalse(); + + RecordedRequest recordedRequest = this.server.takeRequest(1, TimeUnit.SECONDS); + assertThat(recordedRequest.getMethod()).isEqualToIgnoringCase("get"); + assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(this.baseUrl + "/repos/spring-projects/spring-security/issues?per_page=1&milestone=" + milestoneNumber); + } + + @Test + public void isOpenIssuesForMilestoneNumberWhenOpenIssuesThenTrue() throws Exception { + String responseJson = "[\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/issues/9562\",\n" + + " \"repository_url\":\"https://api.github.com/repos/spring-projects/spring-security\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/issues/9562/labels{/name}\",\n" + + " \"comments_url\":\"https://api.github.com/repos/spring-projects/spring-security/issues/9562/comments\",\n" + + " \"events_url\":\"https://api.github.com/repos/spring-projects/spring-security/issues/9562/events\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/pull/9562\",\n" + + " \"id\":851886504,\n" + + " \"node_id\":\"MDExOlB1bGxSZXF1ZXN0NjEwMjMzMDcw\",\n" + + " \"number\":9562,\n" + + " \"title\":\"Add package-list\",\n" + + " \"user\":{\n" + + " \"login\":\"jzheaux\",\n" + + " \"id\":3627351,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjczNTE=\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/3627351?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jzheaux\",\n" + + " \"html_url\":\"https://github.com/jzheaux\",\n" + + " \"followers_url\":\"https://api.github.com/users/jzheaux/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jzheaux/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jzheaux/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jzheaux/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jzheaux/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jzheaux/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jzheaux/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jzheaux/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jzheaux/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"labels\":[\n" + + " {\n" + + " \"id\":322225043,\n" + + " \"node_id\":\"MDU6TGFiZWwzMjIyMjUwNDM=\",\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/labels/in:%20build\",\n" + + " \"name\":\"in: build\",\n" + + " \"color\":\"e8f9de\",\n" + + " \"default\":false,\n" + + " \"description\":\"An issue in the build\"\n" + + " },\n" + + " {\n" + + " \"id\":322225079,\n" + + " \"node_id\":\"MDU6TGFiZWwzMjIyMjUwNzk=\",\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/labels/type:%20bug\",\n" + + " \"name\":\"type: bug\",\n" + + " \"color\":\"e3d9fc\",\n" + + " \"default\":false,\n" + + " \"description\":\"A general bug\"\n" + + " }\n" + + " ],\n" + + " \"state\":\"open\",\n" + + " \"locked\":false,\n" + + " \"assignee\":{\n" + + " \"login\":\"rwinch\",\n" + + " \"id\":362503,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjUwMw==\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/362503?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/rwinch\",\n" + + " \"html_url\":\"https://github.com/rwinch\",\n" + + " \"followers_url\":\"https://api.github.com/users/rwinch/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/rwinch/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/rwinch/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/rwinch/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/rwinch/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/rwinch/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/rwinch/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/rwinch/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/rwinch/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"assignees\":[\n" + + " {\n" + + " \"login\":\"rwinch\",\n" + + " \"id\":362503,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjUwMw==\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/362503?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/rwinch\",\n" + + " \"html_url\":\"https://github.com/rwinch\",\n" + + " \"followers_url\":\"https://api.github.com/users/rwinch/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/rwinch/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/rwinch/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/rwinch/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/rwinch/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/rwinch/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/rwinch/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/rwinch/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/rwinch/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " }\n" + + " ],\n" + + " \"milestone\":{\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/191\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191/labels\",\n" + + " \"id\":5884208,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNTg4NDIwOA==\",\n" + + " \"number\":191,\n" + + " \"title\":\"5.5.0-RC1\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jzheaux\",\n" + + " \"id\":3627351,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjczNTE=\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/3627351?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jzheaux\",\n" + + " \"html_url\":\"https://github.com/jzheaux\",\n" + + " \"followers_url\":\"https://api.github.com/users/jzheaux/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jzheaux/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jzheaux/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jzheaux/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jzheaux/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jzheaux/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jzheaux/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jzheaux/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jzheaux/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":21,\n" + + " \"closed_issues\":23,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2020-09-16T13:28:03Z\",\n" + + " \"updated_at\":\"2021-04-06T23:47:10Z\",\n" + + " \"due_on\":\"2021-04-12T07:00:00Z\",\n" + + " \"closed_at\":null\n" + + " },\n" + + " \"comments\":0,\n" + + " \"created_at\":\"2021-04-06T23:47:10Z\",\n" + + " \"updated_at\":\"2021-04-07T17:00:00Z\",\n" + + " \"closed_at\":null,\n" + + " \"author_association\":\"MEMBER\",\n" + + " \"active_lock_reason\":null,\n" + + " \"pull_request\":{\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/pulls/9562\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/pull/9562\",\n" + + " \"diff_url\":\"https://github.com/spring-projects/spring-security/pull/9562.diff\",\n" + + " \"patch_url\":\"https://github.com/spring-projects/spring-security/pull/9562.patch\"\n" + + " },\n" + + " \"body\":\"Closes gh-9528\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n" + + " \"performed_via_github_app\":null\n" + + " }\n" + + "]"; + long milestoneNumber = 191; + this.server.enqueue(new MockResponse().setBody(responseJson)); + + assertThat(this.github.isOpenIssuesForMilestoneNumber(this.repositoryRef, milestoneNumber)).isTrue(); + + RecordedRequest recordedRequest = this.server.takeRequest(1, TimeUnit.SECONDS); + assertThat(recordedRequest.getMethod()).isEqualToIgnoringCase("get"); + assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(this.baseUrl + "/repos/spring-projects/spring-security/issues?per_page=1&milestone=" + milestoneNumber); + } + +} diff --git a/buildSrc/src/test/java/org/springframework/gradle/antora/AntoraVersionPluginTests.java b/buildSrc/src/test/java/org/springframework/gradle/antora/AntoraVersionPluginTests.java new file mode 100644 index 0000000..6b1a424 --- /dev/null +++ b/buildSrc/src/test/java/org/springframework/gradle/antora/AntoraVersionPluginTests.java @@ -0,0 +1,270 @@ +package org.springframework.gradle.antora; + +import org.apache.commons.io.IOUtils; +import org.gradle.api.GradleException; +import org.gradle.api.Project; +import org.gradle.api.Task; +import org.gradle.testfixtures.ProjectBuilder; +import org.junit.jupiter.api.Test; + +import java.io.File; +import java.io.FileOutputStream; +import java.nio.charset.StandardCharsets; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import static org.assertj.core.api.Assertions.assertThatIOException; + +class AntoraVersionPluginTests { + + @Test + void defaultsPropertiesWhenSnapshot() { + String expectedVersion = "1.0.0-SNAPSHOT"; + Project project = ProjectBuilder.builder().build(); + project.setVersion(expectedVersion); + project.getPluginManager().apply(AntoraVersionPlugin.class); + + Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); + + assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); + + CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; + assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0"); + assertThat(checkAntoraVersionTask.getAntoraPrerelease().get()).isEqualTo("-SNAPSHOT"); + assertThat(checkAntoraVersionTask.getAntoraDisplayVersion().isPresent()).isFalse(); + assertThat(checkAntoraVersionTask.getAntoraYmlFile().getAsFile().get()).isEqualTo(project.file("antora.yml")); + } + + @Test + void defaultsPropertiesWhenMilestone() { + String expectedVersion = "1.0.0-M1"; + Project project = ProjectBuilder.builder().build(); + project.setVersion(expectedVersion); + project.getPluginManager().apply(AntoraVersionPlugin.class); + + Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); + + assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); + + CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; + assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0-M1"); + assertThat(checkAntoraVersionTask.getAntoraPrerelease().get()).isEqualTo("true"); + assertThat(checkAntoraVersionTask.getAntoraDisplayVersion().get()).isEqualTo(checkAntoraVersionTask.getAntoraVersion().get()); + assertThat(checkAntoraVersionTask.getAntoraYmlFile().getAsFile().get()).isEqualTo(project.file("antora.yml")); + } + + @Test + void defaultsPropertiesWhenRc() { + String expectedVersion = "1.0.0-RC1"; + Project project = ProjectBuilder.builder().build(); + project.setVersion(expectedVersion); + project.getPluginManager().apply(AntoraVersionPlugin.class); + + Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); + + assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); + + CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; + assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0-RC1"); + assertThat(checkAntoraVersionTask.getAntoraPrerelease().get()).isEqualTo("true"); + assertThat(checkAntoraVersionTask.getAntoraDisplayVersion().get()).isEqualTo(checkAntoraVersionTask.getAntoraVersion().get()); + assertThat(checkAntoraVersionTask.getAntoraYmlFile().getAsFile().get()).isEqualTo(project.file("antora.yml")); + } + + @Test + void defaultsPropertiesWhenRelease() { + String expectedVersion = "1.0.0"; + Project project = ProjectBuilder.builder().build(); + project.setVersion(expectedVersion); + project.getPluginManager().apply(AntoraVersionPlugin.class); + + Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); + + assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); + + CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; + assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0"); + assertThat(checkAntoraVersionTask.getAntoraPrerelease().isPresent()).isFalse(); + assertThat(checkAntoraVersionTask.getAntoraDisplayVersion().isPresent()).isFalse(); + assertThat(checkAntoraVersionTask.getAntoraYmlFile().getAsFile().get()).isEqualTo(project.file("antora.yml")); + } + + @Test + void explicitProperties() { + Project project = ProjectBuilder.builder().build(); + project.getPluginManager().apply(AntoraVersionPlugin.class); + + Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); + + CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; + checkAntoraVersionTask.getAntoraVersion().set("1.0.0"); + checkAntoraVersionTask.getAntoraPrerelease().set("-SNAPSHOT"); + assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0"); + assertThat(checkAntoraVersionTask.getAntoraPrerelease().get()).isEqualTo("-SNAPSHOT"); + assertThat(checkAntoraVersionTask.getAntoraDisplayVersion().isPresent()).isFalse(); + assertThat(checkAntoraVersionTask.getAntoraYmlFile().getAsFile().get()).isEqualTo(project.file("antora.yml")); + } + + @Test + void versionNotDefined() throws Exception { + Project project = ProjectBuilder.builder().build(); + File rootDir = project.getRootDir(); + IOUtils.write("version: '1.0.0'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); + project.getPluginManager().apply(AntoraVersionPlugin.class); + + Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); + + assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); + + CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; + assertThatExceptionOfType(GradleException.class).isThrownBy(() -> checkAntoraVersionTask.check()); + } + + @Test + void antoraFileNotFound() throws Exception { + String expectedVersion = "1.0.0-SNAPSHOT"; + Project project = ProjectBuilder.builder().build(); + project.setVersion(expectedVersion); + project.getPluginManager().apply(AntoraVersionPlugin.class); + + Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); + + assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); + + CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; + assertThatIOException().isThrownBy(() -> checkAntoraVersionTask.check()); + } + + @Test + void actualAntoraPrereleaseNull() throws Exception { + String expectedVersion = "1.0.0-SNAPSHOT"; + Project project = ProjectBuilder.builder().build(); + File rootDir = project.getRootDir(); + IOUtils.write("version: '1.0.0'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); + project.setVersion(expectedVersion); + project.getPluginManager().apply(AntoraVersionPlugin.class); + + Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); + + assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); + + CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; + assertThatExceptionOfType(GradleException.class).isThrownBy(() -> checkAntoraVersionTask.check()); + + } + + @Test + void matchesWhenSnapshot() throws Exception { + String expectedVersion = "1.0.0-SNAPSHOT"; + Project project = ProjectBuilder.builder().build(); + File rootDir = project.getRootDir(); + IOUtils.write("version: '1.0.0'\nprerelease: '-SNAPSHOT'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); + project.setVersion(expectedVersion); + project.getPluginManager().apply(AntoraVersionPlugin.class); + + Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); + + assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); + + CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; + checkAntoraVersionTask.check(); + } + + @Test + void matchesWhenMilestone() throws Exception { + String expectedVersion = "1.0.0-M1"; + Project project = ProjectBuilder.builder().build(); + File rootDir = project.getRootDir(); + IOUtils.write("version: '1.0.0-M1'\nprerelease: 'true'\ndisplay_version: '1.0.0-M1'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); + project.setVersion(expectedVersion); + project.getPluginManager().apply(AntoraVersionPlugin.class); + + Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); + + assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); + + CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; + checkAntoraVersionTask.check(); + } + + @Test + void matchesWhenRc() throws Exception { + String expectedVersion = "1.0.0-RC1"; + Project project = ProjectBuilder.builder().build(); + File rootDir = project.getRootDir(); + IOUtils.write("version: '1.0.0-RC1'\nprerelease: 'true'\ndisplay_version: '1.0.0-RC1'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); + project.setVersion(expectedVersion); + project.getPluginManager().apply(AntoraVersionPlugin.class); + + Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); + + assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); + + CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; + checkAntoraVersionTask.check(); + } + + @Test + void matchesWhenReleaseAndPrereleaseUndefined() throws Exception { + String expectedVersion = "1.0.0"; + Project project = ProjectBuilder.builder().build(); + File rootDir = project.getRootDir(); + IOUtils.write("version: '1.0.0'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); + project.setVersion(expectedVersion); + project.getPluginManager().apply(AntoraVersionPlugin.class); + + Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); + + assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); + + CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; + checkAntoraVersionTask.check(); + } + + @Test + void matchesWhenExplicitRelease() throws Exception { + Project project = ProjectBuilder.builder().build(); + File rootDir = project.getRootDir(); + IOUtils.write("version: '1.0.0'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); + project.getPluginManager().apply(AntoraVersionPlugin.class); + + Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); + + assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); + CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; + ((CheckAntoraVersionTask) task).getAntoraVersion().set("1.0.0"); + checkAntoraVersionTask.check(); + } + + @Test + void matchesWhenExplicitPrerelease() throws Exception { + Project project = ProjectBuilder.builder().build(); + File rootDir = project.getRootDir(); + IOUtils.write("version: '1.0.0'\nprerelease: '-SNAPSHOT'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); + project.getPluginManager().apply(AntoraVersionPlugin.class); + + Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); + + assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); + CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; + ((CheckAntoraVersionTask) task).getAntoraVersion().set("1.0.0"); + ((CheckAntoraVersionTask) task).getAntoraPrerelease().set("-SNAPSHOT"); + checkAntoraVersionTask.check(); + } + + @Test + void matchesWhenMissingPropertyDefined() throws Exception { + Project project = ProjectBuilder.builder().build(); + File rootDir = project.getRootDir(); + IOUtils.write("name: 'ROOT'\nversion: '1.0.0'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); + project.getPluginManager().apply(AntoraVersionPlugin.class); + + Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); + + assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); + CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; + ((CheckAntoraVersionTask) task).getAntoraVersion().set("1.0.0"); + checkAntoraVersionTask.check(); + } + +} diff --git a/buildSrc/src/test/java/org/springframework/gradle/github/milestones/GitHubMilestoneApiTests.java b/buildSrc/src/test/java/org/springframework/gradle/github/milestones/GitHubMilestoneApiTests.java new file mode 100644 index 0000000..45bfb6b --- /dev/null +++ b/buildSrc/src/test/java/org/springframework/gradle/github/milestones/GitHubMilestoneApiTests.java @@ -0,0 +1,1198 @@ +package org.springframework.gradle.github.milestones; + +import java.time.Instant; +import java.util.concurrent.TimeUnit; + +import okhttp3.mockwebserver.MockResponse; +import okhttp3.mockwebserver.MockWebServer; +import okhttp3.mockwebserver.RecordedRequest; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import org.springframework.gradle.github.RepositoryRef; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; + + +public class GitHubMilestoneApiTests { + private GitHubMilestoneApi github; + + private RepositoryRef repositoryRef = RepositoryRef.owner("spring-projects").repository("spring-security").build(); + + private MockWebServer server; + + private String baseUrl; + + @BeforeEach + public void setup() throws Exception { + this.server = new MockWebServer(); + this.server.start(); + this.github = new GitHubMilestoneApi("mock-oauth-token"); + this.baseUrl = this.server.url("/api").toString(); + this.github.setBaseUrl(this.baseUrl); + } + + @AfterEach + public void cleanup() throws Exception { + this.server.shutdown(); + } + + @Test + public void findMilestoneNumberByTitleWhenFoundThenSuccess() throws Exception { + String responseJson = "[\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/207\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207/labels\",\n" + + " \"id\":6611880,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNjYxMTg4MA==\",\n" + + " \"number\":207,\n" + + " \"title\":\"5.6.x\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jgrandja\",\n" + + " \"id\":10884212,\n" + + " \"node_id\":\"MDQ6VXNlcjEwODg0MjEy\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/10884212?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jgrandja\",\n" + + " \"html_url\":\"https://github.com/jgrandja\",\n" + + " \"followers_url\":\"https://api.github.com/users/jgrandja/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jgrandja/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jgrandja/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jgrandja/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jgrandja/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jgrandja/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jgrandja/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jgrandja/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jgrandja/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":1,\n" + + " \"closed_issues\":0,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2021-03-31T11:29:17Z\",\n" + + " \"updated_at\":\"2021-03-31T11:30:47Z\",\n" + + " \"due_on\":null,\n" + + " \"closed_at\":null\n" + + " },\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/191\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191/labels\",\n" + + " \"id\":5884208,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNTg4NDIwOA==\",\n" + + " \"number\":191,\n" + + " \"title\":\"5.5.0-RC1\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jzheaux\",\n" + + " \"id\":3627351,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjczNTE=\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/3627351?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jzheaux\",\n" + + " \"html_url\":\"https://github.com/jzheaux\",\n" + + " \"followers_url\":\"https://api.github.com/users/jzheaux/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jzheaux/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jzheaux/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jzheaux/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jzheaux/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jzheaux/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jzheaux/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jzheaux/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jzheaux/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":21,\n" + + " \"closed_issues\":23,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2020-09-16T13:28:03Z\",\n" + + " \"updated_at\":\"2021-04-06T23:47:10Z\",\n" + + " \"due_on\":\"2021-04-12T07:00:00Z\",\n" + + " \"closed_at\":null\n" + + " }\n" + + "]"; + this.server.enqueue(new MockResponse().setBody(responseJson)); + + long milestoneNumberByTitle = this.github.findMilestoneNumberByTitle(this.repositoryRef, "5.5.0-RC1"); + + RecordedRequest recordedRequest = this.server.takeRequest(1, TimeUnit.SECONDS); + assertThat(recordedRequest.getMethod()).isEqualToIgnoringCase("get"); + assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(this.baseUrl + "/repos/spring-projects/spring-security/milestones?per_page=100"); + + assertThat(milestoneNumberByTitle).isEqualTo(191); + } + + @Test + public void findMilestoneNumberByTitleWhenNotFoundThenException() throws Exception { + String responseJson = "[\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/207\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207/labels\",\n" + + " \"id\":6611880,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNjYxMTg4MA==\",\n" + + " \"number\":207,\n" + + " \"title\":\"5.6.x\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jgrandja\",\n" + + " \"id\":10884212,\n" + + " \"node_id\":\"MDQ6VXNlcjEwODg0MjEy\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/10884212?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jgrandja\",\n" + + " \"html_url\":\"https://github.com/jgrandja\",\n" + + " \"followers_url\":\"https://api.github.com/users/jgrandja/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jgrandja/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jgrandja/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jgrandja/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jgrandja/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jgrandja/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jgrandja/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jgrandja/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jgrandja/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":1,\n" + + " \"closed_issues\":0,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2021-03-31T11:29:17Z\",\n" + + " \"updated_at\":\"2021-03-31T11:30:47Z\",\n" + + " \"due_on\":null,\n" + + " \"closed_at\":null\n" + + " },\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/191\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191/labels\",\n" + + " \"id\":5884208,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNTg4NDIwOA==\",\n" + + " \"number\":191,\n" + + " \"title\":\"5.5.0-RC1\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jzheaux\",\n" + + " \"id\":3627351,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjczNTE=\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/3627351?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jzheaux\",\n" + + " \"html_url\":\"https://github.com/jzheaux\",\n" + + " \"followers_url\":\"https://api.github.com/users/jzheaux/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jzheaux/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jzheaux/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jzheaux/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jzheaux/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jzheaux/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jzheaux/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jzheaux/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jzheaux/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":21,\n" + + " \"closed_issues\":23,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2020-09-16T13:28:03Z\",\n" + + " \"updated_at\":\"2021-04-06T23:47:10Z\",\n" + + " \"due_on\":\"2021-04-12T07:00:00Z\",\n" + + " \"closed_at\":null\n" + + " }\n" + + "]"; + this.server.enqueue(new MockResponse().setBody(responseJson)); + + assertThatExceptionOfType(RuntimeException.class) + .isThrownBy(() -> this.github.findMilestoneNumberByTitle(this.repositoryRef, "missing")); + } + + @Test + public void isOpenIssuesForMilestoneNumberWhenAllClosedThenFalse() throws Exception { + String responseJson = "[]"; + long milestoneNumber = 202; + this.server.enqueue(new MockResponse().setBody(responseJson)); + + assertThat(this.github.isOpenIssuesForMilestoneNumber(this.repositoryRef, milestoneNumber)).isFalse(); + + RecordedRequest recordedRequest = this.server.takeRequest(1, TimeUnit.SECONDS); + assertThat(recordedRequest.getMethod()).isEqualToIgnoringCase("get"); + assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(this.baseUrl + "/repos/spring-projects/spring-security/issues?per_page=1&milestone=" + milestoneNumber); + } + + @Test + public void isOpenIssuesForMilestoneNumberWhenOpenIssuesThenTrue() throws Exception { + String responseJson = "[\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/issues/9562\",\n" + + " \"repository_url\":\"https://api.github.com/repos/spring-projects/spring-security\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/issues/9562/labels{/name}\",\n" + + " \"comments_url\":\"https://api.github.com/repos/spring-projects/spring-security/issues/9562/comments\",\n" + + " \"events_url\":\"https://api.github.com/repos/spring-projects/spring-security/issues/9562/events\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/pull/9562\",\n" + + " \"id\":851886504,\n" + + " \"node_id\":\"MDExOlB1bGxSZXF1ZXN0NjEwMjMzMDcw\",\n" + + " \"number\":9562,\n" + + " \"title\":\"Add package-list\",\n" + + " \"user\":{\n" + + " \"login\":\"jzheaux\",\n" + + " \"id\":3627351,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjczNTE=\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/3627351?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jzheaux\",\n" + + " \"html_url\":\"https://github.com/jzheaux\",\n" + + " \"followers_url\":\"https://api.github.com/users/jzheaux/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jzheaux/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jzheaux/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jzheaux/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jzheaux/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jzheaux/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jzheaux/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jzheaux/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jzheaux/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"labels\":[\n" + + " {\n" + + " \"id\":322225043,\n" + + " \"node_id\":\"MDU6TGFiZWwzMjIyMjUwNDM=\",\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/labels/in:%20build\",\n" + + " \"name\":\"in: build\",\n" + + " \"color\":\"e8f9de\",\n" + + " \"default\":false,\n" + + " \"description\":\"An issue in the build\"\n" + + " },\n" + + " {\n" + + " \"id\":322225079,\n" + + " \"node_id\":\"MDU6TGFiZWwzMjIyMjUwNzk=\",\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/labels/type:%20bug\",\n" + + " \"name\":\"type: bug\",\n" + + " \"color\":\"e3d9fc\",\n" + + " \"default\":false,\n" + + " \"description\":\"A general bug\"\n" + + " }\n" + + " ],\n" + + " \"state\":\"open\",\n" + + " \"locked\":false,\n" + + " \"assignee\":{\n" + + " \"login\":\"rwinch\",\n" + + " \"id\":362503,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjUwMw==\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/362503?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/rwinch\",\n" + + " \"html_url\":\"https://github.com/rwinch\",\n" + + " \"followers_url\":\"https://api.github.com/users/rwinch/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/rwinch/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/rwinch/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/rwinch/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/rwinch/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/rwinch/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/rwinch/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/rwinch/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/rwinch/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"assignees\":[\n" + + " {\n" + + " \"login\":\"rwinch\",\n" + + " \"id\":362503,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjUwMw==\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/362503?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/rwinch\",\n" + + " \"html_url\":\"https://github.com/rwinch\",\n" + + " \"followers_url\":\"https://api.github.com/users/rwinch/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/rwinch/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/rwinch/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/rwinch/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/rwinch/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/rwinch/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/rwinch/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/rwinch/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/rwinch/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " }\n" + + " ],\n" + + " \"milestone\":{\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/191\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191/labels\",\n" + + " \"id\":5884208,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNTg4NDIwOA==\",\n" + + " \"number\":191,\n" + + " \"title\":\"5.5.0-RC1\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jzheaux\",\n" + + " \"id\":3627351,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjczNTE=\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/3627351?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jzheaux\",\n" + + " \"html_url\":\"https://github.com/jzheaux\",\n" + + " \"followers_url\":\"https://api.github.com/users/jzheaux/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jzheaux/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jzheaux/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jzheaux/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jzheaux/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jzheaux/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jzheaux/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jzheaux/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jzheaux/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":21,\n" + + " \"closed_issues\":23,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2020-09-16T13:28:03Z\",\n" + + " \"updated_at\":\"2021-04-06T23:47:10Z\",\n" + + " \"due_on\":\"2021-04-12T07:00:00Z\",\n" + + " \"closed_at\":null\n" + + " },\n" + + " \"comments\":0,\n" + + " \"created_at\":\"2021-04-06T23:47:10Z\",\n" + + " \"updated_at\":\"2021-04-07T17:00:00Z\",\n" + + " \"closed_at\":null,\n" + + " \"author_association\":\"MEMBER\",\n" + + " \"active_lock_reason\":null,\n" + + " \"pull_request\":{\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/pulls/9562\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/pull/9562\",\n" + + " \"diff_url\":\"https://github.com/spring-projects/spring-security/pull/9562.diff\",\n" + + " \"patch_url\":\"https://github.com/spring-projects/spring-security/pull/9562.patch\"\n" + + " },\n" + + " \"body\":\"Closes gh-9528\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n" + + " \"performed_via_github_app\":null\n" + + " }\n" + + "]"; + long milestoneNumber = 191; + this.server.enqueue(new MockResponse().setBody(responseJson)); + + assertThat(this.github.isOpenIssuesForMilestoneNumber(this.repositoryRef, milestoneNumber)).isTrue(); + + RecordedRequest recordedRequest = this.server.takeRequest(1, TimeUnit.SECONDS); + assertThat(recordedRequest.getMethod()).isEqualToIgnoringCase("get"); + assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(this.baseUrl + "/repos/spring-projects/spring-security/issues?per_page=1&milestone=" + milestoneNumber); + } + + @Test + public void isMilestoneDueTodayWhenNotFoundThenException() throws Exception { + String responseJson = "[\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/207\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207/labels\",\n" + + " \"id\":6611880,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNjYxMTg4MA==\",\n" + + " \"number\":207,\n" + + " \"title\":\"5.6.x\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jgrandja\",\n" + + " \"id\":10884212,\n" + + " \"node_id\":\"MDQ6VXNlcjEwODg0MjEy\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/10884212?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jgrandja\",\n" + + " \"html_url\":\"https://github.com/jgrandja\",\n" + + " \"followers_url\":\"https://api.github.com/users/jgrandja/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jgrandja/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jgrandja/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jgrandja/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jgrandja/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jgrandja/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jgrandja/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jgrandja/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jgrandja/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":1,\n" + + " \"closed_issues\":0,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2021-03-31T11:29:17Z\",\n" + + " \"updated_at\":\"2021-03-31T11:30:47Z\",\n" + + " \"due_on\":null,\n" + + " \"closed_at\":null\n" + + " },\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/191\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191/labels\",\n" + + " \"id\":5884208,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNTg4NDIwOA==\",\n" + + " \"number\":191,\n" + + " \"title\":\"5.5.0-RC1\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jzheaux\",\n" + + " \"id\":3627351,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjczNTE=\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/3627351?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jzheaux\",\n" + + " \"html_url\":\"https://github.com/jzheaux\",\n" + + " \"followers_url\":\"https://api.github.com/users/jzheaux/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jzheaux/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jzheaux/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jzheaux/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jzheaux/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jzheaux/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jzheaux/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jzheaux/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jzheaux/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":21,\n" + + " \"closed_issues\":23,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2020-09-16T13:28:03Z\",\n" + + " \"updated_at\":\"2021-04-06T23:47:10Z\",\n" + + " \"due_on\":\"2021-04-12T07:00:00Z\",\n" + + " \"closed_at\":null\n" + + " }\n" + + "]"; + this.server.enqueue(new MockResponse().setBody(responseJson)); + + assertThatExceptionOfType(RuntimeException.class) + .isThrownBy(() -> this.github.isMilestoneDueToday(this.repositoryRef, "missing")); + } + + @Test + public void isMilestoneDueTodayWhenPastDueThenTrue() throws Exception { + String responseJson = "[\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/207\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207/labels\",\n" + + " \"id\":6611880,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNjYxMTg4MA==\",\n" + + " \"number\":207,\n" + + " \"title\":\"5.6.x\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jgrandja\",\n" + + " \"id\":10884212,\n" + + " \"node_id\":\"MDQ6VXNlcjEwODg0MjEy\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/10884212?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jgrandja\",\n" + + " \"html_url\":\"https://github.com/jgrandja\",\n" + + " \"followers_url\":\"https://api.github.com/users/jgrandja/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jgrandja/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jgrandja/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jgrandja/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jgrandja/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jgrandja/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jgrandja/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jgrandja/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jgrandja/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":1,\n" + + " \"closed_issues\":0,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2021-03-31T11:29:17Z\",\n" + + " \"updated_at\":\"2021-03-31T11:30:47Z\",\n" + + " \"due_on\":null,\n" + + " \"closed_at\":null\n" + + " },\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/191\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191/labels\",\n" + + " \"id\":5884208,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNTg4NDIwOA==\",\n" + + " \"number\":191,\n" + + " \"title\":\"5.5.0-RC1\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jzheaux\",\n" + + " \"id\":3627351,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjczNTE=\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/3627351?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jzheaux\",\n" + + " \"html_url\":\"https://github.com/jzheaux\",\n" + + " \"followers_url\":\"https://api.github.com/users/jzheaux/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jzheaux/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jzheaux/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jzheaux/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jzheaux/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jzheaux/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jzheaux/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jzheaux/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jzheaux/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":21,\n" + + " \"closed_issues\":23,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2020-09-16T13:28:03Z\",\n" + + " \"updated_at\":\"2021-04-06T23:47:10Z\",\n" + + " \"due_on\":\"2021-04-12T07:00:00Z\",\n" + + " \"closed_at\":null\n" + + " }\n" + + "]"; + this.server.enqueue(new MockResponse().setBody(responseJson)); + + boolean dueToday = this.github.isMilestoneDueToday(this.repositoryRef, "5.5.0-RC1"); + + RecordedRequest recordedRequest = this.server.takeRequest(1, TimeUnit.SECONDS); + assertThat(recordedRequest.getMethod()).isEqualToIgnoringCase("get"); + assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(this.baseUrl + "/repos/spring-projects/spring-security/milestones?per_page=100"); + + assertThat(dueToday).isTrue(); + } + + @Test + public void isMilestoneDueTodayWhenDueTodayThenTrue() throws Exception { + String responseJson = "[\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/207\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207/labels\",\n" + + " \"id\":6611880,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNjYxMTg4MA==\",\n" + + " \"number\":207,\n" + + " \"title\":\"5.6.x\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jgrandja\",\n" + + " \"id\":10884212,\n" + + " \"node_id\":\"MDQ6VXNlcjEwODg0MjEy\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/10884212?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jgrandja\",\n" + + " \"html_url\":\"https://github.com/jgrandja\",\n" + + " \"followers_url\":\"https://api.github.com/users/jgrandja/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jgrandja/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jgrandja/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jgrandja/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jgrandja/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jgrandja/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jgrandja/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jgrandja/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jgrandja/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":1,\n" + + " \"closed_issues\":0,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2021-03-31T11:29:17Z\",\n" + + " \"updated_at\":\"2021-03-31T11:30:47Z\",\n" + + " \"due_on\":null,\n" + + " \"closed_at\":null\n" + + " },\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/191\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191/labels\",\n" + + " \"id\":5884208,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNTg4NDIwOA==\",\n" + + " \"number\":191,\n" + + " \"title\":\"5.5.0-RC1\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jzheaux\",\n" + + " \"id\":3627351,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjczNTE=\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/3627351?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jzheaux\",\n" + + " \"html_url\":\"https://github.com/jzheaux\",\n" + + " \"followers_url\":\"https://api.github.com/users/jzheaux/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jzheaux/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jzheaux/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jzheaux/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jzheaux/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jzheaux/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jzheaux/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jzheaux/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jzheaux/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":21,\n" + + " \"closed_issues\":23,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2020-09-16T13:28:03Z\",\n" + + " \"updated_at\":\"2021-04-06T23:47:10Z\",\n" + + " \"due_on\":\"" + Instant.now().toString() + "\",\n" + + " \"closed_at\":null\n" + + " }\n" + + "]"; + this.server.enqueue(new MockResponse().setBody(responseJson)); + + boolean dueToday = this.github.isMilestoneDueToday(this.repositoryRef, "5.5.0-RC1"); + + RecordedRequest recordedRequest = this.server.takeRequest(1, TimeUnit.SECONDS); + assertThat(recordedRequest.getMethod()).isEqualToIgnoringCase("get"); + assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(this.baseUrl + "/repos/spring-projects/spring-security/milestones?per_page=100"); + + assertThat(dueToday).isTrue(); + } + + @Test + public void isMilestoneDueTodayWhenNoDueDateThenFalse() throws Exception { + String responseJson = "[\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/207\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207/labels\",\n" + + " \"id\":6611880,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNjYxMTg4MA==\",\n" + + " \"number\":207,\n" + + " \"title\":\"5.6.x\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jgrandja\",\n" + + " \"id\":10884212,\n" + + " \"node_id\":\"MDQ6VXNlcjEwODg0MjEy\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/10884212?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jgrandja\",\n" + + " \"html_url\":\"https://github.com/jgrandja\",\n" + + " \"followers_url\":\"https://api.github.com/users/jgrandja/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jgrandja/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jgrandja/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jgrandja/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jgrandja/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jgrandja/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jgrandja/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jgrandja/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jgrandja/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":1,\n" + + " \"closed_issues\":0,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2021-03-31T11:29:17Z\",\n" + + " \"updated_at\":\"2021-03-31T11:30:47Z\",\n" + + " \"due_on\":null,\n" + + " \"closed_at\":null\n" + + " },\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/191\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191/labels\",\n" + + " \"id\":5884208,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNTg4NDIwOA==\",\n" + + " \"number\":191,\n" + + " \"title\":\"5.5.0-RC1\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jzheaux\",\n" + + " \"id\":3627351,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjczNTE=\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/3627351?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jzheaux\",\n" + + " \"html_url\":\"https://github.com/jzheaux\",\n" + + " \"followers_url\":\"https://api.github.com/users/jzheaux/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jzheaux/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jzheaux/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jzheaux/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jzheaux/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jzheaux/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jzheaux/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jzheaux/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jzheaux/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":21,\n" + + " \"closed_issues\":23,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2020-09-16T13:28:03Z\",\n" + + " \"updated_at\":\"2021-04-06T23:47:10Z\",\n" + + " \"due_on\":null,\n" + + " \"closed_at\":null\n" + + " }\n" + + "]"; + this.server.enqueue(new MockResponse().setBody(responseJson)); + + boolean dueToday = this.github.isMilestoneDueToday(this.repositoryRef, "5.5.0-RC1"); + + RecordedRequest recordedRequest = this.server.takeRequest(1, TimeUnit.SECONDS); + assertThat(recordedRequest.getMethod()).isEqualToIgnoringCase("get"); + assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(this.baseUrl + "/repos/spring-projects/spring-security/milestones?per_page=100"); + + assertThat(dueToday).isFalse(); + } + + @Test + public void isMilestoneDueTodayWhenDueDateInFutureThenFalse() throws Exception { + String responseJson = "[\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/207\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207/labels\",\n" + + " \"id\":6611880,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNjYxMTg4MA==\",\n" + + " \"number\":207,\n" + + " \"title\":\"5.6.x\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jgrandja\",\n" + + " \"id\":10884212,\n" + + " \"node_id\":\"MDQ6VXNlcjEwODg0MjEy\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/10884212?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jgrandja\",\n" + + " \"html_url\":\"https://github.com/jgrandja\",\n" + + " \"followers_url\":\"https://api.github.com/users/jgrandja/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jgrandja/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jgrandja/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jgrandja/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jgrandja/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jgrandja/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jgrandja/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jgrandja/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jgrandja/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":1,\n" + + " \"closed_issues\":0,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2021-03-31T11:29:17Z\",\n" + + " \"updated_at\":\"2021-03-31T11:30:47Z\",\n" + + " \"due_on\":null,\n" + + " \"closed_at\":null\n" + + " },\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/191\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191/labels\",\n" + + " \"id\":5884208,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNTg4NDIwOA==\",\n" + + " \"number\":191,\n" + + " \"title\":\"5.5.0-RC1\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jzheaux\",\n" + + " \"id\":3627351,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjczNTE=\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/3627351?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jzheaux\",\n" + + " \"html_url\":\"https://github.com/jzheaux\",\n" + + " \"followers_url\":\"https://api.github.com/users/jzheaux/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jzheaux/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jzheaux/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jzheaux/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jzheaux/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jzheaux/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jzheaux/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jzheaux/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jzheaux/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":21,\n" + + " \"closed_issues\":23,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2020-09-16T13:28:03Z\",\n" + + " \"updated_at\":\"2021-04-06T23:47:10Z\",\n" + + " \"due_on\":\"3000-04-12T07:00:00Z\",\n" + + " \"closed_at\":null\n" + + " }\n" + + "]"; + this.server.enqueue(new MockResponse().setBody(responseJson)); + + boolean dueToday = this.github.isMilestoneDueToday(this.repositoryRef, "5.5.0-RC1"); + + RecordedRequest recordedRequest = this.server.takeRequest(1, TimeUnit.SECONDS); + assertThat(recordedRequest.getMethod()).isEqualToIgnoringCase("get"); + assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(this.baseUrl + "/repos/spring-projects/spring-security/milestones?per_page=100"); + + assertThat(dueToday).isFalse(); + } + + @Test + public void calculateNextReleaseMilestoneWhenCurrentVersionIsNotSnapshotThenException() { + assertThatExceptionOfType(RuntimeException.class) + .isThrownBy(() -> this.github.getNextReleaseMilestone(this.repositoryRef, "5.5.0-RC1")); + } + + @Test + public void calculateNextReleaseMilestoneWhenPatchSegmentGreaterThan0ThenReturnsVersionWithoutSnapshot() { + String nextVersion = this.github.getNextReleaseMilestone(this.repositoryRef, "5.5.1-SNAPSHOT"); + + assertThat(nextVersion).isEqualTo("5.5.1"); + } + + @Test + public void calculateNextReleaseMilestoneWhenMilestoneAndRcExistThenReturnsMilestone() throws Exception { + String responseJson = "[\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/207\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207/labels\",\n" + + " \"id\":6611880,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNjYxMTg4MA==\",\n" + + " \"number\":207,\n" + + " \"title\":\"5.5.0-M1\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jgrandja\",\n" + + " \"id\":10884212,\n" + + " \"node_id\":\"MDQ6VXNlcjEwODg0MjEy\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/10884212?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jgrandja\",\n" + + " \"html_url\":\"https://github.com/jgrandja\",\n" + + " \"followers_url\":\"https://api.github.com/users/jgrandja/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jgrandja/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jgrandja/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jgrandja/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jgrandja/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jgrandja/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jgrandja/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jgrandja/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jgrandja/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":1,\n" + + " \"closed_issues\":0,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2021-03-31T11:29:17Z\",\n" + + " \"updated_at\":\"2021-03-31T11:30:47Z\",\n" + + " \"due_on\":null,\n" + + " \"closed_at\":null\n" + + " },\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/191\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191/labels\",\n" + + " \"id\":5884208,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNTg4NDIwOA==\",\n" + + " \"number\":191,\n" + + " \"title\":\"5.5.0-RC1\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jzheaux\",\n" + + " \"id\":3627351,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjczNTE=\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/3627351?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jzheaux\",\n" + + " \"html_url\":\"https://github.com/jzheaux\",\n" + + " \"followers_url\":\"https://api.github.com/users/jzheaux/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jzheaux/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jzheaux/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jzheaux/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jzheaux/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jzheaux/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jzheaux/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jzheaux/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jzheaux/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":21,\n" + + " \"closed_issues\":23,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2020-09-16T13:28:03Z\",\n" + + " \"updated_at\":\"2021-04-06T23:47:10Z\",\n" + + " \"due_on\":\"3000-04-12T07:00:00Z\",\n" + + " \"closed_at\":null\n" + + " }\n" + + "]"; + this.server.enqueue(new MockResponse().setBody(responseJson)); + + String nextVersion = this.github.getNextReleaseMilestone(this.repositoryRef, "5.5.0-SNAPSHOT"); + + RecordedRequest recordedRequest = this.server.takeRequest(1, TimeUnit.SECONDS); + assertThat(recordedRequest.getMethod()).isEqualToIgnoringCase("get"); + assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(this.baseUrl + "/repos/spring-projects/spring-security/milestones?per_page=100"); + + assertThat(nextVersion).isEqualTo("5.5.0-M1"); + } + + @Test + public void calculateNextReleaseMilestoneWhenTwoMilestonesExistThenReturnsSmallerMilestone() throws Exception { + String responseJson = "[\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/207\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207/labels\",\n" + + " \"id\":6611880,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNjYxMTg4MA==\",\n" + + " \"number\":207,\n" + + " \"title\":\"5.5.0-M9\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jgrandja\",\n" + + " \"id\":10884212,\n" + + " \"node_id\":\"MDQ6VXNlcjEwODg0MjEy\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/10884212?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jgrandja\",\n" + + " \"html_url\":\"https://github.com/jgrandja\",\n" + + " \"followers_url\":\"https://api.github.com/users/jgrandja/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jgrandja/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jgrandja/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jgrandja/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jgrandja/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jgrandja/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jgrandja/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jgrandja/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jgrandja/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":1,\n" + + " \"closed_issues\":0,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2021-03-31T11:29:17Z\",\n" + + " \"updated_at\":\"2021-03-31T11:30:47Z\",\n" + + " \"due_on\":null,\n" + + " \"closed_at\":null\n" + + " },\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/191\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191/labels\",\n" + + " \"id\":5884208,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNTg4NDIwOA==\",\n" + + " \"number\":191,\n" + + " \"title\":\"5.5.0-M10\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jzheaux\",\n" + + " \"id\":3627351,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjczNTE=\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/3627351?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jzheaux\",\n" + + " \"html_url\":\"https://github.com/jzheaux\",\n" + + " \"followers_url\":\"https://api.github.com/users/jzheaux/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jzheaux/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jzheaux/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jzheaux/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jzheaux/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jzheaux/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jzheaux/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jzheaux/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jzheaux/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":21,\n" + + " \"closed_issues\":23,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2020-09-16T13:28:03Z\",\n" + + " \"updated_at\":\"2021-04-06T23:47:10Z\",\n" + + " \"due_on\":\"3000-04-12T07:00:00Z\",\n" + + " \"closed_at\":null\n" + + " }\n" + + "]"; + this.server.enqueue(new MockResponse().setBody(responseJson)); + + String nextVersion = this.github.getNextReleaseMilestone(this.repositoryRef, "5.5.0-SNAPSHOT"); + + RecordedRequest recordedRequest = this.server.takeRequest(1, TimeUnit.SECONDS); + assertThat(recordedRequest.getMethod()).isEqualToIgnoringCase("get"); + assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(this.baseUrl + "/repos/spring-projects/spring-security/milestones?per_page=100"); + + assertThat(nextVersion).isEqualTo("5.5.0-M9"); + } + + @Test + public void calculateNextReleaseMilestoneWhenTwoRcsExistThenReturnsSmallerRc() throws Exception { + String responseJson = "[\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/207\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207/labels\",\n" + + " \"id\":6611880,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNjYxMTg4MA==\",\n" + + " \"number\":207,\n" + + " \"title\":\"5.5.0-RC9\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jgrandja\",\n" + + " \"id\":10884212,\n" + + " \"node_id\":\"MDQ6VXNlcjEwODg0MjEy\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/10884212?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jgrandja\",\n" + + " \"html_url\":\"https://github.com/jgrandja\",\n" + + " \"followers_url\":\"https://api.github.com/users/jgrandja/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jgrandja/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jgrandja/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jgrandja/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jgrandja/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jgrandja/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jgrandja/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jgrandja/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jgrandja/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":1,\n" + + " \"closed_issues\":0,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2021-03-31T11:29:17Z\",\n" + + " \"updated_at\":\"2021-03-31T11:30:47Z\",\n" + + " \"due_on\":null,\n" + + " \"closed_at\":null\n" + + " },\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/191\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191/labels\",\n" + + " \"id\":5884208,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNTg4NDIwOA==\",\n" + + " \"number\":191,\n" + + " \"title\":\"5.5.0-RC10\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jzheaux\",\n" + + " \"id\":3627351,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjczNTE=\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/3627351?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jzheaux\",\n" + + " \"html_url\":\"https://github.com/jzheaux\",\n" + + " \"followers_url\":\"https://api.github.com/users/jzheaux/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jzheaux/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jzheaux/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jzheaux/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jzheaux/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jzheaux/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jzheaux/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jzheaux/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jzheaux/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":21,\n" + + " \"closed_issues\":23,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2020-09-16T13:28:03Z\",\n" + + " \"updated_at\":\"2021-04-06T23:47:10Z\",\n" + + " \"due_on\":\"3000-04-12T07:00:00Z\",\n" + + " \"closed_at\":null\n" + + " }\n" + + "]"; + this.server.enqueue(new MockResponse().setBody(responseJson)); + + String nextVersion = this.github.getNextReleaseMilestone(this.repositoryRef, "5.5.0-SNAPSHOT"); + + RecordedRequest recordedRequest = this.server.takeRequest(1, TimeUnit.SECONDS); + assertThat(recordedRequest.getMethod()).isEqualToIgnoringCase("get"); + assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(this.baseUrl + "/repos/spring-projects/spring-security/milestones?per_page=100"); + + assertThat(nextVersion).isEqualTo("5.5.0-RC9"); + } + + @Test + public void calculateNextReleaseMilestoneWhenNoPreReleaseThenReturnsVersionWithoutSnapshot() throws Exception { + String responseJson = "[\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/207\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/207/labels\",\n" + + " \"id\":6611880,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNjYxMTg4MA==\",\n" + + " \"number\":207,\n" + + " \"title\":\"5.6.x\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jgrandja\",\n" + + " \"id\":10884212,\n" + + " \"node_id\":\"MDQ6VXNlcjEwODg0MjEy\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/10884212?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jgrandja\",\n" + + " \"html_url\":\"https://github.com/jgrandja\",\n" + + " \"followers_url\":\"https://api.github.com/users/jgrandja/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jgrandja/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jgrandja/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jgrandja/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jgrandja/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jgrandja/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jgrandja/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jgrandja/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jgrandja/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":1,\n" + + " \"closed_issues\":0,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2021-03-31T11:29:17Z\",\n" + + " \"updated_at\":\"2021-03-31T11:30:47Z\",\n" + + " \"due_on\":null,\n" + + " \"closed_at\":null\n" + + " },\n" + + " {\n" + + " \"url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191\",\n" + + " \"html_url\":\"https://github.com/spring-projects/spring-security/milestone/191\",\n" + + " \"labels_url\":\"https://api.github.com/repos/spring-projects/spring-security/milestones/191/labels\",\n" + + " \"id\":5884208,\n" + + " \"node_id\":\"MDk6TWlsZXN0b25lNTg4NDIwOA==\",\n" + + " \"number\":191,\n" + + " \"title\":\"5.4.3\",\n" + + " \"description\":\"\",\n" + + " \"creator\":{\n" + + " \"login\":\"jzheaux\",\n" + + " \"id\":3627351,\n" + + " \"node_id\":\"MDQ6VXNlcjM2MjczNTE=\",\n" + + " \"avatar_url\":\"https://avatars.githubusercontent.com/u/3627351?v=4\",\n" + + " \"gravatar_id\":\"\",\n" + + " \"url\":\"https://api.github.com/users/jzheaux\",\n" + + " \"html_url\":\"https://github.com/jzheaux\",\n" + + " \"followers_url\":\"https://api.github.com/users/jzheaux/followers\",\n" + + " \"following_url\":\"https://api.github.com/users/jzheaux/following{/other_user}\",\n" + + " \"gists_url\":\"https://api.github.com/users/jzheaux/gists{/gist_id}\",\n" + + " \"starred_url\":\"https://api.github.com/users/jzheaux/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\":\"https://api.github.com/users/jzheaux/subscriptions\",\n" + + " \"organizations_url\":\"https://api.github.com/users/jzheaux/orgs\",\n" + + " \"repos_url\":\"https://api.github.com/users/jzheaux/repos\",\n" + + " \"events_url\":\"https://api.github.com/users/jzheaux/events{/privacy}\",\n" + + " \"received_events_url\":\"https://api.github.com/users/jzheaux/received_events\",\n" + + " \"type\":\"User\",\n" + + " \"site_admin\":false\n" + + " },\n" + + " \"open_issues\":21,\n" + + " \"closed_issues\":23,\n" + + " \"state\":\"open\",\n" + + " \"created_at\":\"2020-09-16T13:28:03Z\",\n" + + " \"updated_at\":\"2021-04-06T23:47:10Z\",\n" + + " \"due_on\":\"2021-04-12T07:00:00Z\",\n" + + " \"closed_at\":null\n" + + " }\n" + + "]"; + this.server.enqueue(new MockResponse().setBody(responseJson)); + + String nextVersion = this.github.getNextReleaseMilestone(this.repositoryRef, "5.5.0-SNAPSHOT"); + + RecordedRequest recordedRequest = this.server.takeRequest(1, TimeUnit.SECONDS); + assertThat(recordedRequest.getMethod()).isEqualToIgnoringCase("get"); + assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(this.baseUrl + "/repos/spring-projects/spring-security/milestones?per_page=100"); + + assertThat(nextVersion).isEqualTo("5.5.0"); + } + +} diff --git a/buildSrc/src/test/java/org/springframework/gradle/github/release/GitHubReleaseApiTests.java b/buildSrc/src/test/java/org/springframework/gradle/github/release/GitHubReleaseApiTests.java new file mode 100644 index 0000000..6ac7955 --- /dev/null +++ b/buildSrc/src/test/java/org/springframework/gradle/github/release/GitHubReleaseApiTests.java @@ -0,0 +1,151 @@ +/* + * Copyright 2002-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.gradle.github.release; + +import java.util.concurrent.TimeUnit; + +import okhttp3.mockwebserver.MockResponse; +import okhttp3.mockwebserver.MockWebServer; +import okhttp3.mockwebserver.RecordedRequest; +import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; + +import org.springframework.gradle.github.RepositoryRef; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; + +/** + * @author Steve Riesenberg + */ +public class GitHubReleaseApiTests { + private GitHubReleaseApi github; + + private RepositoryRef repository = new RepositoryRef("spring-projects", "spring-security"); + + private MockWebServer server; + + private String baseUrl; + + @BeforeEach + public void setup() throws Exception { + this.server = new MockWebServer(); + this.server.start(); + this.github = new GitHubReleaseApi("mock-oauth-token"); + this.baseUrl = this.server.url("/api").toString(); + this.github.setBaseUrl(this.baseUrl); + } + + @AfterEach + public void cleanup() throws Exception { + this.server.shutdown(); + } + + @Test + public void publishReleaseWhenValidParametersThenSuccess() throws Exception { + String responseJson = "{\n" + + " \"url\": \"https://api.github.com/spring-projects/spring-security/releases/1\",\n" + + " \"html_url\": \"https://github.com/spring-projects/spring-security/releases/tags/v1.0.0\",\n" + + " \"assets_url\": \"https://api.github.com/spring-projects/spring-security/releases/1/assets\",\n" + + " \"upload_url\": \"https://uploads.github.com/spring-projects/spring-security/releases/1/assets{?name,label}\",\n" + + " \"tarball_url\": \"https://api.github.com/spring-projects/spring-security/tarball/v1.0.0\",\n" + + " \"zipball_url\": \"https://api.github.com/spring-projects/spring-security/zipball/v1.0.0\",\n" + + " \"discussion_url\": \"https://github.com/spring-projects/spring-security/discussions/90\",\n" + + " \"id\": 1,\n" + + " \"node_id\": \"MDc6UmVsZWFzZTE=\",\n" + + " \"tag_name\": \"v1.0.0\",\n" + + " \"target_commitish\": \"main\",\n" + + " \"name\": \"v1.0.0\",\n" + + " \"body\": \"Description of the release\",\n" + + " \"draft\": false,\n" + + " \"prerelease\": false,\n" + + " \"created_at\": \"2013-02-27T19:35:32Z\",\n" + + " \"published_at\": \"2013-02-27T19:35:32Z\",\n" + + " \"author\": {\n" + + " \"login\": \"sjohnr\",\n" + + " \"id\": 1,\n" + + " \"node_id\": \"MDQ6VXNlcjE=\",\n" + + " \"avatar_url\": \"https://github.com/images/avatar.gif\",\n" + + " \"gravatar_id\": \"\",\n" + + " \"url\": \"https://api.github.com/users/sjohnr\",\n" + + " \"html_url\": \"https://github.com/sjohnr\",\n" + + " \"followers_url\": \"https://api.github.com/users/sjohnr/followers\",\n" + + " \"following_url\": \"https://api.github.com/users/sjohnr/following{/other_user}\",\n" + + " \"gists_url\": \"https://api.github.com/users/sjohnr/gists{/gist_id}\",\n" + + " \"starred_url\": \"https://api.github.com/users/sjohnr/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\": \"https://api.github.com/users/sjohnr/subscriptions\",\n" + + " \"organizations_url\": \"https://api.github.com/users/sjohnr/orgs\",\n" + + " \"repos_url\": \"https://api.github.com/users/sjohnr/repos\",\n" + + " \"events_url\": \"https://api.github.com/users/sjohnr/events{/privacy}\",\n" + + " \"received_events_url\": \"https://api.github.com/users/sjohnr/received_events\",\n" + + " \"type\": \"User\",\n" + + " \"site_admin\": false\n" + + " },\n" + + " \"assets\": [\n" + + " {\n" + + " \"url\": \"https://api.github.com/spring-projects/spring-security/releases/assets/1\",\n" + + " \"browser_download_url\": \"https://github.com/spring-projects/spring-security/releases/download/v1.0.0/example.zip\",\n" + + " \"id\": 1,\n" + + " \"node_id\": \"MDEyOlJlbGVhc2VBc3NldDE=\",\n" + + " \"name\": \"example.zip\",\n" + + " \"label\": \"short description\",\n" + + " \"state\": \"uploaded\",\n" + + " \"content_type\": \"application/zip\",\n" + + " \"size\": 1024,\n" + + " \"download_count\": 42,\n" + + " \"created_at\": \"2013-02-27T19:35:32Z\",\n" + + " \"updated_at\": \"2013-02-27T19:35:32Z\",\n" + + " \"uploader\": {\n" + + " \"login\": \"sjohnr\",\n" + + " \"id\": 1,\n" + + " \"node_id\": \"MDQ6VXNlcjE=\",\n" + + " \"avatar_url\": \"https://github.com/images/avatar.gif\",\n" + + " \"gravatar_id\": \"\",\n" + + " \"url\": \"https://api.github.com/users/sjohnr\",\n" + + " \"html_url\": \"https://github.com/sjohnr\",\n" + + " \"followers_url\": \"https://api.github.com/users/sjohnr/followers\",\n" + + " \"following_url\": \"https://api.github.com/users/sjohnr/following{/other_user}\",\n" + + " \"gists_url\": \"https://api.github.com/users/sjohnr/gists{/gist_id}\",\n" + + " \"starred_url\": \"https://api.github.com/users/sjohnr/starred{/owner}{/repo}\",\n" + + " \"subscriptions_url\": \"https://api.github.com/users/sjohnr/subscriptions\",\n" + + " \"organizations_url\": \"https://api.github.com/users/sjohnr/orgs\",\n" + + " \"repos_url\": \"https://api.github.com/users/sjohnr/repos\",\n" + + " \"events_url\": \"https://api.github.com/users/sjohnr/events{/privacy}\",\n" + + " \"received_events_url\": \"https://api.github.com/users/sjohnr/received_events\",\n" + + " \"type\": \"User\",\n" + + " \"site_admin\": false\n" + + " }\n" + + " }\n" + + " ]\n" + + "}"; + this.server.enqueue(new MockResponse().setBody(responseJson)); + this.github.publishRelease(this.repository, Release.tag("1.0.0").build()); + + RecordedRequest recordedRequest = this.server.takeRequest(1, TimeUnit.SECONDS); + assertThat(recordedRequest.getMethod()).isEqualToIgnoringCase("post"); + assertThat(recordedRequest.getRequestUrl().toString()).isEqualTo(this.baseUrl + "/repos/spring-projects/spring-security/releases"); + assertThat(recordedRequest.getBody().toString()).isEqualTo("{\"tag_name\":\"1.0.0\"}"); + } + + @Test + public void publishReleaseWhenErrorResponseThenException() throws Exception { + this.server.enqueue(new MockResponse().setResponseCode(400)); + assertThatExceptionOfType(RuntimeException.class) + .isThrownBy(() -> this.github.publishRelease(this.repository, Release.tag("1.0.0").build())); + } +} diff --git a/buildSrc/src/test/java/org/springframework/security/convention/versions/DependencyExcludesTests.java b/buildSrc/src/test/java/org/springframework/security/convention/versions/DependencyExcludesTests.java new file mode 100644 index 0000000..4b1aa90 --- /dev/null +++ b/buildSrc/src/test/java/org/springframework/security/convention/versions/DependencyExcludesTests.java @@ -0,0 +1,86 @@ +/* + * Copyright 2019-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.security.convention.versions; + +import com.github.benmanes.gradle.versions.updates.resolutionstrategy.ComponentSelectionWithCurrent; +import org.gradle.api.Action; +import org.gradle.api.artifacts.ComponentSelection; +import org.gradle.api.artifacts.component.ModuleComponentIdentifier; +import org.junit.jupiter.api.Test; + +import java.util.Collections; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.BDDMockito.given; +import static org.mockito.Mockito.*; + +public class DependencyExcludesTests { + + @Test + public void createExcludeMinorVersionBumpWhenMajorVersionBumpThenReject() { + ComponentSelection componentSelection = executeCreateExcludeMinorVersionBump("1.0.0", "2.0.0"); + verify(componentSelection).reject(any()); + } + + @Test + public void createExcludeMinorVersionBumpWhenMajorCalVersionBumpThenReject() { + ComponentSelection componentSelection = executeCreateExcludeMinorVersionBump("2000.0.0", "2001.0.0"); + verify(componentSelection).reject(any()); + } + + @Test + public void createExcludeMinorVersionBumpWhenMinorVersionBumpThenReject() { + ComponentSelection componentSelection = executeCreateExcludeMinorVersionBump("1.0.0", "1.1.0"); + verify(componentSelection).reject(any()); + } + + @Test + public void createExcludeMinorVersionBumpWhenMinorCalVersionBumpThenReject() { + ComponentSelection componentSelection = executeCreateExcludeMinorVersionBump("2000.0.0", "2000.1.0"); + verify(componentSelection).reject(any()); + } + + @Test + public void createExcludeMinorVersionBumpWhenMinorAndPatchVersionBumpThenReject() { + ComponentSelection componentSelection = executeCreateExcludeMinorVersionBump("1.0.0", "1.1.1"); + verify(componentSelection).reject(any()); + } + + @Test + public void createExcludeMinorVersionBumpWhenPatchVersionBumpThenDoesNotReject() { + ComponentSelection componentSelection = executeCreateExcludeMinorVersionBump("1.0.0", "1.0.1"); + verify(componentSelection, times(0)).reject(any()); + } + + private ComponentSelection executeCreateExcludeMinorVersionBump(String currentVersion, String candidateVersion) { + ComponentSelection componentSelection = mock(ComponentSelection.class); + UpdateDependenciesExtension.DependencyExcludes excludes = new UpdateDependenciesExtension(() -> Collections.emptyList()).new DependencyExcludes(); + Action excludeMinorVersionBump = excludes.createExcludeMinorVersionBump(); + ComponentSelectionWithCurrent selection = currentVersionAndCandidateVersion(componentSelection, currentVersion, candidateVersion); + excludeMinorVersionBump.execute(selection); + return componentSelection; + } + + private ComponentSelectionWithCurrent currentVersionAndCandidateVersion(ComponentSelection componentSelection, String currentVersion, String candidateVersion) { + ModuleComponentIdentifier candidate = mock(ModuleComponentIdentifier.class); + given(componentSelection.getCandidate()).willReturn(candidate); + ComponentSelectionWithCurrent selection = new ComponentSelectionWithCurrent(currentVersion, componentSelection); + given(candidate.getVersion()).willReturn(candidateVersion); + given(componentSelection.getCandidate()).willReturn(candidate); + return selection; + } +} diff --git a/buildSrc/src/test/java/org/springframework/security/convention/versions/TransitiveDependencyLookupUtilsTest.java b/buildSrc/src/test/java/org/springframework/security/convention/versions/TransitiveDependencyLookupUtilsTest.java new file mode 100644 index 0000000..cc6a821 --- /dev/null +++ b/buildSrc/src/test/java/org/springframework/security/convention/versions/TransitiveDependencyLookupUtilsTest.java @@ -0,0 +1,31 @@ +/* + * Copyright 2019-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.security.convention.versions; + + +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +public class TransitiveDependencyLookupUtilsTest { + + @Test + public void lookupJwtVersionWhen93Then961() { + String s = TransitiveDependencyLookupUtils.lookupJwtVersion("9.3"); + assertThat(s).isEqualTo("9.6.1"); + } +} diff --git a/buildSrc/src/test/resources/samples/integrationtest/withgroovy/build.gradle b/buildSrc/src/test/resources/samples/integrationtest/withgroovy/build.gradle new file mode 100644 index 0000000..d5dd692 --- /dev/null +++ b/buildSrc/src/test/resources/samples/integrationtest/withgroovy/build.gradle @@ -0,0 +1,16 @@ +plugins { + id 'io.spring.convention.integration-test' +} + +apply plugin: 'java' +apply plugin: 'groovy' + +repositories { + mavenCentral() +} + +dependencies { + testCompile 'junit:junit:4.12' + testCompile 'org.spockframework:spock-core:1.0-groovy-2.4' + integrationTestCompile 'org.springframework:spring-core:4.3.7.RELEASE' +} \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/integrationtest/withgroovy/src/integration-test/groovy/sample/TheTest.groovy b/buildSrc/src/test/resources/samples/integrationtest/withgroovy/src/integration-test/groovy/sample/TheTest.groovy new file mode 100644 index 0000000..d3a9898 --- /dev/null +++ b/buildSrc/src/test/resources/samples/integrationtest/withgroovy/src/integration-test/groovy/sample/TheTest.groovy @@ -0,0 +1,31 @@ +/* + * Copyright 2002-2017 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package sample; + +import org.springframework.core.Ordered; +import spock.lang.Specification; + +class TheTest extends Specification { + def "has Ordered"() { + expect: 'Loads Ordered fine' + Ordered ordered = new Ordered() { + @Override + int getOrder() { + return 0 + } + } + } +} \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/integrationtest/withjava/build.gradle b/buildSrc/src/test/resources/samples/integrationtest/withjava/build.gradle new file mode 100644 index 0000000..69fe9fa --- /dev/null +++ b/buildSrc/src/test/resources/samples/integrationtest/withjava/build.gradle @@ -0,0 +1,14 @@ +plugins { + id 'io.spring.convention.integration-test' +} + +apply plugin: 'java' + +repositories { + mavenCentral() +} + +dependencies { + testCompile 'junit:junit:4.12' + integrationTestCompile 'org.springframework:spring-core:4.3.7.RELEASE' +} \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/integrationtest/withjava/src/integration-test/java/sample/TheTest.java b/buildSrc/src/test/resources/samples/integrationtest/withjava/src/integration-test/java/sample/TheTest.java new file mode 100644 index 0000000..dc82588 --- /dev/null +++ b/buildSrc/src/test/resources/samples/integrationtest/withjava/src/integration-test/java/sample/TheTest.java @@ -0,0 +1,16 @@ +package sample; + +import org.junit.Test; +import org.springframework.core.Ordered; + +public class TheTest { + @Test + public void compilesAndRuns() { + Ordered ordered = new Ordered() { + @Override + public int getOrder() { + return 0; + } + }; + } +} \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/integrationtest/withpropdeps/build.gradle b/buildSrc/src/test/resources/samples/integrationtest/withpropdeps/build.gradle new file mode 100644 index 0000000..48a9859 --- /dev/null +++ b/buildSrc/src/test/resources/samples/integrationtest/withpropdeps/build.gradle @@ -0,0 +1,14 @@ +plugins { + id 'io.spring.convention.integration-test' +} + +apply plugin: 'java' + +repositories { + mavenCentral() +} + +dependencies { + optional 'jakarta.servlet:jakarta.servlet-api:5.0.0' + testCompile 'junit:junit:4.12' +} \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/integrationtest/withpropdeps/src/integration-test/java/sample/TheTest.java b/buildSrc/src/test/resources/samples/integrationtest/withpropdeps/src/integration-test/java/sample/TheTest.java new file mode 100644 index 0000000..8bd9ea4 --- /dev/null +++ b/buildSrc/src/test/resources/samples/integrationtest/withpropdeps/src/integration-test/java/sample/TheTest.java @@ -0,0 +1,11 @@ +package sample; + +import org.junit.Test; +import jakarta.servlet.http.HttpServletRequest; + +public class TheTest { + @Test + public void compilesAndRuns() { + HttpServletRequest request = null; + } +} \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/jacoco/java/build.gradle b/buildSrc/src/test/resources/samples/jacoco/java/build.gradle new file mode 100644 index 0000000..f70cc9a --- /dev/null +++ b/buildSrc/src/test/resources/samples/jacoco/java/build.gradle @@ -0,0 +1,13 @@ +plugins { + id 'io.spring.convention.jacoco' +} + +apply plugin: 'java' + +repositories { + mavenCentral() +} + +dependencies { + testCompile 'junit:junit:4.12' +} \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/jacoco/java/src/main/java/sample/TheClass.java b/buildSrc/src/test/resources/samples/jacoco/java/src/main/java/sample/TheClass.java new file mode 100644 index 0000000..cb7daa5 --- /dev/null +++ b/buildSrc/src/test/resources/samples/jacoco/java/src/main/java/sample/TheClass.java @@ -0,0 +1,11 @@ +package sample; + +public class TheClass { + public boolean doStuff(boolean b) { + if(b) { + return true; + } else { + return false; + } + } +} \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/jacoco/java/src/test/java/sample/TheClassTest.java b/buildSrc/src/test/resources/samples/jacoco/java/src/test/java/sample/TheClassTest.java new file mode 100644 index 0000000..5e1c64b --- /dev/null +++ b/buildSrc/src/test/resources/samples/jacoco/java/src/test/java/sample/TheClassTest.java @@ -0,0 +1,19 @@ +package sample; + +import static org.junit.Assert.*; + +import org.junit.Test; + +public class TheClassTest { + TheClass theClass = new TheClass(); + + @Test + public void doStuffWhenTrueThenTrue() { + assertTrue(theClass.doStuff(true)); + } + + @Test + public void doStuffWhenTrueThenFalse() { + assertFalse(theClass.doStuff(false)); + } +} \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/javadocapi/multimodule/api/build.gradle b/buildSrc/src/test/resources/samples/javadocapi/multimodule/api/build.gradle new file mode 100644 index 0000000..f9887e0 --- /dev/null +++ b/buildSrc/src/test/resources/samples/javadocapi/multimodule/api/build.gradle @@ -0,0 +1 @@ +apply plugin: 'io.spring.convention.spring-module' \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/javadocapi/multimodule/api/src/main/java/sample/Api.java b/buildSrc/src/test/resources/samples/javadocapi/multimodule/api/src/main/java/sample/Api.java new file mode 100644 index 0000000..7177b85 --- /dev/null +++ b/buildSrc/src/test/resources/samples/javadocapi/multimodule/api/src/main/java/sample/Api.java @@ -0,0 +1,14 @@ +package sample; + +/** + * Testing this + * @author Rob Winch + * + */ +public class Api { + + /** + * This does stuff + */ + public void doStuff() {} +} diff --git a/buildSrc/src/test/resources/samples/javadocapi/multimodule/build.gradle b/buildSrc/src/test/resources/samples/javadocapi/multimodule/build.gradle new file mode 100644 index 0000000..ce456f2 --- /dev/null +++ b/buildSrc/src/test/resources/samples/javadocapi/multimodule/build.gradle @@ -0,0 +1,4 @@ +plugins { + id 'io.spring.convention.javadoc-api' + id 'io.spring.convention.spring-module' apply false +} diff --git a/buildSrc/src/test/resources/samples/javadocapi/multimodule/impl/build.gradle b/buildSrc/src/test/resources/samples/javadocapi/multimodule/impl/build.gradle new file mode 100644 index 0000000..f9887e0 --- /dev/null +++ b/buildSrc/src/test/resources/samples/javadocapi/multimodule/impl/build.gradle @@ -0,0 +1 @@ +apply plugin: 'io.spring.convention.spring-module' \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/javadocapi/multimodule/impl/src/main/java/sample/Impl.java b/buildSrc/src/test/resources/samples/javadocapi/multimodule/impl/src/main/java/sample/Impl.java new file mode 100644 index 0000000..bf906a5 --- /dev/null +++ b/buildSrc/src/test/resources/samples/javadocapi/multimodule/impl/src/main/java/sample/Impl.java @@ -0,0 +1,14 @@ +package sample; + +/** + * Testing this + * @author Rob Winch + * + */ +public class Impl { + + /** + * This does stuff + */ + public void otherThings() {} +} diff --git a/buildSrc/src/test/resources/samples/javadocapi/multimodule/sample/build.gradle b/buildSrc/src/test/resources/samples/javadocapi/multimodule/sample/build.gradle new file mode 100644 index 0000000..bbfeb03 --- /dev/null +++ b/buildSrc/src/test/resources/samples/javadocapi/multimodule/sample/build.gradle @@ -0,0 +1 @@ +apply plugin: 'java' diff --git a/buildSrc/src/test/resources/samples/javadocapi/multimodule/sample/src/main/java/sample/Sample.java b/buildSrc/src/test/resources/samples/javadocapi/multimodule/sample/src/main/java/sample/Sample.java new file mode 100644 index 0000000..51b7f3f --- /dev/null +++ b/buildSrc/src/test/resources/samples/javadocapi/multimodule/sample/src/main/java/sample/Sample.java @@ -0,0 +1,14 @@ +package sample; + +/** + * Testing this + * @author Rob Winch + * + */ +public class Sample { + + /** + * This does stuff + */ + public void doSample() {} +} diff --git a/buildSrc/src/test/resources/samples/javadocapi/multimodule/settings.gradle b/buildSrc/src/test/resources/samples/javadocapi/multimodule/settings.gradle new file mode 100644 index 0000000..eb64414 --- /dev/null +++ b/buildSrc/src/test/resources/samples/javadocapi/multimodule/settings.gradle @@ -0,0 +1,3 @@ +include ':api' +include ':impl' +include ':sample' \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/maven/install-with-springio/build.gradle b/buildSrc/src/test/resources/samples/maven/install-with-springio/build.gradle new file mode 100644 index 0000000..b4784e4 --- /dev/null +++ b/buildSrc/src/test/resources/samples/maven/install-with-springio/build.gradle @@ -0,0 +1,12 @@ +plugins { + id 'io.spring.convention.spring-module' +} + +repositories { + mavenCentral() +} + +dependencies { + testCompile 'junit:junit:4.12' + compile 'org.springframework:spring-core' +} \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/maven/install-with-springio/gradle/dependency-management.gradle b/buildSrc/src/test/resources/samples/maven/install-with-springio/gradle/dependency-management.gradle new file mode 100644 index 0000000..3169bca --- /dev/null +++ b/buildSrc/src/test/resources/samples/maven/install-with-springio/gradle/dependency-management.gradle @@ -0,0 +1,5 @@ +dependencyManagement { + dependencies { + dependency 'org.springframework:spring-core:3.0.0.RELEASE' + } +} \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/maven/install/build.gradle b/buildSrc/src/test/resources/samples/maven/install/build.gradle new file mode 100644 index 0000000..4847d7f --- /dev/null +++ b/buildSrc/src/test/resources/samples/maven/install/build.gradle @@ -0,0 +1,14 @@ +plugins { + id 'io.spring.convention.root' +} + +apply plugin: 'io.spring.convention.maven' + +repositories { + mavenCentral() +} + +dependencies { + testCompile 'junit:junit:4.12' + optional 'aopalliance:aopalliance:1.0' +} \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/maven/signing/build.gradle b/buildSrc/src/test/resources/samples/maven/signing/build.gradle new file mode 100644 index 0000000..7460119 --- /dev/null +++ b/buildSrc/src/test/resources/samples/maven/signing/build.gradle @@ -0,0 +1,16 @@ +plugins { + id 'io.spring.convention.root' +} + +version = "1.0.0.RELEASE" + +apply plugin: 'io.spring.convention.maven' + +repositories { + mavenCentral() +} + +dependencies { + testCompile 'junit:junit:4.12' + optional 'aopalliance:aopalliance:1.0' +} \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/maven/signing/settings.gradle b/buildSrc/src/test/resources/samples/maven/signing/settings.gradle new file mode 100644 index 0000000..cf2aed0 --- /dev/null +++ b/buildSrc/src/test/resources/samples/maven/signing/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'signing' \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/maven/upload/build.gradle b/buildSrc/src/test/resources/samples/maven/upload/build.gradle new file mode 100644 index 0000000..fb36fc6 --- /dev/null +++ b/buildSrc/src/test/resources/samples/maven/upload/build.gradle @@ -0,0 +1,20 @@ +plugins { + id 'io.spring.convention.root' +} + +repositories { + mavenCentral() +} + +dependencies { + testCompile 'junit:junit:4.12' + optional 'aopalliance:aopalliance:1.0' +} + +uploadArchives { + repositories { + mavenDeployer { + repository(url: "file:$buildDir/repo") + } + } +} \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/showcase/Jenkinsfile b/buildSrc/src/test/resources/samples/showcase/Jenkinsfile new file mode 100644 index 0000000..ad9bfea --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/Jenkinsfile @@ -0,0 +1,52 @@ +parallel check: { + stage('Check') { + node { + checkout scm + sh "./gradlew check --refresh-dependencies --no-daemon" + } + } +}, +sonar: { + stage('Sonar') { + node { + checkout scm + withCredentials([string(credentialsId: 'spring-sonar.login', variable: 'SONAR_LOGIN')]) { + sh "./gradlew sonarqube -Dsonar.host.url=$SPRING_SONAR_HOST_URL -Dsonar.login=$SONAR_LOGIN --refresh-dependencies --no-daemon" + } + } + } +}, +ossrh: { + stage('OSSRH Deploy') { + node { + checkout scm + withCredentials([file(credentialsId: 'spring-signing-secring.gpg', variable: 'SIGNING_KEYRING_FILE')]) { + withCredentials([string(credentialsId: 'spring-gpg-passphrase', variable: 'SIGNING_PASSWORD')]) { + withCredentials([usernamePassword(credentialsId: 'oss-token', passwordVariable: 'OSSRH_PASSWORD', usernameVariable: 'OSSRH_USERNAME')]) { + sh "./gradlew uploadArchives -Psigning.secretKeyRingFile=$SIGNING_KEYRING_FILE -Psigning.keyId=$SPRING_SIGNING_KEYID -Psigning.password=$SIGNING_PASSWORD -PossrhUsername=$OSSRH_USERNAME -PossrhPassword=$OSSRH_PASSWORD --refresh-dependencies --no-daemon" + } + } + } + } + } +}, +docs: { + stage('Deploy Docs') { + node { + checkout scm + withCredentials([file(credentialsId: 'docs.spring.io-jenkins_private_ssh_key', variable: 'DEPLOY_SSH_KEY')]) { + sh "./gradlew deployDocs -PdeployDocsSshKeyPath=$DEPLOY_SSH_KEY -PdeployDocsSshUsername=$SPRING_DOCS_USERNAME --refresh-dependencies --no-daemon --stacktrace" + } + } + } +}, +schema: { + stage('Deploy Schema') { + node { + checkout scm + withCredentials([file(credentialsId: 'docs.spring.io-jenkins_private_ssh_key', variable: 'DEPLOY_SSH_KEY')]) { + sh "./gradlew deploySchema -PdeployDocsSshKeyPath=$DEPLOY_SSH_KEY -PdeployDocsSshUsername=$SPRING_DOCS_USERNAME --refresh-dependencies --no-daemon --stacktrace" + } + } + } +} \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/showcase/bom/bom.gradle b/buildSrc/src/test/resources/samples/showcase/bom/bom.gradle new file mode 100644 index 0000000..19aa720 --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/bom/bom.gradle @@ -0,0 +1,2 @@ +apply plugin: 'io.spring.convention.bom' + diff --git a/buildSrc/src/test/resources/samples/showcase/build.gradle b/buildSrc/src/test/resources/samples/showcase/build.gradle new file mode 100644 index 0000000..163e7b7 --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/build.gradle @@ -0,0 +1,6 @@ +plugins { + id 'io.spring.convention.root' +} + +group = "org.springframework.build.test" +version = "1.0.0.BUILD-SNAPSHOT" diff --git a/buildSrc/src/test/resources/samples/showcase/etc/checkstyle/checkstyle.xml b/buildSrc/src/test/resources/samples/showcase/etc/checkstyle/checkstyle.xml new file mode 100644 index 0000000..fbe98f2 --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/etc/checkstyle/checkstyle.xml @@ -0,0 +1,5 @@ + + + + diff --git a/buildSrc/src/test/resources/samples/showcase/settings.gradle b/buildSrc/src/test/resources/samples/showcase/settings.gradle new file mode 100644 index 0000000..5b63a3c --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/settings.gradle @@ -0,0 +1,25 @@ +import java.util.regex.Matcher + +rootProject.name = 'spring-gradle-build-conventions-sample' + + +FileTree projects = fileTree(rootDir) { + include '**/*.gradle' + exclude '**/gradle', 'settings.gradle', 'buildSrc', '/build.gradle', '.*' +} + +String rootDirPath = rootDir.absolutePath + File.separator +projects.each { File buildFile -> + String buildFilePath = buildFile.parentFile.absolutePath + + String projectPath = buildFilePath.replace(rootDirPath, '').replaceAll(Matcher.quoteReplacement(File.separator), ':') + + include projectPath + + def project = findProject(":${projectPath}") + if(!'build.gradle'.equals(buildFile.name)) { + project.name = buildFile.name.replace('.gradle','') + project.buildFileName = buildFile.name + } + project.projectDir = buildFile.parentFile +} diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-api/sgbcs-api.gradle b/buildSrc/src/test/resources/samples/showcase/sgbcs-api/sgbcs-api.gradle new file mode 100644 index 0000000..21103a8 --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-api/sgbcs-api.gradle @@ -0,0 +1,10 @@ +apply plugin: 'io.spring.convention.spring-module' + +dependencies { + api platform('org.springframework.boot:spring-boot-dependencies:2.5.2') + implementation 'org.springframework:spring-web' + implementation 'org.springframework:spring-core' + testImplementation "org.junit.jupiter:junit-jupiter-api" + testImplementation "org.junit.jupiter:junit-jupiter-engine" +} + diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-api/src/main/java/api/Api.java b/buildSrc/src/test/resources/samples/showcase/sgbcs-api/src/main/java/api/Api.java new file mode 100644 index 0000000..6ed5b9c --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-api/src/main/java/api/Api.java @@ -0,0 +1,10 @@ +package api; + +/** + * + * @author Rob Winch + * + */ +public class Api { + +} diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-api/src/test/java/api/ApiTest.java b/buildSrc/src/test/resources/samples/showcase/sgbcs-api/src/test/java/api/ApiTest.java new file mode 100644 index 0000000..b6c952f --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-api/src/test/java/api/ApiTest.java @@ -0,0 +1,9 @@ +package api; + +import org.junit.jupiter.api.Test; + +public class ApiTest { + + @Test + public void api() {} +} diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-core/sgbcs-core.gradle b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/sgbcs-core.gradle new file mode 100644 index 0000000..d40d2e2 --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/sgbcs-core.gradle @@ -0,0 +1,8 @@ +apply plugin: 'io.spring.convention.spring-module' + +dependencies { + api platform('org.springframework.boot:spring-boot-dependencies:2.5.2') + optional 'ch.qos.logback:logback-classic' + testImplementation "org.junit.jupiter:junit-jupiter-api" + testImplementation "org.junit.jupiter:junit-jupiter-engine" +} diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/java/core/CoreClass.java b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/java/core/CoreClass.java new file mode 100644 index 0000000..4a0ecdb --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/java/core/CoreClass.java @@ -0,0 +1,13 @@ +package core; + +/** + * + * @author Rob Winch + * + */ +public class CoreClass { + + public void run() { + + } +} diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/java/core/HasOptional.java b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/java/core/HasOptional.java new file mode 100644 index 0000000..8d1ace3 --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/java/core/HasOptional.java @@ -0,0 +1,14 @@ +package core; + + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + +public class HasOptional { + + public static void doStuffWithOptionalDependency() { + Logger logger = LoggerFactory.getLogger(HasOptional.class); + logger.debug("This is optional"); + } +} diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/META-INF/spring.handlers b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/META-INF/spring.handlers new file mode 100644 index 0000000..6838fba --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/META-INF/spring.handlers @@ -0,0 +1 @@ +http\://www.springframework.org/schema/springgradlebuildsample=org.springframework.ldap.config.LdapNamespaceHandler \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/META-INF/spring.schemas b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/META-INF/spring.schemas new file mode 100644 index 0000000..8428571 --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/META-INF/spring.schemas @@ -0,0 +1,4 @@ +http\://www.springframework.org/schema/springgradlebuildsample/spring-springgradlebuildsample.xsd=org/springframework/springgradlebuildsample/config/spring-springgradlebuildsample-2.2.xsd +http\://www.springframework.org/schema/springgradlebuildsample/spring-springgradlebuildsample-2.0.xsd=org/springframework/springgradlebuildsample/config/spring-springgradlebuildsample-2.0.xsd +http\://www.springframework.org/schema/springgradlebuildsample/spring-springgradlebuildsample-2.1.xsd=org/springframework/springgradlebuildsample/config/spring-springgradlebuildsample-2.1.xsd +http\://www.springframework.org/schema/springgradlebuildsample/spring-springgradlebuildsample-2.2.xsd=org/springframework/springgradlebuildsample/config/spring-springgradlebuildsample-2.2.xsd \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/org/springframework/springgradlebuildsample/config/spring-springgradlebuildsample-2.0.xsd b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/org/springframework/springgradlebuildsample/config/spring-springgradlebuildsample-2.0.xsd new file mode 100644 index 0000000..327f3a5 --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/org/springframework/springgradlebuildsample/config/spring-springgradlebuildsample-2.0.xsd @@ -0,0 +1,468 @@ + + + + + + + + + + A bean identifier, used for referring to the bean elsewhere in the context. + "contextSource". + + + + + + + Defines whether read-only operations will be performed using an anonymous (unauthenticated) context. + + + + + + + Id of the AuthenticationSource instance to use. If not specified, a SimpleAuthenticationSource will + be used. + + + + + + + Id of the DirContextAuthenticationStrategy instance to use. If not specified, a SimpleDirContextAuthenticationStrategy + will be used. + + + + + + + The base DN. If configured, all LDAP operations on contexts retrieved from this ContextSource will + be relative to this DN. Default is an empty distinguished name (i.e. all operations will be + relative to the directory root). + + + + + + + The password to use for authentication. + + + + + + + Specify whether native Java LDAP connection pooling should be used. Default is false. + + + + + + + Defines the strategy to handle referrals, as described on https://docs.oracle.com/javase/jndi/tutorial/ldap/referral/jndi.html. + Default is null. + + + + + + + + + + + + + + URL of the LDAP server to use. If fail-over functionality is desired, more than one URL can + be specified, separated using comma (,). + + + + + + + The username (principal) to use for authentication. This will normally be the distinguished name + of an admin user. + + + + + + + Reference to a Map of custom environment properties that should supplied with the environment + sent to the DirContext on construction. + + + + + + + + + + The maximum number of active connections of each type (read-only|read-write) + that can be allocated from the pool at the same time, or non-positive for no limit. + Default is 8. + + + + + + + The overall maximum number of active connections (for all types) that can be allocated from + this pool at the same time, or non-positive for no limit. Default is -1 (no limit). + + + + + + + The maximum number of active connections of each type (read-only|read-write) that can remain idle in the pool, + without extra ones being released, or non-positive for no limit. Default is 8. + + + + + + + The minimum number of active connections of each type (read-only|read-write) that can remain + idle in the pool, without extra ones being created, or zero to create none. Default is 0. + + + + + + + The maximum number of milliseconds that the pool will wait (when there are no available connections) + for a connection to be returned before throwing an exception, or non-positive to wait indefinitely. + Default is -1. + + + + + + + Specifies the behaviour when the pool is exhausted. + + + + + + + + Throw a NoSuchElementException when the pool is exhausted + + + + + + + Wait until a new object is available. If max-wait is positive a NoSuchElementException + is thrown if no new object is available after the maxWait time expires. + + + + + + + Create and return a new object (essentially making maxActive meaningless). + + + + + + + + + + The indication of whether objects will be validated before being borrowed from the pool. + If the object fails to validate, it will be dropped from the pool, and an attempt to borrow another will be made. + Default is false. + + + + + + + The indication of whether objects will be validated before being returned to the pool. + Default is false. + + + + + + + The indication of whether objects will be validated by the idle object evictor (if any). + If an object fails to validate, it will be dropped from the pool. + Default is false. + + + + + + + The number of milliseconds to sleep between runs of the idle object evictor thread. When non-positive, + no idle object evictor thread will be run. Default is -1. + + + + + + + The number of objects to examine during each run of the idle object evictor thread (if any). + Default is 3. + + + + + + + The minimum amount of time an object may sit idle in the pool before it is eligible + for eviction by the idle object evictor (if any). Default is 1000 * 60 * 30. + + + + + + + The base dn to use for validation searches. Default is LdapUtils.emptyPath(). + + + + + + + The filter to use for validation queries. Default is (objectclass=*). + + + + + + + Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE; + countLimit: 1; timeLimit: 500; returningAttributes: [objectclass]. + + + + + + + Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE; + countLimit: 1; timeLimit: 500; returningAttributes: [objectclass]. + + + + + + + + + Creates a ContextSource instance to be used to get LdapContexts for communicating with an LDAP server. + + + + + + + + Defines the settings to use for the Spring LDAP connection pooling support. + + + + + + + + + + + + + + + + A bean identifier, used for referring to the bean elsewhere in the context. + Default is "ldapTemplate". + + + + + + + Id of the ContextSource instance to use. Default is "contextSource". + + + + + + + The default count limit for searches. Default is 0 (no limit). + + + + + + + The default time limit for searches. Default is 0 (no limit). + + + + + + + The default search scope for searches. Default is SUBTREE. + + + + + + + + + + + + + + Specifies whether NameNotFoundException should be ignored in searches. Setting this + attribute to true will cause errors caused by invalid search base to be silently swallowed. + Default is false. + + + + + + + Specifies whether PartialResultException should be ignored in searches. Some LDAP servers + have problems with referrals; these should normally be followed automatically, but if this + doesn't work it will manifest itself with a PartialResultException. Setting this attribute + to true presents a work-around to this problem. Default is false. + + + + + + + Id of the ObjectDirectoryMapper instance to use. Default is a default-configured DefaultObjectDirectoryMapper. + + + + + + + + + Creates an LdapTemplate instance. + + + + + + + + + + + + Id of this instance. Default is "transactionManager". + + + + + + + Id of the ContextSource instance to use. "contextSource". + + + + + + + Id of the DataSource instance to use. + + + + + + + Id of the Hibernate SessionFactory instance to use. + + + + + + + + + Creates an ContextSourceTransactionManager. If data-source-ref or session-factory-ref is specified, + a DataSourceAndContextSourceTransactionManager/HibernateAndContextSourceTransactionManager will be + created. + + + + + + + + The default (simplistic) TempEntryRenamingStrategy. Please note that this + strategy will not work for more advanced scenarios. See reference documentation + for details. + + + + + + + The default suffix that will be added to modified entries. + Default is "_temp". + + + + + + + + + TempEntryRenamingStrategy that moves the entry to a different subtree than + the original entry. + + + + + + + The subtree base where changed entries should be moved. + + + + + + + + + + + + + + + + + + The reference to an LdapTemplate. Will default to 'ldapTemplate'. + + + + + + + + \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/org/springframework/springgradlebuildsample/config/spring-springgradlebuildsample-2.1.xsd b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/org/springframework/springgradlebuildsample/config/spring-springgradlebuildsample-2.1.xsd new file mode 100644 index 0000000..3b5e719 --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/org/springframework/springgradlebuildsample/config/spring-springgradlebuildsample-2.1.xsd @@ -0,0 +1,685 @@ + + + + + + + + + + A bean identifier, used for referring to the bean elsewhere in the context. + "contextSource". + + + + + + + Defines whether read-only operations will be performed using an anonymous (unauthenticated) context. + + + + + + + Id of the AuthenticationSource instance to use. If not specified, a SimpleAuthenticationSource will + be used. + + + + + + + Id of the DirContextAuthenticationStrategy instance to use. If not specified, a SimpleDirContextAuthenticationStrategy + will be used. + + + + + + + The base DN. If configured, all LDAP operations on contexts retrieved from this ContextSource will + be relative to this DN. Default is an empty distinguished name (i.e. all operations will be + relative to the directory root). + + + + + + + The password to use for authentication. + + + + + + + Specify whether native Java LDAP connection pooling should be used. Default is false. + + + + + + + Defines the strategy to handle referrals, as described on https://docs.oracle.com/javase/jndi/tutorial/ldap/referral/jndi.html. + Default is null. + + + + + + + + + + + + + + URL of the LDAP server to use. If fail-over functionality is desired, more than one URL can + be specified, separated using comma (,). + + + + + + + The username (principal) to use for authentication. This will normally be the distinguished name + of an admin user. + + + + + + + Reference to a Map of custom environment properties that should supplied with the environment + sent to the DirContext on construction. + + + + + + + + + + The maximum number of active connections of each type (read-only|read-write) + that can be allocated from the pool at the same time, or non-positive for no limit. + Default is 8. + + + + + + + The overall maximum number of active connections (for all types) that can be allocated from + this pool at the same time, or non-positive for no limit. Default is -1 (no limit). + + + + + + + The maximum number of active connections of each type (read-only|read-write) that can remain idle in the pool, + without extra ones being released, or non-positive for no limit. Default is 8. + + + + + + + The minimum number of active connections of each type (read-only|read-write) that can remain + idle in the pool, without extra ones being created, or zero to create none. Default is 0. + + + + + + + The maximum number of milliseconds that the pool will wait (when there are no available connections) + for a connection to be returned before throwing an exception, or non-positive to wait indefinitely. + Default is -1. + + + + + + + Specifies the behaviour when the pool is exhausted. + + + + + + + + Throw a NoSuchElementException when the pool is exhausted + + + + + + + Wait until a new object is available. If max-wait is positive a NoSuchElementException + is thrown if no new object is available after the maxWait time expires. + + + + + + + Create and return a new object (essentially making maxActive meaningless). + + + + + + + + + + The indication of whether objects will be validated before being borrowed from the pool. + If the object fails to validate, it will be dropped from the pool, and an attempt to borrow another will be made. + Default is false. + + + + + + + The indication of whether objects will be validated before being returned to the pool. + Default is false. + + + + + + + The indication of whether objects will be validated by the idle object evictor (if any). + If an object fails to validate, it will be dropped from the pool. + Default is false. + + + + + + + The number of milliseconds to sleep between runs of the idle object evictor thread. When non-positive, + no idle object evictor thread will be run. Default is -1. + + + + + + + The number of objects to examine during each run of the idle object evictor thread (if any). + Default is 3. + + + + + + + The minimum amount of time an object may sit idle in the pool before it is eligible + for eviction by the idle object evictor (if any). Default is 1000 * 60 * 30. + + + + + + + The base dn to use for validation searches. Default is LdapUtils.emptyPath(). + + + + + + + The filter to use for validation queries. Default is (objectclass=*). + + + + + + + Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE; + countLimit: 1; timeLimit: 500; returningAttributes: [objectclass]. + + + + + + + Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE; + countLimit: 1; timeLimit: 500; returningAttributes: [objectclass]. + + + + + + + + + + The overall maximum number of active connections (for all types) that can be allocated from + this pool at the same time, or non-positive for no limit. Default is -1 (no limit). + + + + + + + The limit on the number of object instances allocated by the pool (checked out or idle), + per key. When the limit is reached, the sub-pool is said to be exhausted. A negative value + indicates no limit. Default is 8. + + + + + + + The maximum number of active connections per type (read-only|read-write) that can remain idle in the pool, + without extra ones being released, or non-positive for no limit. Default is 8. + + + + + + + The minimum number of active connections per type (read-only|read-write) that can remain + idle in the pool, without extra ones being created, or zero to create none. Default is 0. + + + + + + + The maximum number of milliseconds that the pool will wait (when there are no available connections) + for a connection to be returned before throwing an exception, or non-positive to wait indefinitely. + Default is -1. + + + + + + + Sets to wait until a new object is available. If max-wait is positive a NoSuchElementException + is thrown if no new object is available after the maxWait time expires.. + + + + + + + Sets whether objects created for the pool will be validated before borrowing. If the object + fails to validate, then borrowing will fail. Default is false. + + + + + + + The indication of whether objects will be validated before being borrowed from the pool. + If the object fails to validate, it will be dropped from the pool, and an attempt to borrow another will be made. + Default is false. + + + + + + + The indication of whether objects will be validated before being returned to the pool. + Default is false. + + + + + + + The indication of whether objects will be validated by the idle object evictor (if any). + If an object fails to validate, it will be dropped from the pool. + Default is false. + + + + + + + The number of milliseconds to sleep between runs of the idle object evictor thread. When non-positive, + no idle object evictor thread will be run. Default is -1. + + + + + + + The number of objects to examine during each run of the idle object evictor thread (if any). + Default is 3. + + + + + + + The minimum amount of time an object may sit idle in the pool before it is eligible + for eviction by the idle object evictor (if any). Default is 1000 * 60 * 30. + + + + + + + The minimum amount of time an object may sit idle in the pool before it is eligible for + eviction by the idle object evictor, with the extra condition that at least minimum number + of object instances per key remain in the pool. This settings is overridden by min-evictable-time-millis if + it is set to a positive value. Default is -1. + + + + + + + The name of the eviction policy implementation that is used by this pool. The Pool will + attempt to load the class using the thread context class loader. If that fails, the Pool + will attempt to load the class using the class loader that loaded this class. Default is + org.apache.commons.pool2.impl.DefaultEvictionPolicy. + + + + + + + Sets whether or not the pool serves threads waiting to borrow connections fairly. + True means that waiting threads are served as if waiting in a FIFO queue. Default is false. + + + + + + + Sets whether JMX will be enabled with the platform MBean server for the pool. Default + is true. + + + + + + + The value of the JMX name base that will be used as part of the name assigned + to JMX enabled pools. Default is null. + + + + + + + The value of the JMX name prefix that will be used as part of the name assigned + to JMX enabled pools. Default value is pool. + + + + + + + Sets whether the pool has LIFO (last in, first out) behaviour with + respect to idle objects - always returning the most recently used object + from the pool, or as a FIFO (first in, first out) queue, where the pool + always returns the oldest object in the idle object pool. Default is true. + + + + + + + The base dn to use for validation searches. Default is LdapUtils.emptyPath(). + + + + + + + The filter to use for validation queries. Default is (objectclass=*). + + + + + + + Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE; + countLimit: 1; timeLimit: 500; returningAttributes: [objectclass]. + + + + + + + Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE; + countLimit: 1; timeLimit: 500; returningAttributes: [objectclass]. + + + + + + + + + Creates a ContextSource instance to be used to get LdapContexts for communicating with an LDAP server. + + + + + + + + + Defines the settings to use for the Spring LDAP connection pooling support. + + + + + + + + + + + + Defines the settings to use for the Spring LDAP connection pooling support based on commons-pool2 library. + + + + + + + + + + + + + + + + + A bean identifier, used for referring to the bean elsewhere in the context. + Default is "ldapTemplate". + + + + + + + Id of the ContextSource instance to use. Default is "contextSource". + + + + + + + The default count limit for searches. Default is 0 (no limit). + + + + + + + The default time limit for searches. Default is 0 (no limit). + + + + + + + The default search scope for searches. Default is SUBTREE. + + + + + + + + + + + + + + Specifies whether NameNotFoundException should be ignored in searches. Setting this + attribute to true will cause errors caused by invalid search base to be silently swallowed. + Default is false. + + + + + + + Specifies whether PartialResultException should be ignored in searches. Some LDAP servers + have problems with referrals; these should normally be followed automatically, but if this + doesn't work it will manifest itself with a PartialResultException. Setting this attribute + to true presents a work-around to this problem. Default is false. + + + + + + + Id of the ObjectDirectoryMapper instance to use. Default is a default-configured DefaultObjectDirectoryMapper. + + + + + + + + + Creates an LdapTemplate instance. + + + + + + + + + + + + Id of this instance. Default is "transactionManager". + + + + + + + Id of the ContextSource instance to use. "contextSource". + + + + + + + Id of the DataSource instance to use. + + + + + + + Id of the Hibernate SessionFactory instance to use. + + + + + + + + + Creates an ContextSourceTransactionManager. If data-source-ref or session-factory-ref is specified, + a DataSourceAndContextSourceTransactionManager/HibernateAndContextSourceTransactionManager will be + created. + + + + + + + + The default (simplistic) TempEntryRenamingStrategy. Please note that this + strategy will not work for more advanced scenarios. See reference documentation + for details. + + + + + + + The default suffix that will be added to modified entries. + Default is "_temp". + + + + + + + + + TempEntryRenamingStrategy that moves the entry to a different subtree than + the original entry. + + + + + + + The subtree base where changed entries should be moved. + + + + + + + + + + + + + + + + + + The reference to an LdapTemplate. Will default to 'ldapTemplate'. + + + + + + + + diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/org/springframework/springgradlebuildsample/config/spring-springgradlebuildsample-2.2.xsd b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/org/springframework/springgradlebuildsample/config/spring-springgradlebuildsample-2.2.xsd new file mode 100644 index 0000000..e76d784 --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/main/resources/org/springframework/springgradlebuildsample/config/spring-springgradlebuildsample-2.2.xsd @@ -0,0 +1,685 @@ + + + + + + + + + + A bean identifier, used for referring to the bean elsewhere in the context. + "contextSource". + + + + + + + Defines whether read-only operations will be performed using an anonymous (unauthenticated) context. + + + + + + + Id of the AuthenticationSource instance to use. If not specified, a SimpleAuthenticationSource will + be used. + + + + + + + Id of the DirContextAuthenticationStrategy instance to use. If not specified, a SimpleDirContextAuthenticationStrategy + will be used. + + + + + + + The base DN. If configured, all LDAP operations on contexts retrieved from this ContextSource will + be relative to this DN. Default is an empty distinguished name (i.e. all operations will be + relative to the directory root). + + + + + + + The password to use for authentication. + + + + + + + Specify whether native Java LDAP connection pooling should be used. Default is false. + + + + + + + Defines the strategy to handle referrals, as described on https://docs.oracle.com/javase/jndi/tutorial/ldap/referral/jndi.html. + Default is null. + + + + + + + + + + + + + + URL of the LDAP server to use. If fail-over functionality is desired, more than one URL can + be specified, separated using comma (,). + + + + + + + The username (principal) to use for authentication. This will normally be the distinguished name + of an admin user. + + + + + + + Reference to a Map of custom environment properties that should supplied with the environment + sent to the DirContext on construction. + + + + + + + + + + The maximum number of active connections of each type (read-only|read-write) + that can be allocated from the pool at the same time, or non-positive for no limit. + Default is 8. + + + + + + + The overall maximum number of active connections (for all types) that can be allocated from + this pool at the same time, or non-positive for no limit. Default is -1 (no limit). + + + + + + + The maximum number of active connections of each type (read-only|read-write) that can remain idle in the pool, + without extra ones being released, or non-positive for no limit. Default is 8. + + + + + + + The minimum number of active connections of each type (read-only|read-write) that can remain + idle in the pool, without extra ones being created, or zero to create none. Default is 0. + + + + + + + The maximum number of milliseconds that the pool will wait (when there are no available connections) + for a connection to be returned before throwing an exception, or non-positive to wait indefinitely. + Default is -1. + + + + + + + Specifies the behaviour when the pool is exhausted. + + + + + + + + Throw a NoSuchElementException when the pool is exhausted + + + + + + + Wait until a new object is available. If max-wait is positive a NoSuchElementException + is thrown if no new object is available after the maxWait time expires. + + + + + + + Create and return a new object (essentially making maxActive meaningless). + + + + + + + + + + The indication of whether objects will be validated before being borrowed from the pool. + If the object fails to validate, it will be dropped from the pool, and an attempt to borrow another will be made. + Default is false. + + + + + + + The indication of whether objects will be validated before being returned to the pool. + Default is false. + + + + + + + The indication of whether objects will be validated by the idle object evictor (if any). + If an object fails to validate, it will be dropped from the pool. + Default is false. + + + + + + + The number of milliseconds to sleep between runs of the idle object evictor thread. When non-positive, + no idle object evictor thread will be run. Default is -1. + + + + + + + The number of objects to examine during each run of the idle object evictor thread (if any). + Default is 3. + + + + + + + The minimum amount of time an object may sit idle in the pool before it is eligible + for eviction by the idle object evictor (if any). Default is 1000 * 60 * 30. + + + + + + + The base dn to use for validation searches. Default is LdapUtils.emptyPath(). + + + + + + + The filter to use for validation queries. Default is (objectclass=*). + + + + + + + Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE; + countLimit: 1; timeLimit: 500; returningAttributes: [objectclass]. + + + + + + + Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE; + countLimit: 1; timeLimit: 500; returningAttributes: [objectclass]. + + + + + + + + + + The overall maximum number of active connections (for all types) that can be allocated from + this pool at the same time, or non-positive for no limit. Default is -1 (no limit). + + + + + + + The limit on the number of object instances allocated by the pool (checked out or idle), + per key. When the limit is reached, the sub-pool is said to be exhausted. A negative value + indicates no limit. Default is 8. + + + + + + + The maximum number of active connections per type (read-only|read-write) that can remain idle in the pool, + without extra ones being released, or non-positive for no limit. Default is 8. + + + + + + + The minimum number of active connections per type (read-only|read-write) that can remain + idle in the pool, without extra ones being created, or zero to create none. Default is 0. + + + + + + + The maximum number of milliseconds that the pool will wait (when there are no available connections) + for a connection to be returned before throwing an exception, or non-positive to wait indefinitely. + Default is -1. + + + + + + + Sets to wait until a new object is available. If max-wait is positive a NoSuchElementException + is thrown if no new object is available after the maxWait time expires. Default is true. + + + + + + + Sets whether objects created for the pool will be validated before borrowing. If the object + fails to validate, then borrowing will fail. Default is false. + + + + + + + The indication of whether objects will be validated before being borrowed from the pool. + If the object fails to validate, it will be dropped from the pool, and an attempt to borrow another will be made. + Default is false. + + + + + + + The indication of whether objects will be validated before being returned to the pool. + Default is false. + + + + + + + The indication of whether objects will be validated by the idle object evictor (if any). + If an object fails to validate, it will be dropped from the pool. + Default is false. + + + + + + + The number of milliseconds to sleep between runs of the idle object evictor thread. When non-positive, + no idle object evictor thread will be run. Default is -1. + + + + + + + The number of objects to examine during each run of the idle object evictor thread (if any). + Default is 3. + + + + + + + The minimum amount of time an object may sit idle in the pool before it is eligible + for eviction by the idle object evictor (if any). Default is 1000 * 60 * 30. + + + + + + + The minimum amount of time an object may sit idle in the pool before it is eligible for + eviction by the idle object evictor, with the extra condition that at least minimum number + of object instances per key remain in the pool. This settings is overridden by min-evictable-time-millis if + it is set to a positive value. Default is -1. + + + + + + + The name of the eviction policy implementation that is used by this pool. The Pool will + attempt to load the class using the thread context class loader. If that fails, the Pool + will attempt to load the class using the class loader that loaded this class. Default is + org.apache.commons.pool2.impl.DefaultEvictionPolicy. + + + + + + + Sets whether or not the pool serves threads waiting to borrow connections fairly. + True means that waiting threads are served as if waiting in a FIFO queue. Default is false. + + + + + + + Sets whether JMX will be enabled with the platform MBean server for the pool. Default + is true. + + + + + + + The value of the JMX name base that will be used as part of the name assigned + to JMX enabled pools. Default is null. + + + + + + + The value of the JMX name prefix that will be used as part of the name assigned + to JMX enabled pools. Default value is pool. + + + + + + + Sets whether the pool has LIFO (last in, first out) behaviour with + respect to idle objects - always returning the most recently used object + from the pool, or as a FIFO (first in, first out) queue, where the pool + always returns the oldest object in the idle object pool. Default is true. + + + + + + + The base dn to use for validation searches. Default is LdapUtils.emptyPath(). + + + + + + + The filter to use for validation queries. Default is (objectclass=*). + + + + + + + Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE; + countLimit: 1; timeLimit: 500; returningAttributes: [objectclass]. + + + + + + + Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE; + countLimit: 1; timeLimit: 500; returningAttributes: [objectclass]. + + + + + + + + + Creates a ContextSource instance to be used to get LdapContexts for communicating with an LDAP server. + + + + + + + + + Defines the settings to use for the Spring LDAP connection pooling support. + + + + + + + + + + + + Defines the settings to use for the Spring LDAP connection pooling support based on commons-pool2 library. + + + + + + + + + + + + + + + + + A bean identifier, used for referring to the bean elsewhere in the context. + Default is "ldapTemplate". + + + + + + + Id of the ContextSource instance to use. Default is "contextSource". + + + + + + + The default count limit for searches. Default is 0 (no limit). + + + + + + + The default time limit for searches. Default is 0 (no limit). + + + + + + + The default search scope for searches. Default is SUBTREE. + + + + + + + + + + + + + + Specifies whether NameNotFoundException should be ignored in searches. Setting this + attribute to true will cause errors caused by invalid search base to be silently swallowed. + Default is false. + + + + + + + Specifies whether PartialResultException should be ignored in searches. Some LDAP servers + have problems with referrals; these should normally be followed automatically, but if this + doesn't work it will manifest itself with a PartialResultException. Setting this attribute + to true presents a work-around to this problem. Default is false. + + + + + + + Id of the ObjectDirectoryMapper instance to use. Default is a default-configured DefaultObjectDirectoryMapper. + + + + + + + + + Creates an LdapTemplate instance. + + + + + + + + + + + + Id of this instance. Default is "transactionManager". + + + + + + + Id of the ContextSource instance to use. "contextSource". + + + + + + + Id of the DataSource instance to use. + + + + + + + Id of the Hibernate SessionFactory instance to use. + + + + + + + + + Creates an ContextSourceTransactionManager. If data-source-ref or session-factory-ref is specified, + a DataSourceAndContextSourceTransactionManager/HibernateAndContextSourceTransactionManager will be + created. + + + + + + + + The default (simplistic) TempEntryRenamingStrategy. Please note that this + strategy will not work for more advanced scenarios. See reference documentation + for details. + + + + + + + The default suffix that will be added to modified entries. + Default is "_temp". + + + + + + + + + TempEntryRenamingStrategy that moves the entry to a different subtree than + the original entry. + + + + + + + The subtree base where changed entries should be moved. + + + + + + + + + + + + + + + + + + The reference to an LdapTemplate. Will default to 'ldapTemplate'. + + + + + + + + diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/test/java/core/CoreClassTest.java b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/test/java/core/CoreClassTest.java new file mode 100644 index 0000000..629721c --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/test/java/core/CoreClassTest.java @@ -0,0 +1,12 @@ +package core; + +import org.junit.jupiter.api.Test; + +public class CoreClassTest { + + @Test + public void test() { + new CoreClass().run(); + } + +} diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/test/java/core/HasOptionalTest.java b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/test/java/core/HasOptionalTest.java new file mode 100644 index 0000000..ce8dcc1 --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-core/src/test/java/core/HasOptionalTest.java @@ -0,0 +1,12 @@ +package core; + +import org.junit.jupiter.api.Test; + +public class HasOptionalTest { + + @Test + public void test() { + HasOptional.doStuffWithOptionalDependency(); + } + +} diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/sgbcs-docs.gradle b/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/sgbcs-docs.gradle new file mode 100644 index 0000000..88d6626 --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/sgbcs-docs.gradle @@ -0,0 +1,4 @@ +apply plugin: 'java' +apply plugin: 'io.spring.convention.docs' + +version = "1.0.0.BUILD-SNAPSHOT" diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/docinfo.html b/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/docinfo.html new file mode 100644 index 0000000..f399886 --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/docinfo.html @@ -0,0 +1 @@ + diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/images/sunset.jpg b/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/images/sunset.jpg new file mode 100644 index 0000000000000000000000000000000000000000..48c9129b301398f736bf7714dc8c425904b2ef49 GIT binary patch literal 122404 zcmeFYcT`i`wm2Mm6$mvbH3Wgso66UKEhtOK1T?kxuBnsDLQao6-@% zf>NZZNK>hP@tk|kx%a&LzBld|@AuzZ1CqIB-*e49SJv8V|9tiHJ%A3bsiO%Xz&9ZR zApqd#3Zb%&n%XTRgrTO6o(7%(01%3)sHztaB49wpM-*B{SyhX0pvMEM~B z00J>QeEY7yHy%$=fQK0!ZvO^1|AKu@5o&n+03N1s{vDqC1v~r>ul<63@fU&TIsC=% z{2NS2{tI^a9cKFl`=bJX*#)S1c?bErI=lFDNr;Jwaj7_ZIiR>qg8ckZ9)4Upo=7iW zZ!ceaf0QGh_jmt(NdbVrGyaMgzqqWdjKFW$|HY4A1LNP~OThg6FWg^-kO97T z{?Q{Klmr0&r~Y3$3P1pWVFds{eD)VkDg^*2!RHEX_FuTG;s5}hC;;%Z;O7V0Gz)zr zfSjnPr=N)ZuTY5~y*xw%?Y%|CMZ`n_3QB?A_Q=~Pe=Y}h|c)t^hv%NNBZDIyJ4q~zk_Qt)+jl0&F#{zDhO z2LrqK`+MV^zI*qs$X!VhFJEU-{Fup#ib;q{NC@LOg#Cg%{p|yVJ^groSMrA*b$mwp zx_bM&dU^+ev-+xH`gZg(N6MtWnr?bC{;&rh<4g87wJF}XXyO*zty?+2c`+xK4+MhCiC;eSi zFTlgq)637*KS=Q}L;r;QJO2$ASAUe6yQ?>zT|ydv8~$Fb5`!k1Hf zKYvAW5t%>6i36-iV}au`fr54%W2trc-Z5u{1LI=`+w)s#uqsEUq#OE zFTej9nSV$9y9N^%{2h7s--`bi(tjiSYqWml|3Br#KScke{9W?5L^DNsc%$%17~qTg zC(-{x`n&93sr%RU{geE^CI9z2{^9ArRqzMxAJPhHU5!Af6hApPk_Hd|Nlh& z?@IsA$bS^v{|nduh3h|xz<zBPAgrBPAv#r646E|J6uHDJUt( zDSvf-DfuP)OA7x-j+gq4bP^kBFF% zgp>e4Moxhz8vy|X_{b2G<9#3{CLtyuAs_?-h={rA#Z^d*?R`iYz>yiHEnmrcrx_(a z?2$9^s3Lr$m?a%BeKQcXvQ`!;zswboIx?Eqw7ji<_U96Snh0+ZNCX5Z0nX5s zw_-x2j{=Wf9+V`R&>F~$9t}O=AYDkVfm48tXcue=6_g2uhPBB@jcYIxz#SCxY6V9G zZI#tGQ1ak|3L!1!Vk{29A;-dOp3%0@*kQ~-m25n_w<$oje>n9u_qxU9JzqJyVWGOi zo!2%ZJhA9oaHSmeqpc?7GJ{^(XJT+gFF}sthLKUA1OW+}4o>e&c1zF2dr4&m!sybS z4Bq$%qv_Vu2V9X}-F-~MM@c@3+$gOv@*lN#$%l&Ca#n3LGUY;fFA-Z>v9699zT;fq zDHX6=0_iA!g&mCqOj*udbwEYOWmUZShXhRSXu(2Vt=lX$ z$(#rfusm)9%CyPfM^{8wv@Ck(qIlex&fSpgdB}*vS@KppJsr}hX?eCo$N@@nGiU!KrTxj5a%#sT>O zt1_t{{3~ic&}&ls1XO>|I1i|KZl!6wNT8?M#MZ}!EuO_w$oUIj3?+clsh>f`4Vr%aPD1LT^@CT@{+X+ z$>|v0hO+P4SmYa(8$@uof$K)I~>Yf`d49^q6e(a*Q&pWC9L5Qj}PbH-W_bKp+4 zYaQ1a`lRS_+)V(-iqslN)_OGc5jw3BE3M3YmECsC7!(nBqwx{&t3+-e`lukSQTodh z`S+Spc5PyG-My}3fQV}}oQlyW-)7n>kk^taE#qzyf>TU*G(SV&Z2<33$)g#5l{+)S zEYiFpelfMVm*G*)7K>M4s|w-5Y_B97I?C%!>YbVB-)&p>vq;b)rwEQ+MypwKDHfOe zc)Itc+{Q&%ax8|Mj?VlCI&-5FtWb&!nF<6omOog16FOKYJ11wK9va2Rd=#+zlI$-n z2>jTJ3AUp>xuktbDiVidA^p1LS$(<=f+{j(Oy($uJX>&j-s=KmOMT3Lr$mYlr~^rT zXZIs>eypx4;%UKtzk{>EAeWH`Hw(=ZVjV>;( z?8^N{{xIuJ#14@O!50UiMSP*#om#b_1wQY-nVRb_gMmpathTrcXp)jDDd~HI)~v0p z(`BNhSJIKA;vTL9y}hevM=Jyq5GLlC`_1BKhe9kac6#E$PzTBnI_}?7)GMd@uD*Q^ zip!O&@vc=$pP6MtG4C@of(9_t0ti{6S3dzPr88p%n%-w!cI8N5g(UYE`WwW~uYYW+ z;uxr*G3WvMs#sYhL0I_0!%DLxu>5tpX&q`udL%kZGD-=Xd7szNrM;?J_fE+GbKup4 zu7OXu?}z99=+QBfvi*FF)ohBahGrXh4BkRC+p@4XxBfyn(5fsORLEQ2Wx0p-H#b?( zPZ4vX7qU0zm6&wD8JQ$~Z4SqwN|R7^;XO)+7; zldcMoB(~qtH4}z+hL9Rho6LqQ9ZdN&u*AhAn%sjXwOaAUVy*mX-jyKrN0)95GtC!r zUf*tFw#CA8m9w=hNwjCTaQr--6X5g&w{C*Sg zI$PRFn)AVIbsiO~M#=JL(`@3z88p$+Pr$<@CL(e%gSXzP&inm7GBD@1<EV(f-3D+DJP83v2LBFtONyc<0fC@rX<+uQLCur+F+*t7$suIn0@O`?rQobMqZ9G z>cxc7m=olRGh4-RN0yLr;?abZj(S2&A5|uBJTUj`_(9Bd3)$hL6iIYjU!p4egE*;< z86EW_VF*H^QHG}3zqTL;=q#*#`&n#lX+b%hQS-&X>g$W2fZcKu-~^!l>MFl0?zUT0 z`$T=c7!l{-!SI~xmWk=xj)r1gA$k<3!Y>}mEO3Q&CvigZlTuNIEDhLnyVj-bQFF)H0Jw1FJ?W;gSeWp7D8}Y8Ee1vY_);X;}^BejXS{K7w<%nr_PUM0ZS5+7@-98fe z0q2%2W@8ROBbwTL>}N-d{-33Y5 zu8SrsSjm?J&(0N}Y z&oMR}M(sXjx2IwdJy)*o-QC!qp(q=u8+`uuAp$Ls#8UV{=LS3x;yK)1Y_NB;mdU9Gp0U zCCAa#9LsqZPo&mjngeU=i_==`4=@(0 zixz)fJr8)<9eXfR5W-^-*?n96VM^olG@u*4g9#B)rH+Xn|W*kG~;|y)C zlHt|F5Z2Ey-%<^7m2Ho(DO=H;xjN7-p`}5*CS}K#I^1&hv-d~VAvih9LmTE-swbqx}`8n3##j*{CodLJ} zYymHqKz$rC%ekL?*@<>fwx8(_S!-Ozu{vCMLziu>aMR?E!(XG=H&o5(9^hD{MBR*-xTa|HB6e4;&C$YNJ=ySUm4-@)!-x6iAo};7r zLYTIZw?k5$vxp^%G;-EPAu&jO8Pq%Bm->L$@OG|+$x3syVCR)l6CR?kk#VpMExl9O zg#3H$MAxGseJWQi3dFw8sZZ&yvrDakZpZtWWCNO4d@_$+W1bVsKhrCdit>3UP-}LU zAHzj6+}Pzrl;sa*af9m^wVLQf?xES}1D-3_LX0%fCN+&1K9^b~_mH;C(aG&v^B?<~ z&G4e9jL9D;9iNRHrv%a=>m8o-7u3FB45tazx#)?DX@6?;yrv6eSz9%(9TDdsp{*DX zubs9R=Kf5DQ7yF=#Q(CH-9K>y^^So6-6nArK|u`Zpmg!&rUe_-rCp)|VTKn{S(_ha zDN844Cl6-%;X1KqXlv!TPJ{G_8wv(DIdd-Z*Pa;|>5#OIQO&%A6v>nYF>_sE%RLFz zjBv|JRx8Vplz)5_jR z_e$S2f=?JS6!JqlXt-^yDr&XPKd7NOx-O#x`Nge_n1zv4CL?EQ0$I?F*3fXt{aM%h z)kzN!g$72XRx@PJv<-S$$@IqaNqufz(;1=Cpn#UR6yN6xIeW~x5WG@l%a!k+ZcA=y zoBzNmv9s%a#&G%ZPrz#(Gt>9;WxFV&#Hx^Mh$&6VRdkXPOCVQhz)guq{w_5SC37W( zvW#*|gB&v3rdgqe3+IYm8cdWg#64Xq_?pW&1Ypt~lDZ0|k+9ZBK_~CerF?83I`-8r zO87A8^{_COjdG& zd~;N_ZkR;`TfvkiRXQY6d^+8Wl!nw;I%70zC$E}=h<4Ka&iqa1lu)v&Ce>opx~F{v zre7#s*7@DC$#;lXIkB*I6}>j^+$P%vY;;Ubxl1aO67PJoiIt+J!5bI5WC8uuX34W7zEqY85ghAkf}EQJfDCuWt_DkgC}0Z>hj}ODJAopGT86^d(!6$lY?FfEjVHs5 zkH{(&joi6qkEZ4#>t&K+BMZb4%l7JGb98JM%zUylZM=Z0WUJsZBb8{WY=^rmPZxXHP~`V^7ecmh;t(H1BU)p0IZR=C#_fq-Oau-J-GA6H%Hq#74 zg|DfYWh^sGW%tt5bUM+laK(Rr7`aBSmtKdiv7LWfrPQyQqavPvrTTR%Cwu?evW#C@ z*DEh63H8}XzLr}t=b=jD7faM@6BQ2WE1bAut#;K+X+3|tsfzH$R4ak4HF%k?QR%3C zRn3VCf5p?Smr%jrOE5_S6{^e9ADDwKH5xSt&W@xF_TO{fsuPe`VGu6npEUbqIrpV5 zd8afg{9##T_BJGKm+~iojA=srBEDy%23kdny2>Mh7X6l__ViQfoyr~M7QfVM@esmA z&_w9)!^eDXbsS8f&sthWyom{ysH7iZMM`aQ2{3*;CvG!lZl;pxb|F+}m9?VR9vtVO_k9aOb#+doxSovXS>vW9Qf8E8!N|9BbBQ(Ji~!w4x!w@7-U1 zyxHU8&_~LjG8X9~%e3T@FMG3NlqA06Bn2q>oCYQ68=WoPY{nh9KFl-4x3yCiTJf2X zF@}tgY}ka554(Ioz&fmDqP~}r04-F$20N3dDstnkOmWo19cZ6fN~{MYO(~aaE7e9N=h{KiAr+E=BFq zThN(#N<9$FE6ffRf9aRDQNH5iVhYJ*`WT31Io|~Rh@(9^zZ6KEfeeJIOeyC!if5zj z)I_woj*fx2${N*alwqXh5~~MGJmRVMfxXQ8SHqlD>$ORpv4y;7w>wr!0V=akIoBF+ z*z7W^3oEuEHJvf-yIhw}C>7baY7~f@1q-kewQ}yyp5KlK8bSCu zUTSjJJszj`Mu6x-A5Ya+%VCYMbQL#mNk#aOv@HTSCQt9y6fBXJndUgh*6d`EJEI5r zLZefdAorswUI<+0PV3RWQCpL0>ytOOwiYY%ZPvyIXzB>byr=qEFKbVUUfF(YFp_il zwT9}PC$|8m0@o5bD&tucr>Y)H&-dFmK9uN#bjULBX6j0R7XUP8&XM0JK%&t z^Gcoy_SaSM8}$~G2eeI^2yB=bizficA=Inq!Sg8i%zcPvvNNySXQ7U0Kg6)5P{=kl zIb*ECV;(qVS>)}(zG?D{u5y1FZ`Ka0?m>nGZs0lWD}U1u6^yL2rn0kS7!BKL2e`m@g4X^`PmwpHs_+N zh=)#MY1%=GJp_UdK0Er-d_}7()|J^Ifm3byVZcno^q1 zJ-3wx%r>|#Gb9$J{FaGkyG&?DsFlpRiB5U_#0{EjIwS{-zy9S>M#A=8647iPXqyPB z8coDBuf9oZndCZzs|NhF!8l+Y5|P_oABReRe-VFt)-^Lfs!6}t{~8=JQ)2pDO39+u ztK}zPOv+1~D4Ncff+HerE}Y#|7oNZEGH;lVR=;W~ZdL9#eRD}bVC5$u9+JmB+Pl-N zw6&|$uf;f98O3n|(!YtwFVx|tp+Op0D;mFfSHA!iaNC6J52$4|KhjgwYTUb6Qemit z7?2k>L?(B(y4)6^9+S84BvTsS=p!@nbQM6RR|u6}A@TmC7eO1ox>J`aBh;H1vcTCXQWlO(Xs7pi6Z^gR5vQO&E-Y8v;uyV0M%U|*EA-m}}ZZr9Ly zEPNw4uDSuKnVQH{Dxazgs`6`W~+;GhvzgvY&oC6Uu%c-{O% zsFT#p(DPTT3`E&v>(Se=gRKg&Iev7QxMSWSzluce7oE4gk8XD{edytR>f4ywhtQ(t z;OWWZymhOw!o;AWqIcXPmMNqL+8Z}EYj{0TP^jTv<>@^3R>v5tuDX^@YSKj@e$vZ+ zFwbjaeVX$1g`q~pOP&VYr<{@X=gKECp8l>vepAEWd(*AyyMF@2Lj8lXH~Hwz7R9<# zGNl2fE(8vfJ-Nq&WRE6I8%KdvS^hVQ_jfgO9*Et~iP<;|kW`@nfF$i2t6Q|0Em9!qjFHKW%JXEIGKp7ZIj3(N^-4L0*ZgZIs!r%%`>XCF;J&zj2h{3x4G;VUhr3 znE#?#)yF)+LPkaqe^e-wG-Z;Y;dq{l=q6!Tb`5yLW8^LnPQwN zA3QF!%saJHenvKHEIFfh_fs-!0_kIP4TQd-pa30C)R;ILxW8pO$uhAL)XTjl^CNOr zCto^ge$+@5_;97*Dr981bi!A1tD1=_!amV1xt6T)W1T}S70n3(7Qn(~tbeC*Wd27sz3@5rCNcU6lX)V*#_2;mtC)DGsa%w zS7W~)rU7-RhNRLmp}uqO9J8C5eVQkFm2z!#i%Y<@Y=z?G@)n!A23W5kh~5vQBrGU` zh~&bGqvTz5P1rqOuJOq4sfTznHzw=zCbGn=v-< zwrj#h^qym88a5Bp*nB5;rL~3-KB^k6K#py+iui0SltIIrogOB-)3jQS!!hfB@LGcI zT#I>}H7m$LQfZQbAs2jCjBO?YmDgeG2L}XA=f+uST9}YOI(`C@4`(4!mj#(Ccnyd^ zOcJ^`a*P_d$x6fw#}Rt(Bc^y~p&qjZK3BTMHDhhB6Bncog+(8HyUaEy%ct$2N=Z-9 z5_c~YlC8_+fie;o9gI%xQEHksJ=i9^C%}@TPXfjgFDBV>*ShiNGX`tY4{t**eNGEC z2bW;RCZzma7-HAoctvIoO%G4-uS>G6AzArOF564)F<+xASVE+~x23Dwq8ghq+>k6f z+3gv*TjwgxovVqcjhx%Lo4Cb;iz?D;K#xA-5E^DnJKng=HjgP`AgioY1t!^zPY_!- zwv(tqFnN?mm#YWD4KvRD2NL1el1^$z^%Lk%@AK=`c5BGTk+W)&aagRUH7zLShf1w; zCnm{em!h6UViwFs)?<7L@HLDpT=-sd?q&4g+k99Lbx}zMeko@FUi zOEX;i9(`2>Jmn^XF&k#lIyzww)aOY^%(tuW2c;v9FeTxYIP*QmQSh^2Ff%m;J91&Y zl=ZnSb&|X4S7UA>KsJ8!tN1Wrxm_lak|84sh+xCWV4l3cUFi2UF*GIRJw|yuh>m;{ zeY)vXp*l%j7DKltm~`6#R8{9wl3sZ4{=RG1%Dte3W6oo7_SGdCw- z>0(${SqPDFFr{8?!Sz_+HkgxM>1uykXFY#e>vA2dt4?_RdbsRgl04|&#kC(neSuel5lxH1Z0TC#_(%bc%#lWQentT z92=YyEjM`g(Lf~}F_7JhPFGgaI}LxDrI+}@y)L2CEEJfNNRawPEHmgyJw}X8nQx9G zE6jGOJx7#$nYHr)fiq*k!!N;Z4jHDib$Xpt0-QjT3xW;PLJ-SvuzwWg44yIZTZY6MejKen_E{CoII>mDqlelc>^>0i3mc_?9is&DF9N z&cqvMmezA?GkEH1S*3$_wdLuDF1NyBUW*Ej+1uWsd+j1`zS}p{WY@aY)|Q%VC)JWQ za{*xOb1B91krCnwD^J_J&dcm~vP{VU3f!ShQ$oGyk1nqcp4ovoCtq!x9d2KJK}2x| zZb7(?^+n$O63zU1R+kgtSd)YT^>S5Dv+&SOMH6IO@YWfrTUNgjn>5cx5M7DR+TS}f z+@Bic*6tG}$!m{VczJ~bsM_^D8xi_3IFb5Eh>bJnPIYZAUuz_i`Vy|9j%~(T4c6mt zvcGR@)s;s|5d>KyIO{2@WogxUOz`${4NMR&&#PYekqY5Cw#3>urw}lgC%jk9tBBH+ z`!)r=M#)?>h?ZBG4Qj>8^`|IkT0gq0v4hmb=LOUmhHHXFA5&N-}O@<}HFR<`GL zb5@q&nSC7B!#CA4T2`4?)M?b%(!*cd)|KW@Bos}&&RYAB|Ki=W;`_2kW<$wLrV{1+ zJV_CNbEVg6i}RW3jZ<+CKR&N4z^X=uhwzBh;L57f8>BT9;`27yI1O`pw%)aG)me5$ zlONB$&EqCXFVR*!9*T4;>CmATA%0^KLer5cqr_9|da7w*Oty9TggsFP$M~2n;i<7h z*EKZl6RcP4Q)xC8uftgc-^yuvY$y$2b~wbD#dYg~S$m!MUgxe-?&U{VQ%P}5jcNIJ zH4eq*YnNHA>}6}E*0uWB$fy-#g3~Ia6>I8=Wi`~$ox&4))BGQUs)o;WYo6^NM1&Q; zl#;Zx$BCcR*SK-s%kodXhE-woQ*IS_h6q(G&Uu(Bn533#d=nyUem!}8%*`8G}t}{f^w) zOz3Gf#5rvbzXqIzpvz{8UHDl7xo>o?r`L8DL{;-BF)v*uK6XY+=RiLzF}6SjiztxTT>c` z^{*pr_FP>^ZqmaXBZ3|Xr^~YOAMOh7o(0d67kGb(*+5h^aLLBr&aIG;Xpc{yT(R@J zSh}M(DE5}g3>?VjU6HFID|OTSGu)pMy{t&rbM5^@5o)QgO4s@YWF77u&Z=Tu@5*ZEy{I!t-_(AZ zp3xyneNony0R1pBS=DlQ(W7q_aZ_e|6~GdS zF%!b&u4+#aYT3|MR(_Iim|hOK~{ zri4{oned?Y8%-vI@`!$ZE4vt@ypu|p75{m_`F)s0RZr*Jc>s4y$+bNUHJ zeyFR4F9dF8!CHzxR8yTrPL}&>#2tUKV0sGuph7eWq@iB%yg%;reKw3;Jt>;n6j+)+ zkPMxAwb;fet}Aj~<4Tl{UJskd+oNKHRFL0PT{QXJjJ~ETn5nJ^t0&|f)5(q`4$F_i zT0AwD;+BcFcxH}cqL(0C96q;PQ<-P7`uZ*N3VVi-o(vPVz@Ei>3CfwST}ZC9!g@hw zQ&IO)w*A^2JM!l{?tb9*%4@^!_gE@J0MqS>jK?0GOhJc2Sg>w_SF0bkpvfwA+bKoPC=SGoW0XPr;I?@v+1X z|M)hpo%$VXj#&DD^0g?JG+v?wz6NiBlodA}qjuGi)~MAFyWQWU`kbB`)nFC}DXOUi z*+fDECfd|E=pU&&r6O=~4q8oN_-9*wbgU}Gb)AW>9~y|LcLWqLWf z@;_SbG3o-o>8f-z80_skq4=gsc8)h))R`S;)010o)*=W7#c;u^#G7sy={RFq3k$aQ zQXbMmd4<&FvI0f%^I=`o#}r1wmyBOFT0Oo&Hl9V>Ak{iQ%zuMF9H`Mt#?fQ#FU2a6 z9r<9DX3lKf^nKe3vD-~u-&dBueST@aSE3X{Hs1a{mL1JpMhL#6$#&MZxzg z`T~Ppu(g&jQ7+lYmn9WHGI=Ne?IL(i@4lkV!SVOuNr=geVMxR~sV{QM$%X8#N>S)h z)0RiOOs}FO_rDP>^sJU$t+hY>7Lxy!B1?k)vgH85HhT5qw#92)x9i)iT*I}Tq0$t&w>?t3&q8FYxLZ~ z)NfW?L$aU!xSjU#Ywjwe7e*)(Onf4%@zl=A(e&0vjcVW5qG=p9Ia@|H%=R;7if;O+ zT1!oD+Wn(*sS{I`BnAN}HBmxiY?+9y1i_|Uy7FAn%Y@NS_mfo;8)jSU1czmZf{4xx zd&2dh`RSjtZcZ+4^LyJ0z~qk|%d=z;`RacHit^$8@1RcFE{&L^JFK^AzRB@J`krLH z8K$*pib#vziMn?o$Aujtdr9KxAX8_l-HX~?P%K`s!tAoazus5bzPFaOGcXUYL7(w0 z9B@u*KhMf$ap|gTLI{0kzxpNtI7jMJlqNC}*0t|S)eXF9FF-v+Bz!2e%%+jKCMPFe z1+ik%oI%MlN0;rWZnN6wSvG4Lj<5d&G(E)9Gi4-mw^snO7_u&Jqz2(MayV(L_IPF$ zyG+@*a2iSP?5WJd&Q_o~m}P?G=LeP%eBVRUsvi1tMLdu>iq5Oe!oJweqD*~~WolBt z*VB)+B{2)LIrnE8a}p-aFhdG)S^!}hj{FYTW;kn5(5*v;TtTK) zS4!R7GN@Pz1pGGrMvBMDE(eJ?V0@c7-i3YFKqBVR)0)kFSDG!pg>~hc)9sOjEwqA^ zle)|#Kr@Ej*TafqT&jy3jk1=+gs7fPJ=l=xafgtKOf+NXBp#+vbS~DZ6aXb zUR_u$#Jm?KB2+R0SD1T7ep(Bae%B&9BrB1~9OXSlZwifCp0q^_`AF#)Q>)urX<7TF zq-`}i1j?bRQKSM~2-9N+$>L%yT|En@!1l_l?vZ$=%E~MNs0JUblS*z^k-bU=Ub+_r zdi+RWbnaK!j`zqgs5E0h3RKE?ed1;gBG6*wI;PSK^ovL2H^mCX4@D+itSo)KCVbrM_h@ z`coCz(NxV&c1o(X{n(52)OrD>@EGHRo%gvlmX1nd0glua$?L2?0Y72{qMBGRyJJ$7 zO*ki2F&z8C*Q&WRO)DyNw08#-I(W2FMmpPPQePVRh8kVm)5rL4r0be8~GbC z%5JQoL1;ftuwpQ~?I@fS)4NPFUG|o=;>jH%-m*vLrfMu1;5L3C#tVit>!P&v zTBfTZB?b=HTIY3sm0rIqkN3YsK7w@;9k>Njzv5Ye`N(|dSk9ftPTrS(tWmD?2%=4V z^A=fZdv#RVB6iafz^bHf>sN#Mtd|@!5dg_XQrDy-@=lb?lFRuic@zfhhd4P@H2_@ zR$?xrc_wjX9wZWK$I~S`*uHtO2MLfIG>{D;E*Jd?NT9uCa4r?A;r>ac0#~>fq|sWV z-j_H|cou5e?ZI$`+B8#`)s@#$i8|7k;&8>njlZb~x9a|cEAx)VWpiF+h}DDQ0JL%Gt(8j`MIkO ziSX~)YoLt-_Hb z)7a*HLl!xI#b&ORu4N3Ccy!{{-=sqWjxc(z+FZ-6{}`f%PC#aI)XRD8H24eer#7mP zWFzS>`UouQ4NTACA5EGJa5))2*3$lj8K3-q`|ByP?PxCYK^cUA^!;lFA9EMwtfK<| z0OqUHkme|Ft3erZ6D(~{(-Hp6D@&?Sf?H)2V=PbJ4g6d#%tTv2gA@b43liSpQ0a39 zh<)PxHrG`)$;M!{q?)Zdm54P(Jo)~0pYy~uK(|dzpc=5kI*?u=Y+YvfShYGPf=r`F z?PW=lWK2uE*@HMPxQff}txH5YJQ^D7&$NPM_J0DVwmIuwE|}yByiORfWd1$`&@%Cg zctIXf$JrMY{1dQjeJVh@$Nd1|p0T^myqVLgAerr4x7w0zb#-h@3#5mw-%buhXRM0%PK8H2@kL^aPiR zjSq*)@)O;kwX^#(T`2_Dt2r&Y<4;k#y)>dgi#idcCzdPX!3rpn z+~r&I*$(w-B#9)E(6RFZDwr6+JK3U6MV$}uCx)wtdl|TOTT4=;rNoEC8GIEBw1Uq4 z%c__JWy16&5IKZgHL0=%Lv%uRt7NU=FntDXP?@A7uSS{1gFZ4XMSOM(b@d&$v$+pE zC_ltN9ncaOPM^&H--=kR(Tb9B9{d;g9zqY{`>bM13)tzgP| zDC!0Jx&RY>Jy9h^68}0^7iNRi>>FoM%+(r#I3t5f>;5H{H{ds>nTXtV>XgflB4Tgw}}xT_2RCsGB=8`AX)ukIF%wU7s*XSLCR3^+Jr@_LWh{GLs>Akrp6o<#dVG$Kf0AZH>;Vs z6d3ibwSU~JKYE9um$%l4eZTR(xV@y?=(Z}VD~+x9 zIAxh1t4q?Y@e$fj906c5ZPPsoMp_r@FWHA@85H%j?pzv?|E_5tURoQcy%wiq#ib*_ zb+kJxm$X*FJrTmyT6a|_BAK9PhUCVrnIzEG=VvDJJ{cV}Se0qm=~3;LynKDGnb>2i z)3TE`FII^t2!K7MU4ECTqUXt=&H>IUht;8k@TTIcZ#xTyWmtqf#6m;ibCt2!QEqa< zc|!RuL0n{=X=18mW>F}T$51D~5M0@qZ+Ch!sNFOP*mrZq)YAFJ#;GD-aUL$@a6`?x ztYr0VB&@{fs8B2n?P3^V~^@HqQifK$sU4?&p$W31{t37Q>6)Uxsl7-k5ao|ChbYWQ(2!Z|8ktXP8a;m! zE%gy>Vhm{&)VV@IFpMm(K5yW&;95++%?R62vLW!_GN!!O@B1yPA}Z}| z0&i`cEwBbfw6Johq;RtBszSIOSz99brD{TM+!!oiY5CFJj@fVeWql@^t4aq zhbsBVxQ0o<>1-%^liERkpNMB0#KD_>)+t|ued*Q321eMS2njJAJMAIyg9|e4>YDo& zk5mz6DcmLQhc6I&Wv$ult9syjL@ov%B0LUY+~HUdjja9Vm>k(o;bp5gez6~Q9bSad z349(~@6;Jiv)QRFP>HO}1^O|rAzU}HUi-j5v5YPCymXfR?Tj<~l*Gr5B^M|>A|kJTf%Kc<9Obz`N1 z!s*UNH@81i7}0ofa@?1&N(4wTMd$PNRZJBGyuu%*ZFH>q?0gBHsYFzAb2$d6j#1@V zBSP{TbU=A=OBCN+$3bQ!_Bcm(g`n>fp#g)Yibjqm576wX3FmJe{RhH|&-vic5~k(} zp-gzG;N_>EZbm`xsI84OYFS)*C5K+D)dBUBJLIb}Up6LA-R$OPpN8H@zx0yUSxH#* z+fY!jT5+vvM85l7(Brj!Vwr4ZzgMVTGloj~M`ZZj_eusxKA~eVO&16hJ9pnp0A~~1EkyAxOxNDqi6%?5qFYiN@HxL+U}?)R>SNs zHU40*41HiUddW&*U1lxf{QBuual3wv4!rD%Y5QwM2WKwDZpHLE%dpfgFS*yoQeZ^*|>Off^zVA?xKJ9wwDe?CC#51hcMbJ zmrUBW)*wfIN+6q3%(_&R*xQH0{0?BD=A_=dJ+RE`yTYAyiPq6e%3DLh z!^bX|hZ$F8O`7S_S7oL@-@J%h)fbi?;x8)@?YqbW932;0>ej%c2dS5sAnC-u_iN)+ zj2P8<&4k#RWxsv@emDnp{s4%0-&^h4m(&j4rBr%1###r7T}yn^JnjsdiiImX#gVY` z(TNfYdW}JIqBRWe5yu^IJngA!Ou1@h^PI3Uqz^>CBfWn&OD{WPsQ;;(@0eC6XJutO z?|to?=ma z%z6@VvQy@;KL)O$H`Q?nTw-<;&Pq72gaCwih&y z16t=HwLcr)P=k++U}O(_J>$cLRotxV?ehdM_i-u}O_ILEvA4`t#C%dH-AkU4d+P1$ z2)jrd-iwkp!!WEP6W5*;-q0&I?zo;jdJ{!BcrD?!XFGk3MU89e_YqdPC|4)Q2E+aK zHGX>vLNdYEZ=xX+5}NlmL!QXZg8k>vrHW;R8t;f6F#3*i|5#>URa&oFH-kc*jdUR& zk|d3|LP9{l-lmcAK~!~LZ73qO9ON-bp5g^4o^OW+vCwhD$z9TOEs33!L&+8nCzA5B zm9H9?_UA^Au&+YGf)fh#v`wf75K?FhBoSXvV@D@8jY7y_f5wa-kX9M|$yp6b+!?2A z?M>N5+)@f~Ocf6qpRNAQXW4DdEs2X& z>EuydXljnG1w?6qk1L{WOfZPs03^Zb?H9fEdG~lT%ISyo$PCXWGnw$K??)Gpr-NUA ziKw(pptbD3W>{@ITs3Yj$Q%`*#m&SaW)W|{vpB4_KWF-A>?-6ziDNTHEQ#Vcc2}u* z(im|h{-r+oD%qUz+>2Ngw;%d6qx8I#VvL60sdfk&Ivz)5pSHeJQd>H}Y(u~zKL3GY ziOc-#X)ue`aX;9AEp{a?W&ZH$R#oi7E z&lXnbkC6wxLZu4E6p;+<>V$PhSyw0*B~-9+r;esf=OYLCV?|AB(PkiTg_p7=%wQHD zan3G9a;uJI0-?lSzFT$Pyq&0=&EiYw`o)1DM`fVx06y82>Z*NmMp37s*=taBX%?==rmC39K{E-EWr!IJHI~{N zQed%-_Q%)~zq~*ejFPHqm7Z3arJ|7J7a8K(4K~tog?A8Y{fXMgEy3Xm^HazwOwi1d zyAH^2QLCAINdR6m3)nO9+CF$HSdj8G@kxM4Zh;ykjiiu!Hi6Xa6|F4K629N7kydDV z#JJB#8fW#)w`E=tS4C&DroceA`_(l>smYp5dbt|%tB_1}J1S~MWyDu#s4iY?r3`a{ z>~Wv2o|jO77znDHOtM^<0apclC>AM6T=GyxbNcA2n1Oe^3R-5UU>QQiWVNxGBnVMLk4H@lIoq z^n3Kz4NckLvbKL@twQjt`(V@5yx({Z82Xdx^!jRDYF_XoO1A9B)9$e-G0gZtzX%uv zkCt>!xiJ$-Fqa|*CHgj2DNz1r{VYhx`DalzAa-EGXA^iM7UqeSF;nID*eozlwt%_H zxe)Rx5Fb#D`21x8LOEQdCaH7=hR$<@MJRv6zW7OUf?>^|JxVSTU>e%hfMjV4p2+!XE1JUbDOApEV5p#}MG6@R z0FO?{#+5Yz;?XpU0ib;HPJb6L0qY+6Jhg|sB|cJ;4sk5i!Q)tjYE+C8NBL;MH+U4u z#|TSAYx}k)5WI->8i`|^bqXLlV&ywCfIt}c82>%fyM$jI|mLI;rKK|N)tRf1U07aq%wo4b9VcOX&6@5?%9(vfABn2Wn0*eUHyl`(xfZt(s6k5gE2I9Izt<=Ollw zhxV&M5kYs3W3oG(IXLg%{In(3>LHn19rM;CmdhMX86ddz#)0;=s2jtds*r{z@yVfx zLUWZl_`N@lbTrhgDWJ=tK|`46C=@RmXvxo@_dlMBn!+xl3!Ru1*_N2DcKu|oKuodh z_0ZA(09_ypm{jyyX*L&*hiug&@$#4+`^KVn+Bd|HMJ9s8M|axw!3&yyhuD#i>)%{P z+>}c^6@3z(&xRmfs#ZRABq`1U^fRbT+gD`4>G~=_#WDr84J{r^Mvg)B`Rj(MYdOFM z&X+4N@G7lDv$DpZ{J_Wn{Iw)0liG;RNh`39wKOpZlyMI+Uj6v!Nt|&uf)2V=;by!5 zsi2ud0tg47eg6Qj_R*12EvzD{1q|&A^ID}Ya0x#68Ph4R4VS+NL3ny4r zq*nlCTplg?9a;m3ZjY5Rkf6caz{9Fn!&ItcMy8!q=Pl|r#4RYY%ZMb|Ynn02OF@*H zm8q1;C5ZWHvmD;&mTjkKG3`_@UWzp zj3A5a4|bcaNU4e$j7VDL21;2FvgP>n8}j+; zine!J){TzLq!i$isDeu!zTmIrM}z3$y>&@ZK{fFpf+JBuwkg{Lz(IsN*305q;7H>i z;yPAeT0ZcL3BpMof-RgYrrVa2kP?94=kT2s<`V5_2t_yy?s-HKMOvqUs8(F#j&O1G z{=3nH#?BX1f^3#PP`h+_L3rk;aOCveAIxV@)7MK&N^1ZTHZ(!apL&^e81aFuWF|#PESV`4lphvg?+xMk#iw0 z$1HwlI%=A+1UNBSU$Um9MZ_o9TPh^PZg8L;$@D)h5nDkC2GA*63S!Q13R()PXH=1} zxyWL<{u&Cl<*gP2q8AvVkL>wW=eEyT3ykVg_Uc4JXG7LYG(|Os|eF zf8c9UodwP(FGJ_iO+Zdv&NIX@PKIiJc!( zixkBbu-%Aa8e%h?9O$2~QLF(y5t>0@UOxSqa)bV2N&p>@r@a|FX)61s0=|mONbRO3 zhAP;dM>a*ydLFv!wt!G#W0LkdkZvJ?7OFwpGXgQ3od{M8j54j5NpTm_8ksQBHz0DP zXZreU$=VnTN0+ip+lV1Y9F)t-K_ke0f$6_L^C#MG{WM8i zRR+*G{Ty2bXAmVN%`*662g|K_TTvV0NZ2!2+AmO=CjI=O7>>#GKH41Jsz7#zX}UgzDV>Zs!?vxWoasv zte%dc2MTUtDE8{AjJqRarO40znuN`yg$wz^GPV@NoKF;|*{Z|MmPS>_EPMX|4J>xa zNy3JXoi@>}05GJGl5vF|zxUD;IzuSi6kOAEDsocc5XD8Y>ZgsGN`Jcm z2gJ*ga(}N+ma6J{O)V#~UNkfv1Dh~9(}lO*B%i~onDWFhUd~ATT3H<}LZSJe4yGjA zC?2~?vYu4q&7=1j(bc!*tX=?~h)zQ75zk?+5=b7C;A{^Nw%FpEJCqRap|Zd zZ>M}seG-`F)`9YE896UDW%uGnJ+(jAV7q4lUquNlsIg6GFanW6c@vLL!2I;I+WcLj zZ4XlHuBl^8S)CdIC6w~%TvoQ7)WIF z80-V@`s(goa0zo6Y1<@~GGTV7W>v`L*!gh|^4~9>ot3tb*mE&eJEF4*#B3rcHk}$I zW#?W^gU23&=lu26?MaukLPo%l0K{N@!kXJ|mFc2rW|dn7y>b5foT;-G9Jq+pOOq*B z6MitYaf+Ftnd4v>9I+oSkkb-YutUXdM7e57A`q&oWLk+eUDha~X-# zfKg!a>S`!!<6kzOc)~HuDQ{n>`Dw4U7kuOA2-)DIg1|#n72uL*uJRz~~V2;+o1 zl1Ugi&+yU}8(j?QW{ZkGj7>e1JLbfCKsha9NnS%6s{xR#xFCDuUHe?31`;nE{aI3l zD6J;Y&2OcmSmO-LvfvbT^glv9w79FoWmrS%+4$LLVs}HWBPD6$Q4&0g00bWY0D;m| zYp~oG5o<}ZvDrz&b+w_!inv?EQHsf_6duD2kI)}YRn6PX3UK@NjU_ikz*<$-G2r4D z1$w-omoiKT{KOnfkFU0!0I4qfvxJH6@vOlTDOUpomgiZ z56|CAPTDembi7$oY^tC6nrLFVs-UO{7D`BG^IyA15 zrD=ABsyY(6Q!IO}6>F@naLK zL3!H&L&c6>{U1U!HSH3EjRw$pTNx`)RR%jRFOUg3+?QCI3x1YKdkB9$+(4v!mDg4NMbW@ zII%;ru9C#X%fjGIRhAMeqYzFn@38}b1_>p;q=f*NOKa? z?5eN{{hd$`wh)8*6RAw;Jh!s^;u1OuFb}wVKCxxC(^Ihf)D_gHKMx_F9)gIh+4CwZgB(4-{Bln?dqW!cBk_Y z4&Q)a2h_ByV9tVqKcqIMt&39e;;iWZRrcL79IwAA6FI)MnuL#SYQgYZd`O^AXyGE>X7_=X7lJSO&qz@fg*C+7j^P6-e0? z1$o0|wmYOQ47C(BXCSUv$`TO@Jaa6niqJUDTkca-o9i)4Wx2Q8M!QvfM(S zQV+}5(^M4|GJtdw8yX54lCqhJ9+1Ty6|P6;Q9U&*XAAJSW1pEit@~WUED0hng$$5! zD1?YGi)e}_XzujV6(L&+53VpVq$f+7tk6I|D7mMora)md5hIy+PQA15jQB5>*5>Tq(vfv+IZu-?9 z*+*DZw*+SzkGB&fOO`-sveM&6xtk(5)+=*=q$fak+^=LDhJRJ61vNu6Zo;UEQuSf6bLdvR-+$={(7)YQq&C5m6|H1(aV;xAy+qZxO=n= zn%zT8c}F~RO88Vk-aR`%kkg2)T7wY7d{@n&lP=)7I(>Vfc!HFdbod=x2a@za9pmOS z*IuEXu##jU$xVpg=Mc5XJu<|U&kVyQ9Iii5K40&t{hzkvxPYp+v4ka#{{VVIr0rGr ziCUqaL|{g7?TuYY!-NE98G4?#87nRfLj$wEAOV{ol6?kr%)*czSwi&q)TTwucdxpb zm17K{m+R^Nno^#WD87*8X3;1Ox&p;^R&4#?l6{o={D9M{qimwGUev^HsEVrh5{DjS zWQ8n3_4;d)=tGG0M%d7p&g!=XWRkSFWT#QbuW{c)S`<(qC9^S&owjEwPm)Abs@$_w z!7Ng_RX7|$&H(=azNadM2~aRO`)zX&P^^nWy~6b~23lt0(956ey;w-4AH5V+TTK4v zj4I0VyO7e3ILRdH$uiP1iW!qsNplqHB$<#y67Wv@$MuawOAhBa^vTO30&F(fQe;c&Lpk zC|K&GIRFyb0DgZzq11lZqM{aCx)~cbT2Ks>6>?C6ut!L$B}xHON$nVC+tg_#RTm(Z zOrA>T5yS8K22>BGq(MuUdkNi=t8z<&cx6;c@z4La-1j8;NXHg$oYS+rm~C#n?lk$&aedC^MF!R%`JUTI2NUdz)-*zWAfBG#+Deg zO(-gyK})`ad{~CfRX_Ys-I);e#I8s`L!_o{aFd1JEh+X1S8N7~bsK(aDuVG#EOH;j z3bqL&)O|J7ZNRj#jxVDfQt<}|z6Gr%%5wEBUv^1Vh-S_S821_eT5t7)pc#_TigrZh zD;ZLsDEVrxvDQmR1yyZoa}B}d!6*L!3HJBs>JuhPD8@h>S`8@^lQhaoii3+1-VkEd zd!;oM6xWK{gn{y&WSDO!%Gxr5)QY7RI-9qAHOFPP zQ<|+ANSPdbdF@Q!B-kU=X6F~?DV%}c)LoGbk`j_WnyT<&bC>4;e5)?2UW=WV{l3=-P zn@8>uR$FV+*R+d04OK}5xr$Ukp!M!XF_Dcjir~3HEI{Js6rHn5CgKVOTCoG$Kw6qb zqLx|`O>7^Ced1%tW8Fw@mpym&)r^|6Fa?gu;62_ds%ZM98DDukPoo^4d|RodS|t+Q zE2!m!DyaYhBRCl&=l+_6ndN1rB!d&ErxJtDP-gJ=`9%ure$@#al$8`xw0{JM-8WtJ z>^l7P-924fkg#tE*3j(s#VtbFz=>nC8LO#cF}z6!n8Vbgjz0+_qv}u3*H&`p&%%|Q z-`R?p(y4;hgs}iWBWpO%Sc0=^wP2^Krj8k%P$vd%Ds#}{PC7XC_R;C~&IdxvLbY8S z>l$RR3kQs~t4d)dD1%Rz_D5vG3)?V>tHjzg<{K+XY~!-+Wb6^mt29Q(S`V zeIe40)3)t!txejzJVYsw0y#c<0ebbx{Pj;dwyJ8d%1!i*B{c;FIx*C)+VAf6@ZCdV zuw5aRD=o}Z6_H~_TnBUN4<5(Q^Tw(s?HZ{n26|rI(V?c&{6AN!pvJElm-fTH{&)|=tX&abUZ-p?Ij3cta-taViH2ug%m43W4b z^IuQllZ|RAdV46KrB-ox!`A#JoSCUoZUJ%11V`b0Y+rVyA_c3FrEEw>4n0U7fcL8d z(`5X}nJq@m-cNpzyH~gFu~aOT*94)75ETYaixPV|KQGtcR+wN>B;DS^;za#TWBZT|N|-M-sTH1nlZ z!b!Zg49U!3Fdpam>WXc8k^xFt<6BL#P^A#HyIr49Efy*6w3Oh~MRk%H70hv-BM5W; z`W*U2F2xS_gHu<_mNBMj3|LrNEp7|C%}gnzxg((Xl~jc%-z0rbPLZLYWfcVTi*2p7 zLXp*(kGoDVs5jNl+etJr$|a#Bs*Ze%HZzm?e7>4~X2F#)c+HjUMKr#b)Jc|Qq`Eol z9clbct~4|>@R+GyJgls^9Mp`F`JFF2qVoF1DR&w}G~GU%)FlaEMs2v>DZ%14=eTw_ zB|Sewkj@9Euckh}`YQT0NPya^11qOHLT&O&VWoG)#sLafT;pa(1O<=bRwF%=(fQ-& zja7c3mRzAed}Ba5TRi|KYQ>A?1Soek70M|on7vVE46e`850f^1I?yL<#mYE^o86)M zUA-=POtad2j_z>dYkj**(!9k zs@B+nXEG5O;g%>4ItS<3*Q8QU>r>X;K`OSDA(F15#G6{}5LxLdYa@zFizgy8@i(vJ zKTqZK(Q7Lff<(AmX3dQjwM{+dwnzf^;$N})BpjzUXG5*nq1fj zOTAlZEph(Kd1X@`hvZ4Roci#TWV~%RKd}5efdUzakWZfQ6P~^j!b*W z?^pD-z!Fm!>fM&2mO8@3b{eB85Ju_qBiB}kYN4FP5_TH#GDJ^Nw%!54NZC5?KkcBS zYXfl&&FJY(lp${6W{oBC*-PMdN1#7FSyR^%9oi{s_Cf-fhlM+ZpnAsx1wTw=YR*ky z7Ez4-X3Q_y7KJ%2Q#c?JTiHPL)v9X1jP%W#wLC@p5=>yD=h)++t}AFZMmUX(!z;%@ zWf8t6C(}6t_0ay<;gba$ARw}{ffY1B%G_agA2aW!CCqW0Cpw%3Fpqyjw4{&#BPgfX zl5?y&>t_Ar5@P;N%%*%Z08A5)XH5_+BabKLpX7C0HgxabC8I}AOG@9f34ad=yZzmo zIimrihA@8-PS^P9F4B@tv1$~VYe*k=hLI$+k^Sjnmb#im&up*^{-+@Rx-}&P&a9~^ zzcUH#4YeT62$?e5*n2V9(ok}TjnXK9$QVBm`uF~tbZpt`1O#83MOoYQa@3Nkrw=EB zCc#4-k@>eveN(XHWa0_`0Pe;+)l%pymXZPpZ9b8sM%dX>W&)|HQ6ceV6-`AYNpvDrQV)K_5Pgn;J8YSWa0nwK_(K%C0TPx_r2+`Jw|9gO8%@?$ zhKZ?EO1U5?=NDtV`+wg-Uq~G;w=E1x=({Tnq66@_iuHRo?(Y#Y)IfZ~$m#F|_x*kQ z)Ft$WQyT;41)0%V#E#Jy&o9m`Nwe-%tYMO-YU#%xE=KfheE$Hiais>@l#b90HHX#F z*{kfSMMpyxn`O%q#UO=VcRWb*3Wo#af3Ht%C^qYo9fUponqUh#=Fq!7!>;?wR8z!Z z1->I2j1!;3lb@Hb{k3H;q>00Xmx`&q6jnTFwH1QHF;RAks;-62nTaR>K7Wi?rrDdSi|+K)RSppp4<(n99Atid{Ip7qzezFH zwCAp|3T}$m$_YfJSZSm`(?PoCrTv`^sw!y8j5EU01^)o34E2Nge!9%gok|zh6~A~K zyW?q3D!oYRLI4~=JjZ-9(d>$P+FE#;&SF0ily`!9?Rq2*{rxptJ8r29CmZg{E~Ip3 zRLNl`TW^ANo*pF)Je-=}03~>HpOYtk;Eu=8`{{YzAuCm%!W*aPq9vr{2RymJi;myf z^g; zkrD|5410#`dUw~hw6ba{F*z)*QIVe}j|XI8PJzMk$}`H!Yhyx*LstZpj2+e}>A@g_ zk^uzg1b2^3X(UulcUUjHpFD(ODkM{sw6y|~<$&=SoV;KP+AhmH4MHmnZp{{Yn9zg0SvzLAokRV%aa zbaHP)(}1NDoo7$P`bQA>Nxf?0RcTm4ABis5;!Zya1Jl3dq8^w~puVvL{5slmK*Vjt z`ZQOY!g{(YwWh1N5TvNea_`WRxgat3>)8I9G`^W3X~cwk+-+zC&xbQ5ObD4X*U8uz zEk4!SR@#_oYVWh%rgEZ4sfbe$Wf&)c_<;u)2RYL6_RU=6m7-Wk8l7*)bU8nxyFNmM zsgp{{X9CRP*=7#lUE#hfWzX+cdU_ZpsilbUD_0_xOaePa&n5i&=;s=(U39XAs$pVx zeNIL%Q?sXalF=vDY_nO$K>t&^)m=g?gMdl*`f(R#}p0#65w53Tw zn1@izg3(c3vMMU32~$W($PnP`$U;?C(zVgY9ZhA*TGnyOHDbq!ErY|qhqLRg9F4g( zX95zya*TyfMk(b0xr@a28R}ZwqH9*`w{7~W_^D+AsUyg!XFOL56b}6feB#{RCQoVeW?QXQYQk5`;`l&MCdNH5L0tx4MiDpx zfCtZhklgN^u9?&(6=7z*uIJ1}WbwY?MHGT5>SUfms!_YZ7{ac7v&jCZMm-0VwFd!* zzerUd6(>qb!bv5#<)kU!d``Phct(iU84xghzDIxIU(@{ccR|sqNs@6h9J{rQ=Gf`o zLh3E_lx8-j+pXFv zGSmr4&v`uIy5CK>D`KRMq6UVVAUFXY3bsA{kGbziPpYSuNl9{e`|^uwItuBjNSc;P za<;9m_*A=Dw;e@f&rw@4!ItCJ0r+xr?dhv(O`}ef0Fijl?JbE~sijLz?Z*j=fLzD{X$jDE`$J~$e&{J0= zjC-M#Z2F)~wr3f@dI}50O-e>S`j7?$w=S6H)crm6V>@U`LR>S&MIOkgT+A$3A7%*F zP~B>3q??@RQ}=v|_IvNImIyi&irGm4CtJfcdoH0%D-H;>MGoJtS0M+5_nM;VSjIE?wdBYK?5H(BQ7#PJ^fCAy{{}d5Zu0w&QK4N!KB;wG^ePh zrKWU=fXHw056}4Oy?a7dAf+3{+`W-h5~LwEF=idNe0LF|`Rv`97-T2pJv6HJl#Jbk zJ1b&Uy8z_*Lv^QOT^opK=T1lBZ2tg|{dG-Qx8(xhyGEmC^g^K7jrE7xEwwaMW}cif zDwB*ac>ac{C+$R);#RS+q}WSLyePAH#1UBQ(pafN%G0^WNAQpI)R(knkXNKaUdfu3 zb$OEq&diYo<8Wm1{@ae(BE=j1gR+es)-W(!NQS2ke9oG?wbp>#aTOE;%@!1{lttCO{q z4YG^HYy>D?<|2b_(o?H5u3Qu7x$ja-MgR=h7|(rY z(CN7q>POy+>b;nWnO&kec2y(OyDT8cMh8S^(^HqX<^^2k9A8DHDFuXPcWs$ed8ITR zXRNQLwDdc10_!n|+FcfyTuUBM0zVHb*+`Nw7!L3~^J~42jOj_;B}uS1hh+39q&XIWH$9yS5*D4gW7i#M^xJTde4Jc74?f6exFHMVxl?A{{U%)I{OHycI5PkPoWGz{$o`0>8fRZ>YI>0k*=cJG&N1z zK|7qM$wDcAb0>5jSc**ha|itOTsFk?0_DdLL|iAL)U#CS4akB%QP6CglxjshQs+IY zoaaiOl3^dTSAV-jiRd6(8A*Nxzc{;3v~H>8kg~?3J*wjxuUAXthYMId;^JS!nu2jl zK~E#{Aj2gt+q%T0D@h{%0Mhu*KAJ{u-=v*j-f?M7(Ji4(_usw02<=s4tq!7DB1awZ zTn0a%ug^=&l_hC(2!2f3nQOx_L%=_jL~IZetVLcAZVDE`{D}3|POeJs3r7BeqFG`b zcR$K3+w9aetlTAyvTy^0NBMeVS-qhyY@p>Q%*L~2)X1OrR6K+g{f9#U&l!41T`)sT(S+sHGEc$}Rr@T~dLGQfZ*%cWZ`)>)jO?lj0?F!RKN$WW%xeCd zq7_pBUtWA8Jyp}1SxPdDfu8v57mAj;fEFEzNar65MJX)5qae`N(Miaef$7_JZt!gm)5RrlX*{ zB`?;ZWZUnwIqfZxW{zJYZ0s8yGUPaFxyv~|{+vgrzJHFX_OD1PR54XlDDn;K8cl`K znn`C39V${k#9a9|tZ5SLE%7gz6m~mRuASeIk}9G*BfR{_(4TK%tjc;vLY~o>RChFL z)vzm-*%H!_cN6ULij`gwUi_ddDmKL}IrxgpFc~B2PkL@gOr&D$Vkdxv=X5G@vdTc> z@UuNNR@#oP3pE9n^-w|b%9UgU1M2zgXBi-4R}$(`R6(4gk*@y$4e?nrRLV4|G{{QT zrcL7J(U?};d{(;EK~+%nw9u-&OsD~cij0H6W4`)5di=W9vYwx1NkK|nn{)AuB~@PD zpD;{W00#$kvat8vXpWo1ZSz=Rxn1kyXru)inp822V;=}VF0gZ>Oz9;Ix0NY38t3nf z3Qt2etk#`SyBF+`-VkC9t3kKgs%xzA(o^|>|;tVYs{ztGJ}`j zXWU`=TLw)TE2vONX3FinKx)m?vaD*b*&e2%HE=@UVHZEW&P(8Bj=H0iNZ!U}e0*WT!0;U;P(OV}cC$fJnYbf?@B$YhQ z(vKe~!fg$;v}#d?S7j+XufX#<#%DFU^LFPf)v!~EL4@FzAYkFYQrZ(L_h{>dJKPFnoM+#OX5nn#jo}< zq^AOqcWU0m6NAGVIcMin6Eeq)`GviGN$C9#u7xwDD+y$r_d`;83nZ=P47a=!p20~K zzFIm;1&Pn%ow%-7ARK40__6t&EiY(HRKT^W+oARBi3yTq%1a&g8i&sCQroufRT9$F zMfVRWd2k|6hC|W#y7tKL+d2(K)Rur!UCcK{u%}EZP{PA2_urMF=y-ioEm4Ylgo1gc z49W2_4uQ$XUHfC@sx@p-R;?FFkCPB}h_TelGEWrE9ucrLsT( zL)$0e@@17wB$aa}1vHg$ymCYLhad))Zb3#cPtasz>y1^<>6FlxISs-uDLx!Z zGXkxM?=hh#gftfFN@bR=nrUW~63C;W^B+#NLV95~YRLfDM!_ErBuSJpC=#O+(0D($ z=~&LmETP{Ffc8Nd&wnfpPNSw(Di~dwJ4x`~i3hA_bC=EvzlYmBIYwxV(}o%+(v%KG zOh+Mypa<9=eIq$jl!sP(;^LJwsGI;Soz1(CtX%t@6V<%1S{it}=qUh`=yW$;7At6J zNR`$VB3p~ZH8!dk=SGKX&Il?Qfj<}NkL&c;Q95Bu8J37nr<4>5WOu=Yq(`P{{{Ugr zdDserpGY&=KV2qNr(m+tW`v}p8I&I`QPLf+O*CxMQPWe@;NeRFlk9aR*R3UiaS@lY zWvwni2b^0Q8j?);Z4e3uU0fWU5B18!IEGWvnM(Vlc9ynJ-$k^g)90Zke|H(VesldF-+AlDFZ6Gz#jel zwDPw3W&^$|W%M*+7?lR!WYk9)9#m}`0fG;%ksDzo=Xkh199mMqS^-sT+Oi#zlZ<5G zF&X|Ea#qturYfiOc4lEVfrn{4NUI$`V0vRc=>Gt$-sHlc+47Ld5Gu26Oo&iZl6%R= zr{|_5*N1n6=j?T)VQa#5$7s(x5Fh{$I>vMPYSN!-1dQ^G{bs;g%Qc~9PY>Chi_&-g zdVBTrYZVIUp?ju11eBS_BpAnMU$Fkfi;*A4p|++QDmxk&$RsS8{Ph{ABeGAw7-~g8 zP{fe_Unm7#MItPcK(0aPfKEsC^wKqx3P1`Ngj?*%ePW40z@xmFPpG1q!>FEo`zOQ* z{yMBxY`DEf%cy+($$^b!xiIAg#-g3QM`cRtzGZzHjv1J5zBDp6KG>Eq$;Ztn@qsg2 zH-t>@O}Hxx1Cj|3{{Ve0GiK4ux)7e@>_wF?NcOaYhHTaU08oGz3XSIxmnCZ3+)8067u! zjsC>x(vYB;%2JQ>B>J<#W$^-5ston;#Va1tqMRcz`gU?ZO=hR;aua~0meeSb8=78{ zC37*QU_bFCkFCdabgAFU{{Ro{+cjbgl3fupeSTvHN+V*Cb1_Npf2>%{=^{;pq^S1~ zn1C&Js;ryuG?AsSgOyV1V;S}L>rMTVQ+0Do@oT~(XwL_&kTCFjdcoDaUF3o{nzoQg zo#sg)&9nG3Omw1Mkzg)ds90sbyP`6P9zlN-X~o9V>llF06io6 z%7$R=B;wK7ACy^*k+mhMlBD6(2XCL&1l{bHdbmkim4;qJ3i4t%{{ZQ4f6M%}2{rOi zte@AsK`ORYOvD097vFB<0cEJ%_PFWVT3FT44~R|KAD+9_(@s&sZOQ~@*2oFOn}*gj zy{CA+)hCftMNqPc`^afBeZ4cRp4Ow1g6KBx5xv+o^(#v)CC7X_Q>Fcb7)?!psT{o6 zI57ERkj@GB^!nkW$4gkEMN&*=$O9xF{^tnw=C^#xRd9adQjjGpo7);$ldu94AEP>e`e z<=GLOozr7WHw4LNn<)EeWTo-G+ftE8Hr+LIoB~WyD<7!jxzDGrt0wd&YDofVPkBCu zEo6K`lAs8ci?{>l1&4~&H5{X$+qUae_~L%_v4&6o09Hry(x2Hto6MS2I6wQM$vrVr zyE5ejo-9AoVJ~;r?hCy$O>*4y^i;$GR9q4$z#sTj4^PWiyCR;RN`RLvll-KgH;OI0 zQBgS$HgH0Jm;vO`=Ns(1W|CPdYCKj7pq@z^$teU6ra(S}*I!K8$*Nj#B9FuY9~;`! zc6_xJuV{AyRro_5)bX!p+2e|qUEx(#2Oyumgsg`j{X~y$v+~j#TcEY`$xx8Tfwz=f z>>rAIE|>{wswxiG41D~aHXA>VJ5=S@9=IzE z$qsU{BRl>P^g0iUTQzCLDyf4#(vo*%Af?;HEA8Gmme0PaKIYAtrKYzC-;OW`C0wtl z`ud#eGqD=V*7J#Y#cZPO{OR8!B6t!axr6^+D+TQO9mA4J^UV-4>_ZgyAWK%j3 zBw*v>S3acYugkq%$fuz}?Nf(4jl3f_RadnphecY5$T+xtK|W9pqK3~EH3U1V{rf_q zVlcBit^iVst=D){?d#U8SQ$ zDk>EZ`L|sG^%_c4!l}U`p*UEWxTruxg)8i8#z^De$}$_y*}2D3@>SB(+o_C!Okn_U z2si>Tek|*2L9}HQ0D@FoyN&dZnQdK*P?eQUNJ?B;uY9ccgBB|7m$pn*GGgk|0C=J@ zGMr?F<&lw)F`;b=ddi;2?6&go&dIIWv<$U&-*6!EFJ}?5+xLZrx`|9yD|Bch4$Uzw zB4_4D>OY5C$4=PO<;?9&Iq8&rDwm}clV!M)oSc($*=jUIjSkd14b^j6d`6>%eafXeqFyn?G;^YX%GTXxg9rW8TZFpj?$4nV00$= zMD{&hB&A`RyJp`g(rCB7)}@7BSyG~93Vs5tdm|WcT;n}!FFT|4N>zoUbxqRx1R>O1 zjo0M_uY31sO0j`(K~ExQ01`>}&JWK@(R6yW6WMYh{j1X*no>J#2>jtO_nnfP%nN#+ zdTAF67fX)1{u;O&5}{4|HX~Tfo|I9c+G~TSq);9tZOUqIyVN7f&`IVAT4Bib?T_-) z1EUoyRwU%BGeW=Hsu^hN*L*hx;6&at+Ty8&>B&^VjDaU=J-@H6o|n*>#Uw8{s-5vd zoJ>hYhFRqhKaKP;!!mj7uFUP+zlZes=;NT13W06fLi0W=NlHp_T)waZ4;LZKrRw8m z&PH%^s}=M)Kmr6)O8AnJNh*cwhl@#6vMXGkKDdrA?e1~ut7=|}6cAE}ifZqOqHCng zXc0r=v8P|(-X)z^zl{OUuF=t2d%0sY&QT?McCPR)M zqtIo(x&po$TKU7t_~HtzZ5C$xN7N)ueZ_BN0$03RC#g zF$JD#Ha__vKnB;10~ zeLQNXm*Ejo%^~*oU+evKT6zkxcOXUVzl!qIFt8>*9x7Y#-2UpM=RZwD`zJB&22aFU zOzL3*YJ5tds0KJvFswU2EfpOYn478;ozvMXvLdWo;@2B9g{PWR?oUgvOxTkPJBWmy zmeYdvCOe(yMp$EretS0elg^bufL<6=3? z%Hyo?BmUa1PSBFGg)>KZjRLkURFnymDOB6iK^_e8+xxXgCle%QM){9@0-}X0Bo&V1 zcxs1lOppQUmN=1b7>wXG=Fnam*w;^^eu<+5=6xR0K`ztZeX7=e;5UE z*f14ldkm5x890z0U!fYw%-MB`xTp`_KDo!yCG?ADtTL$-Q^_akmbpOceUE2F4%>RU zBm>aW=O302^2Vy?Q0<3#b3p_AW9B02PS)5U0XCe49So!D35qq_Qiw!Ewq%Yh`%yf7 zeMtmp$dz7L6%v1#9|#KTHc$lhU=RH=pBD`XHQQ5c!mZM$75Y*bw+2=zy$j!gbcJI;(GRAqn{;zyJLTSkaq ztWsP2DOa3ZrKZ>gMK$W%a@1|uBj_1HmL1WC`u!FQU3r?^o=bJ z*w|`mbxAXU8YLtBKR1b`*uD~1M9*#8l{UJjY$%exRO|l$s2(}hc-s9Tl0cm_DI;=0 z{9@DlKhbJ{Oqm!IcdbM4kD}N+UXCa7A*vQwRMVM` zsYy;QWO{--o-Jsq#HK{`EG7Q{gdZ?cZOS$cwX-(m#t7EgzUe9DY_n2TTY0zC46)B& z$6q?zyGpWBk6B7cAH0>Y@)q!qsBA5tM>PORssNweQZMFj4f5MI{h~8VBzB9uzl0bl z)&u_l;ygh4^{moUS3Ow4DCVd1ylGcDmO#K+XM#d~OL)e2UAkzgYd>bgSxsRd7-<%0 z3o-ZQ!CwFlho-a=HU!m6>y!%nmE`0_1n!f{OwObzBa5fafrK5-lczbUH%+SP8-T<9 zAy~No0LZ^BTmi9WW43!e152wWw`o=RYHqsUhQeq5VB$ZFD?qmo=YPA+ZaK4vK^dS6k6 zg26}fgKlO0Aqs8bbGS3p8Rd!$KRbZk0yb-3<$xoovt=_iJ21+8j<(s^oJ{newWYt(ZU;IfDaD~`Z!FZg;m9;fry$hP27Tc-{djvBfscfvA(TS5|Ql_FzfKBk7G@ zOxaS9j@0ha+`;>@F`AdR=ggbfrWi)|EyeQ<1#QuXHjvPd{x<5#A-c%^o>Rnh@_iW#L1$npmr`W5VF-|`yG zDxYP^nw9o!I7aeScHO9usePacc3HUu1&NoD9sA(*laH2}M@pnC{!#Gy!jpOl zR+4|>6XO1yV0-Q7x06p_y6Gz_So}*&h4}UAU5*E*ww*@T#xYBjKpV?>LNj(3RoI(Q z6r=nh{LC)hEjD>BG_*Hmy@v z*A~yqC`rF<`Z%MKvdeDVR|e+LhLTR4h9Iyiy$pZ0wA(XltdNQ7N`6-2V;i=*KP@24 zr9#)3xy_3cVU#A^Eqj_8r4)2mDoO$a5b~14*yNmhoPX=B1wPQEDLB*$xkf&}W9I~j;W1+?p!lq22rB*+Tq&Q*hNUEavP0*sCH<*N!;o4nzwr8E z3nfl@$H&8))NwT9{$4=O*ZlS2(n%#i81lLeQWK126(sQUbE}-wOVITT)|pR8>4?li zQ#ub`58W-wD9Pde;^ty7&75bTbi#T^AO~>^E1@-oO@zclWo{T4gB4d^fP!=W{{WV} zcI`T~5y8<4#Mp!39fs1}ONQYropeuG)W2WIW>i5v4y|`<$7wd!xxxaLkFW($j#y|4C+#v+OFu=FcHcz}`TLg3?WsJe@D*DId$)6dz zMoXbXkxCD!i}dz5V>yoB5+9o6WBKW+T@%^pw7H8MmPg7FsQ9b5W`BDkQn|`W`N2e> zn*e!52DEh46zCXAvHt)wA2y68(CGzy>6p@yDE|P15(kDOrh1=Ax^{6W~9W^YqfH*i;0$ln=gfZ!f2NYzF&Ehlj~A zT3c<^j}^;%av2BwwJCIzl8dHL9p8*bX4%?xA*NK79x5;6gg~0RUFIcc2+ZEWnBb4o zQdG$*uuuIW0)*B}E@n6NpR5c20QQbG3Y30g;DQ!HaDJoxG{4zoyY)lBLx*Zr;luWl z-^^e`&rs5=HyR3f;~)mgwn6#i^mK2t%O7YB0r2Be} zWj40KKp;t$;O=Mcdq>jxG1FO!1l3K#p>Xcpivn-T7}}zSdU`jv(9v9K3YD5BejL7m z{ZHlAsbq8#a>;dJ8f1KT7M=K1wE7>EZ1yJG+X7*bsfb?eNkY9t!=lu9iy|jFosn)KKvNA3JWM+FBUzP5 z*-0m}Fj$28sZZ?=A;6LIXirNM+_){m&09qhw-F`M*#kjcPpctIND->JWG1P z8m|eqZ8`~Lon{BHK?GyyeKfqTme(w>4GqlbM$SkC-VrX_Cu1z;m1^NxJIb?!;y+C4 z>X&U-k%*6+P}cN!Wd&e+^Jq|i5B6O|;svU+#LRFSNhDxDK7iG-dPQ83iIjN(6vv`_ zEo;IQko(Cn)hB?Ee$ExP`g?s$M0^h%MUnow_8O~~@dn$?7*sYwrxkhNCy?B%|$d6 z(LqM8NaSUk;g&u;vN7rCdj9}@KB@Djf}%@s85pchB{Y=@UZHFYyPG%-THcP{bMkDgDc9*08OT`1ZUWD_Py0A@|Rp`D4) zt&>ku1w}|wl;i<^8TacN-OIu2Mc0g$d;O9C%jG$SEQts{yh*{&ew}9{S&B}V&XO?B zmQJGiM(b$w0-m7ar(JUL0>NvsXoGw_Yhe=^VVw?E>;eKOybj56c~E zRVSphHAqzHh&Y=kv&JH$p}S6oYH8$67(sVn;2s)Z%FvZ=@lBGZzS+1d>ZLrqmrRk@ zA_xE+dy~=5Gp!9zM2SLX(xeT3ncgzAKM=xZE=6L=F2r}2$hVutdhZgpm7>{GOKRM5 z+v*}bJe6q(bsgiDeegYWYHo^FPMQ}oRv>k^qeAulJlT}g>XlDF0)?99+}~a?g5JDT z7Yh2>EtT_E7UC2tILRKtvFV=m^sS%K4z5~6|eRJ;P1E_pM zxYApyZO>XBsbu7{Nyn1>@_t>9$Z5)+i%Xd_O$oN>uA}Mf=~5L=R_c2a&&KE4RPm7e z^{Ebm(vWe>{3FwTD_12$s+{)mh@|m%bJVIsQ*)(x12YC;lAxTG&&y26=p8B?p(F@K zr{d*ufK0`LbMewHQTUm861jJzc$lv)EsWrN{{TI9XF}yLXNlANQ=SPWnk>z|s%{Zc zQcE(w?@P-e!OHxHwg#auqT*Rnz|nw$&FT85r81Otx#1i&65XYqLvn#5KZOBN@Z{t5 z^w)wFBm{)PI>~h^Dk}}$lnjqLMIK3_$~)NykG>F1BHGfeK66l1FJu%g!#v zw4z~1$$5#01O;qld*I{q>r1a{s5mJ1!Qt6^23mqho0j&A3ud`eyb#b=G{G3mJhluF z`|<>8Dy~AD%ufg?*)vc;lDBKvzl>Y|0QS0Cg6T98p*bwjhQ@t82j{4X^r0-F=lH?C z&t9dvR2!6bnul~6dEl0!-4b%gKf9F!_zgx~bub}79~hGMb#X$Fr6djPN6IZ*Hm2vP ziQ|HFs>gU#IXLY6wHl4ROp*$NL1=m@TQMyxg+Uqij_jmHklG~$aB{%$U*LbN>Jqv^ zNTR`T%-)FY8EJDU#57jT(dM+Zl$Gx)5>Eg}(;t_nr#ilu4`7BcDqWMbF+9|l2S{;( z*SVsGG^#Qvkn&LA_4;Gi>8g{oDTTzU`7O&y)qrvtOXLv0C5 z>jGTr@oIx|ElbMlVrjGSCln+f*FmY-fglWR-wx4j^({p8Puya2_uAs-eYYw`4ttLn zUzd6o2}rVLLmz0Un0s=3p?KROxXH>oC}Sj$MoHuOWBjz~I0ejAbz*6WZ8HL zt0!0(9Fo9{AL|-YZquIlP#i^+je$$|rjQJLHid{thH1Kyu&l~JI)e6{Kn{_V6&ntX z*+)2w`-N|r+Bjrb;>S<()D^cTr7ozNdNWM5;Yqgmf~Uh4i;s~hl(q-~bDp)tbeyWn z5!t;32>_tHRQ~|kUB%;Kv6Vig;~4&0>bh4f7A6FafK53~Ea%}#6>6v{f zLCC^Wx&<(3@G4IXYL&2IeExbV=|XfcxAqoq@H~FSLA5BO!bU1lLF*3R<>{?#zKu;v zT3po+>VHumkY{{NrCPC0ra}II4~T=b_Gpm;ubm+IvCgfiwtZx)Dr=5HGkasC+ajm6 zE}H_l65g;%J18W40H1U6)xZ-#Vtpelx|($tN<7S6OA*N8frqza{dF|Wvnm9l33LEE z#93Pd91$LWQK@4~yZXmO)iu%&hsmO0Vs!&CIL}_1G^D36r}xSOKCI<|ynaSI4Zd8F z<&R7dPo|p_5}Th$uTrKi$@4#0opzRfF%B|&Bi~D%rzO~%@@Q}MC0-t}oNoo<3XPF% ztOaT*VmaxuG*MA3%i&@+9EZl+T}4PKVR4eIj;B$J|>*)UKFGEGJ5M z%`UzQ)KRpr4dS?kIRWD!gZY7|eU7Yt_&zYqzL0FC8_H675eXM9jdck+o7KS-^jFKs zBh#_&HBD2o3d_uvl6Q>#BVn_8Z7xW|CVId+5aJY*Wm#x>wcVnu86k*?i5+_2Xhn|rjMd*Ux~Xc0GgyfAI+g+zSl+PN90yZ9XDtrTDM$}VxaOLrm3cMUU*BC zf_V?X#@0S3z4yd4AlyEJ^+ZsROL_>HeCpUc*qalsU7-?LSLp zC<2M$Ql({m;a0BH1&lYRxIa6VpNAndZ z`hniidfU7=^|lc#8?NxQECB&xB{=>}7;1*IVQlG&X_6C*&&i`xL()yFDIrLxRv+ao z-QiIEYw>bQa~zeHi%so84I@ZV8IQPNu_*6ZioS-WP7tz<%;b5fnA>ds0Eh}m80DpX z;1kV~1Q@FE>up=P)KGX=W{O4_VeedllQk3&YZSccjP_wQgFHG|`f9m+i2mHI$-3P*y6$3W1YMVQO z=p#3@el^ZY2$Mx9K28bsXdi9+QEr+RSthCfvVk56qmQ}Bk0ZIx8E z;u5c+g{eL~Z3%3C#E1U?2~vEnBE`q;O)Y97-h2_aPlA3VtCy_&haU7QUxQ*=o<`9l z`bYbq^*5< zDqTdy_x=%IQ}L^7O+ZYlNho6f0Cb&SU0T^4_KsKW9lnWprLgR9j#-hSpmjc;fylul z_-aStcFwU(*^W1;dJKd`KOFYO(zz0tzDQQ>=Q9XX_{Y3%QBq4%Y0`L4IT>jF76kRy zMh0+xn$t<>Ed-?$q!u}LqZv{0PioIfRJIC9yC>eUJ!bCl3i@PuD(=!{L~4HQ*q4w1 zv3^)2b%K9QLPo*aboL2O{KcDtK`MGzw`$!=QjVW=v3*|`ge+2cVR^3;PYp~ad>7y& zDqpPQmPpTkrmbgmrbM<%g|hc-qd!Z~I=R58C}Pc+xwGe!`^pSkd>Oe{M;zB0nyHpT zdB+kv6~G51;|HvJ={la9%9e1-05+tEw4nH3K5{~*sF%zDdG3QR;BDH9NoRt3no2mh zxsag&hBNSwQbEARG@5#UC1I8wM|aHRBGPBVI*CdvmZFq~F3kLfWblrM!po7Sjb^Ea z<51ZV#)ZLNy%-P706NZeU+sLnP7+cEd3k)`O89#?%K=IYCn0|V-dShPIjis%^H%2b^W$>;lJ>UQvH~yt&o|fy`*kqik^bis5e7itp7pS}< zyi?S)l{ZTjMNuI4I)X5I;z`Dqozlr=I8ucH$nJ)zejn5Y;+ZuCM~L5~KG1kyepNNq z6ckm<$c2fWN|E1V_4fH{hIdKieZ;7aH;rv4LTX2DYC^a_oLQ;bH+Uc~PqJxbbtIH> z7=PSrlJ?A!tIjP9P3Yw0q?A(*R)tEc zD20lGQ@P@br(rI5RFg&$z2PG`OR1yY7S%|G$*FY;Ra!bm9sKd>pYqk@n#xI+>-^&{ zI)i9PWc`)fa!d)g!@Z%bsFF>cb&?quE(}aLAD&P8cc*96(JEL1aB-EySJF~#F)*mp zD1)7kzX+t(yQM6W)wa>NK~$ub5kf%Deg6QT*G#8qN>IWl0yvmc^-T0E%rwL(WWp-k zr@mEFNYdEe0`ZhZo(`0cPX7R-jTV|@gf7c=-2kgiOvHAj5aUtC7UH$usn%I1c&Cs? zL~ybI3w-i@KP^}HwjXCB)EReVn-EL_*7@pJ$$`& zDV37J04EddX>ar^$4gz`REm z?6}*Z0$tfbARitB6O8+J?V&Gb%9?E`j_4$vyFNl$RRH(LGx()NM+j4PwofBqWz-yf zK+@^x!qle-A{*Q6!>J9pw6$>@5XBB8CSaE+il2sTIHc!{hZ4^{<@jkV^aZ6!BVaSD9_@po|Z0k z*6P|x0Y8osRsNiS{#uyYDQx44*fX&*QvR?4ZyB~>X!%D|5}w(j3OJ)VT(g+JbQOCBTiHXs$JPZ;Bgw`*2n1tr+hBjA# zSIz}g_`%`5Vu)pil{)-UI63;@_B2ydXj}DM$Ar74;PAq@NsGM<3Py5p7#%4#tw32X z7SvlPliFSpy`Sj_wexs!QAp}nyRR%Djk-Ml?NL`F2$^uhSQ1$=2Lk%i&VQZ!B0G2wKoMs(+p+OmS+7+1;^7_ip5tk5~VQyWcoYC z{{Ux9*-kp@f_Q|l*9>ab?V;dY*7)bWUvF_v21CUiN5npODUtc>16w$D z&$=!tIyuoPcN0`k6tCnWVYfUPhD3Ec?zSdhiK3^LH6JsKWP#pE#xbD{t+$jgo~#}u zAAQj1*qs_mf`FQ!cLfj6z7N|e{5+q8R1{bFm@Dx6?4GI!;#|qr2*}5_eS6Xsb2gxL zPEtlshtDg;-2yf-0TNQ9n_@Z)pB1mWPH=jP)h&G$!A8TN599+JlE`>8OY8^ z^y}tyjM~f#Py9j8Ba2@9eB$0k4_hr?@PXRI6!&HZdXWqFnwl6`!%N{sEY;#QLnD_6 z20z8bV4RYDbBy}+tBMIzlrb)_guj28icPCkAqNUJcq?u#OADj5Ju$0AlQ{S}5Oa@0K-D6)jUozH_NAGjoZ&6UzBLl| zU3|c~W`8GCEZV?m5z_%oQz%O%PHqM7lfIYZtQk8m#Ou6p(ryj8 zVS-*vsa7j;;fHOIGm>+qhTGY4NmVq(9vETebZ>4|BucE3fNsjialQG%g{Nj(rWF-e zINo4adk z3zPGMm9$l}(^%sB?S?AXr~w)~h?FT+JV`+AZyTduDyW*vV~!~iu++-`0Cp-qFsu*Z=z4rvIqy9j zQqjp0(J?AhgQ*VrJ+tzKj?vmR3Y#)gku8YO93*A|e7RlA>jTo+;uUH%FS_>PB})GQ z$W)p!NPEaR7zYGle?QAknvI(+Sh|IFPHqeP-w39gZO#q$q;~WHLl2FevIZ>DY`+jF zcAe4+3xro5ZSM@Dwkot-jViGggZ z5dImL8b)DJuslnSMyjaVwY4_c-{DZi5g;QB7q3!%JvFSC(jAgON+y7$`fhl@&ghRw z0*uL$2||why{^{thM2rP@g>=->NXWR(JW0)wKGaqQb_BQ41t0VXWJj1s?SLFSpAwO zmv>>8%j*}zqC0U)>t<2_kO*>FS!s&~vHt)NQ}G`E06km%pJmJiYpBmso!s&fpH+6>lA$VHA+|s)J@>X}&Inev z>ttB!JSnV+dVv~c`M#CLzJ5{ZQ%yPomY|^gZONcjP3q}YECz<@aGfK^6cLhR`2ch4 z+3QbAktGQ@&;dSiS5sM0HAAYHq7#s8p!)7>%GAXj#%q+&pvNMFaXHB!_SJczk%i@e z53F2`t67XDc~Jv_gRuCAxPIqPZCjP{J90{XIFW;VSnE0T>%YrY>*(z+GdBux5vyqz zQhH}zB?@r0iD2jp-;3(khSc$6b66xWP~2~zr~!j9hke|?^I1<^?;9W8DLwqN{d?-0`vtTA0C0=OnLigc!cXl|ZJ>!H@lV8iZ=#h+tB8dk_(~AB&e6CyJ4$k|ZQMkVyLA`|0tr zwoI@J+2XYHkECnC##ZeRarEp8A9R8y|-kMcEt3kw*Z+XLC{{S{n z60veM*OXIxKKBmBvVxjfO5m0_AQ7ImKeW)dVOEa)i)!NiszETFTS0k?2DaZ%TB?5! zHo(WzR&r-aRgk8NN{VWv{{VQ9pg5RPs}#r_Hs7WW*$u(pKcO11mJ9v!6myC|FC;$) zjPmhK9Y-@2ouYp6@e};BkMq^_Ji?sU8EWZR&t_YA!j(mj&sNO^QZehJ%Q|%xn16Uh zGPXuP+%Ev1Y1J0W(^ljE0H-=_J5f8tB(9Fke#%Qn^whpGY>1f_p{Iyv1(gGZ`t*Ox zOQNrgeop;WG~6TB4coj~@c!V))LX8=vXk5u5{O^)=Z^G4R3ay4&mX(x4YBUZ0>H+$ z>gY)5!%(b$hJVXl`(V(*>Z4e(4HkdBR{R(Jmrxjbj$iGfeW+wiKvF~>-(8qr%dZtw za-Pb%5&`;ZUum=v6v`P#6aAaqfemJibhujQmBbcR|BDNPsj{RXX>bfL!x3nuf}?7m#rx;940;_3%q zLyzQi1oWnySxSeO@aJfsyDX0%esG&zaoIAN9Uj?Q53q3%f2ju^pPsmSQA%=L9#=qi zqJH$KQ<~kfDqZ~BRU@`?B#Gm4K3!xVo|a!qX+_H7=1)O3p$sK?m{+OVdpfFF)opZf z0qD*`^FN=l`Ws!;HXgTmdfaYFIi;f_K*QdJ<27_b< z<{v20(R?$mnRQ7|nDmMj9st>jg^>=c?MTh|>+^C=QR3P(aZQ{u#gy`O6HUX@jo~tLH0z328H2|Z^)y(JqoaI zr(-|mq^i18TRA1?m(i55@{1}ii|m?Zc4?Ds=t23sJ15zd>5@ik1){1Bu&Wv%9-Ry? zLsW|s)B#mOpM#%O2+>K}6o^quDUjMb4iIJRb!kc78r(kMFfsnk7f7Bamh93}{vr+3DZn`dU>y5(@2m5+ zXB1&bW5o&Gz2h@4W>fW@Vu>kz7QOB)&GpJAtMC?vl_g5cHL-&zJpTY|O8n3LL=`wE z(*v(vR<&Z-<0ZHtTW}*j`^C_$p_WvfDFs|+8}A^y9pG969|t@>pr`w#e%qp}eqp@G zWaTtqdWC)gi1h0o+D?5o(U`nxo}>(zl;Q9Ngf}N@Y`JLa`h=|S2~+r#f_!2K_E(40 zO&k&I`JR=Ae8gt+N$>GLUdP|OX>qV8%q2^#?QS48nE)Zh^tCd85~%w-!#nXLk5__e zRj@6C$$gsid_YcSt_AeYJ9a;x>!tqyu!^3hO-h&jDg)#oi};N)nKZRvatQ0?rfR+uts%tq00yZ)j8xKmZZnn=lmba^$wIt% zX`FY4;o*ZxEhO7I&m3j*&8CJ%$j*5w`hloS_**amF*Ss6zso4(zl&>J(=Ad}#>m5M za)-NJ$759_(ow9Yi6g@faqv;=o+ZcSti@Nt>c_%vqI3oPZyFT*N|QAhy70k^k^^^V z;36re@bd7B1XqY+l2R3XrbHo+cf?18GW8GLoZ*HxKLO7WCacOuP?01S=<2 zc74%OK`zk$-r z9COlF-{NE(!wCmo`0qF!pHH5>O}A=LN@hz*du8;7S6fXvK&Yt%9Ta|G#(PKhY^J0x z@x9KW*^32=w5V1i1mF|iIym(QR+V28Cabch4Qr>$D=B(4vE>p;Sl2QI?EK&;`!UAP zB}DY~?=KR+4NGU_2V{10+0(<~g22L(8<6=zW1*WE%*45c&lP*;0bA_mXwtmZ>?)e^ zA!8SpD2OI~GxPm)>OLkF6yT`B*|>NVu7qrW779|gc4aeqKYSt9{hu$Cf~CiYoFwSP z-+5kS{PUc42_H=7S{WY`Y1G5*K30s`_;VnYDpZscr))pHIB5u1t(D@nwmMksJ08Jj zsf?2HJfc$P1Y;fN=iaZV`bDv(l^TkLC>D+Y!nj|3ji5V_^wudbPyN71RP3PjUqv2*jv7Lm0&YfmjmnNE`IYyk3a zJm4iyi2gFi0f^ZenzNHPIO>WP_w5H?nZWCOizEa4HkWm<6Y8{<4OA$ajQz)=2p6x(o>9lSsmbDV?RArS9FhH zOIlZrHp{V;UhK|@bgp!@%IeqJx&5O9rQe2Ef>#ZX;-xKg6;-lRS}J2=(Y;O4WcV;a zRvE$X2l5}TgH5;gO3+ax6@$41ckqiE&WZGfT-2^|gtZKcrUPxq-cZxGHkXL?RPo5S zZJ|+2WGs_LX_{OE-WkSEc<(>ys=cGOc4|~c1%lajo60YCFGsf2$zb)el$Ws>3AT44 z80GNh{S@_6T(?RkbDu`3rH_z3=ZHD$uKt=q9VL*#GUWD01s{}MFQIiwT9rDZw134c zXWk4cT&Zg5>nUZVyHnIuMslUAA!KvQB;>E4_x}J-U0u^mO3+fI5D)lN53jy4n6H+! zOix!d6%X+wgM0S~ezj3o&uNV-X|}}ih7SupRXV)6J(A!rr`OP9*ID|>veP-`m4mI6 z!@10CwrrWJrvhk}Mq{*qOXqeTc?cpbcJL&QO_OMPhAShoUMbm8GIQ&Zp48_f->oid zX4$8ywCpM!O$319RH!O9Kea|)o?;DJd@H?F`Ar7Mx55hGhx<`WBvXtee;9z$?0v~fuM+Kzs~!+xW~GW;7b&z`1 zlfZklS1+Q~vVl+8<%?>r;!hqu@k*0w?#lY3Jv|=Gr+A8x>gGTOK?*rwwtCOcOikLf zveL>k3%#=R$`hy9HPe@g2$V4Kamwuf065d_UK#kQ7)qbM?OKUrM?r;BE;qH#A)f+o>UCa>)+Xd!8)?Dm*grCQ5kWhR?La6bT{a%gwBL1PPz#k?C!4e@<8Z-}Ln&a~30QaFaGJVp+4k8}DTT`YFp2o_QB zi+Oz*+U2nzF#iA)H&JbE`2Jts=^!c?vu13u?>_$Cooc3j*P~;A`C2b&_Fa91+&|`q zdYet*Y06dD;+??tKp2nbs)W_be#*#=NvBef%19@ejKcZ1ZnN@^9kDSZ{6`r-!&(|W zr!6;B$jWUki#>Ksk4VpIJUHByj_#Xv!0$Q00DhR&^-1Qnd%g0anhIlFjKJoF8SM8Dk-yuKfd_Zf@VhI;olQc8KPW zBOd~%_$@g(P97uc2PuBc-ZdZ`u2q#0A62QN^GE1NKj)<;d{(44LJ0ATX+H?2j?Bra zKjr$x#``wI((POU?MwL1|;q{NRZA2eQxi#2!!dXd=E3c;Q7OAl}=!A^!m7x-8lLS_1w$ z;QQ$h&7;HgbJ*&-W-#~0IA05VR%w6Yuluf3*d*I&$nW3cU{CPtKwrnQ-H?;suaIbB zU+B}Z58jxr=Klb6GPi}hx@dylYVXp6_xRVKl-@>H5Ghp69W{bKj!}cY&%WxQjS8MGt{o( z^D!j864X9k+hn@iD*bs+F~R)QXH=8^D$9P_t;6wX)5`dDB3fMv0P+6-;_(vrd*VGY zJZScv!XNr-7C_kl0O|y375qZk6D+>7xuMB@9jcUGT*-amUxXH=+PmHn!hMgkrc>xv zwq^cDIn`}XN_JYmyPYs|2{Cg`B60>9iIPtREO}lSsjZvdmmGGE%clA@Q|J7~sV8lH znzQ}t&v1)*RaF3XZ~?%p*9=@T?`Sg5w)P1lKm6%VKZcbx`!v{0m^+8o4v|!%*oXO- z{>bEBw>mHHcJ|I7WAIGl^z9C$skBDIV*9}Q!9^uWu_OG-{{U=sea*XKjlSz@+ruP; zRh$(+{t=H)f1aj<&?xrSuMfr{GJo||KRxv^{UjOyj$Z-@%mt+HHeVqupHQ#U30=bk#p zr?1mn8cI!^-?N+n8D;c;lw_+X*Mid|I!*l`bAmV9b2_2{{SJso|~h!H;gq7o?Tt1c~hxj+EP1@mT}0OetqeA z+ZtdliO4+F_(N3tc0mA4r&@VS`Vv|z)Oew8mE&rQ#`>d?azGZD0;>}#A5cyJ_4d`on!4$E zr61?|MGa2P*)y_I$<6w(eMia#o2{MXEjIAntnZ(SOI!uJ_xO+L){b_?c(_7sxoY`* z;bGCekVX=+H%ppv4g za%P?(DEYt&>I9WtX=U+zI{}iMV*rl*0v$6Wq>~&KnH}zZRRXH$RF)~1_N(q>`2@n{ zX56?=&`mu@izV0LM&afaU!Oo@R&qK|C=wIY--~?WlCz-mizu3#Wo%x9>l{;T%iBf5 zj;F-g6!*qjW*Is8>7&xQ0J&75$wCnw1D-34=O|y% z7y0T3r;@G&#P<}RQyw1*W)>z&_qu||poSVx2=}ya9QNywq@7#fF*N*?`+g+OGx}?j zdUBE&q^KS#`6?$T;ebN1C22y31%u{~oHE6*JaC4EA^!5#EDGd>kIm$B>_AbFaqp;q zXenkdAK8gL-&i2%-DNz!tL@<;_H|@*%OkogPqVyTf&m=2o5DfIiQycBKTiFBEi#S0 zPm32&Lb%(~6q~Rs48EvVf}Pp=z*gJ-FxzE>i|*n|jB-G^$pfx{9elH<6QWuYF7|(%SjhOPI-O+9sVl>FV8rSf$A(57ZQp7JdWcp_eaco;1aXPcBtIrn zP6x3V&axF>1@R!@Z=axzWRH)#JoaX#+-AUE&AbVQxc<=_Zn~y8>XI6DVng}1=^1Iq zc?5&rd&WolYdJsQ?QFCYEhM((3-=h*Z10X+0ZU3u@`ugAvvC3%XuM|_e8insY<#V5wH3?e}Xvk1Z`c)I(^=~N9OX-CLN(!XZpj$As9{$jH15>lC zm-Hqr_XSL@r{jvRftMq&Mle0SzFK}()1OXnA%NbOh)tuXtV@aHlc-R?n|VfKar-{Z z>?XEuyM(L{{{Ym^K3F&yKf_wuUZ13PXG$OB`oO60E4yVB_Uvk{v{LRXo7zPH?<@)MGX}d zTpgYi+QUmyc>Yii~}E+^uW)< zj13ZEs0eUU``___N>H`<{=k zI@VgQkS%AanwB}(zl?ngX6lb) z=uQ9$<^k3Zpw@3_Q_@NoQb~P5ZyY8!TPC+?)F~k-m;+geC60}VdP5C zSrhdc8S7dp9WAB<_OjFBBOy`n_PI(XOy&Ool|m~oha2AA5U~$Ftg!kdP*>U% zrs7YR;TknPXOA>vj1_m<@}r=%&yVImO=cHK(e>P=DgLPX1dXH9304bQ{{W^he%1R& zP4Gu;z6^DSkB|9jMeOd4r}u}6iv(?+n<&~^zsdw$imS)fAMudQPTr@QGhu7A9)YxIY$QIuN4R;=w*}!gk+Da>U)yGvEySrSE{DQfBd0Q{CMhewrscT zkUReX81+|4rxDr;KhobQP@d~RWIkkd(YMIbldB|9kUtpD&FKP4t_c2sq$tYVx00L9hW@yL8`yUlL` zKr!u_rX+oF>(;dt`!G0G>5_PeDN`Hch{jAN0dAKUhsxB+ghr`idXwjDmgr<6M(XO;L5W#S`>V zYL&Vkz=mc6>75aCwrWH5fAo)}T~h4btiI5wTmJy+sCnXxVlC0R>G(a`>rZj_jvK%c z$Uc$qB%Zwnbxl*Zwrx4YWd`05J#8BepV2OmRE#O9DjST|A15(ti)HxOtYfy`H{}dJ z;boqol>EH_8l$c0#=tk5fStz!`o_a$d_L(?4iqhEH#dTpemtaqoF0K8@ze z2>$@}zv-$OpA|YdfMt}+ZPq{OjU2y*T_X#|s->k|R7b4Olv|I$f3*TMf(^~PFvq@i z?78`RzN#ktPw0xQxd<))0OS7v;}%kS7t+apb7-l!&Hn)8VS>%zZ`yi>Mv=E(;EbGS zH%#NdlN0=PpW2@iIvq4O+0$?T02_J;(QLho(rG01n?>LM0LhEh{G(a5Y~QrKAD0zQ z>8Fwqej_DwbN>MFfGIS$7xGI+!D8D!DWWL2 z+@iQKJ&7qAZ_qNr5Bclo+ed2br5BSdq;qdo7}HCyr=PDv-keM~1&w`lTA&-&BzQHDsi#ZX`PjhwYU`OQRN{e2EJ zlD38HqC6s!X55zjnwI|nA^C_Y4$`!c&0V)BEy_=3O1YOK^C_q+YEJ#tpD0FmNNNS8 zPAcS-pG8E?w!Arob35B9kGVG)03WG`*XgJYrB-YS@cdvSZEchHF(2q3?}}4d{3#=o zUF?x4_08b*`WU~Sii)kFkO%y~Lk&vWdwhM=DE|QZ{{Z7MTq z_4Mcir%_p6E>f@Z!|B`GaRap}Xa4}!ubF`}cwOQ3b4e23_Ptd`apk3aCA0GQ@$NL- zt-Z8m-8hGF`9V)gHh>Q@olU&UKOkURconxMlut`nZXE_fD&Z=}<;h7I_rd)$rxVjU zgsAUEj4c0xSl>@%JA{>fjHzr0G|GRYSA4rN|rGNByI)Y z=?+TiEh#-(rI4*1Am6&j#s#;93nIxS*7>%hRLOW!1wCYU`Hsh5Kc=2XOag5s3w`9D zcZsWLqH2fi%7Om?2m^+3#Xis4bS+y?F6g2^5~=cO5P)zG!a&XdBS&7}shARaq7M}t z^Sm`JQ_>w0OC9(@4c*}!6SL_GvEH`%g0mwdLjYh&_3eE}`e=bQQwRQB-(J_&B%0;F zX@@lo{ES>%ov6yoK^*rWtLseA1t5D4zJT@f&=pFid7YQviXBABgbXBkzo>y#x9L&p zg*MgRuf+~LgCEC_s;?pZb!A7hcKr3+29teOTDb0uQ*LRVz&?&|Z9Lz4rr3Lle{{bI zsFN(&>~SlOIPcR$r`dFgTRoE}cX+@C*JM;gSy=d{?J*Hr=6AV^NtE z*d9L@;Q^3mtRA&{Pd1ewdaMpWeQg=)-Hy3})MZ=UY<&aT@L7J+UN)=88tkYZ6_L3! zQVvfZ4m#oMoNGfPXwU#LRD*59J#QH5o`}?y9$F;(rFGyLf79 zGuJV0gt7JLjvatMEbBo{wsu%=+a10j~t3vwRgB~*{5GmoyU<#eNGCBUfxxW-n0!%eR+I;l#Iuk&&|p}xt#wxw8E zH&2E&NUYc>yIBY-d⪙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 literal 0 HcmV?d00001 diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/index.adoc b/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/index.adoc new file mode 100644 index 0000000..ea40877 --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/index.adoc @@ -0,0 +1,60 @@ += Example Manual +Doc Writer +2014-09-09 +:example-caption!: +ifndef::imagesdir[:imagesdir: images] +ifndef::sourcedir[:sourcedir: ../java] + +This is a user manual for an example project. + +== Introduction + +This project does something. +We just haven't decided what that is yet. + +== Source Code + +[source,java] +.Java code from project +---- +include::{sourcedir}/example/StringUtils.java[tags=contains,indent=0] +---- + +This page was built by the following command: + + $ ./gradlew asciidoctor + +== Images + +[.thumb] +image::sunset.jpg[scaledwidth=75%] + +== Attributes + +.Built-in +asciidoctor-version:: {asciidoctor-version} +safe-mode-name:: {safe-mode-name} +docdir:: {docdir} +docfile:: {docfile} +imagesdir:: {imagesdir} +revnumber:: {revnumber} + +.Custom +sourcedir:: {sourcedir} +endpoint-url:: {endpoint-url} + +== Includes + +.include::subdir/_b.adoc[] +==== +include::subdir/_b.adoc[] +==== + +WARNING: Includes can be tricky! + +== build.gradle + +[source,groovy] +---- +include::{build-gradle}[] +---- diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/subdir/_b.adoc b/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/subdir/_b.adoc new file mode 100644 index 0000000..422eb5e --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/subdir/_b.adoc @@ -0,0 +1,7 @@ +content from _src/docs/asciidoc/subdir/_b.adoc_. + +.include::_c.adoc[] +[example] +-- +include::_c.adoc[] +-- diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/subdir/_c.adoc b/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/subdir/_c.adoc new file mode 100644 index 0000000..3aca173 --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/docs/asciidoc/subdir/_c.adoc @@ -0,0 +1 @@ +content from _src/docs/asciidoc/subdir/c.adoc_. diff --git a/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/main/java/example/StringUtils.java b/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/main/java/example/StringUtils.java new file mode 100644 index 0000000..3884f86 --- /dev/null +++ b/buildSrc/src/test/resources/samples/showcase/sgbcs-docs/src/main/java/example/StringUtils.java @@ -0,0 +1,9 @@ +package example; + +public class StringUtils { + // tag::contains[] + public boolean contains(String haystack, String needle) { + return haystack.contains(needle); + } + // end::contains[] +} diff --git a/buildSrc/src/test/resources/samples/testsconfiguration/build.gradle b/buildSrc/src/test/resources/samples/testsconfiguration/build.gradle new file mode 100644 index 0000000..364b3bd --- /dev/null +++ b/buildSrc/src/test/resources/samples/testsconfiguration/build.gradle @@ -0,0 +1,4 @@ +plugins { + id 'io.spring.convention.tests-configuration' + id 'java' +} diff --git a/buildSrc/src/test/resources/samples/testsconfiguration/core/build.gradle b/buildSrc/src/test/resources/samples/testsconfiguration/core/build.gradle new file mode 100644 index 0000000..3cad4d4 --- /dev/null +++ b/buildSrc/src/test/resources/samples/testsconfiguration/core/build.gradle @@ -0,0 +1,2 @@ +apply plugin: 'io.spring.convention.tests-configuration' +apply plugin: 'java' // second to test ordering diff --git a/buildSrc/src/test/resources/samples/testsconfiguration/core/src/test/java/sample/Dependency.java b/buildSrc/src/test/resources/samples/testsconfiguration/core/src/test/java/sample/Dependency.java new file mode 100644 index 0000000..e0dcbbe --- /dev/null +++ b/buildSrc/src/test/resources/samples/testsconfiguration/core/src/test/java/sample/Dependency.java @@ -0,0 +1,3 @@ +package sample; + +public class Dependency {} \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/testsconfiguration/settings.gradle b/buildSrc/src/test/resources/samples/testsconfiguration/settings.gradle new file mode 100644 index 0000000..eadf90b --- /dev/null +++ b/buildSrc/src/test/resources/samples/testsconfiguration/settings.gradle @@ -0,0 +1,2 @@ +include ':core' +include ':web' \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/testsconfiguration/web/build.gradle b/buildSrc/src/test/resources/samples/testsconfiguration/web/build.gradle new file mode 100644 index 0000000..5160910 --- /dev/null +++ b/buildSrc/src/test/resources/samples/testsconfiguration/web/build.gradle @@ -0,0 +1,10 @@ +apply plugin: 'java' + +repositories { + mavenCentral() +} + +dependencies { + testImplementation project(path: ':core', configuration: 'tests') + testImplementation 'junit:junit:4.12' +} \ No newline at end of file diff --git a/buildSrc/src/test/resources/samples/testsconfiguration/web/src/test/java/sample/DependencyTest.java b/buildSrc/src/test/resources/samples/testsconfiguration/web/src/test/java/sample/DependencyTest.java new file mode 100644 index 0000000..8c37864 --- /dev/null +++ b/buildSrc/src/test/resources/samples/testsconfiguration/web/src/test/java/sample/DependencyTest.java @@ -0,0 +1,10 @@ +package sample; + +import org.junit.*; + +public class DependencyTest { + @Test + public void findsDependencyOnClasspath() { + new Dependency(); + } +} \ No newline at end of file diff --git a/buildSrc/src/test/resources/test-private.pgp b/buildSrc/src/test/resources/test-private.pgp new file mode 100644 index 0000000..b56a134 --- /dev/null +++ b/buildSrc/src/test/resources/test-private.pgp @@ -0,0 +1,83 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- + +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 +=1LV7 +-----END PGP PRIVATE KEY BLOCK----- \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index e0b8129..84553ef 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1,3 @@ -version=2022.0.0-SNAPSHOT +version=2020.0.0-SNAPSHOT +springSessionCoreVersion=3.0.0-M3 +springSessionDataGeodeVersion=3.0.0-M3