diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-11 09:09:48 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-11 09:09:48 +0000 |
commit | 3f3e4bcc50a3280d03299c2c263eafd9c8e3bd7b (patch) | |
tree | eccfc6b87b404f2871cc795bf2f7223a7e391939 /doc | |
parent | 65a1175e466105fca1f40cb5a995fdb100ff334e (diff) | |
download | gitlab-ce-3f3e4bcc50a3280d03299c2c263eafd9c8e3bd7b.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc')
-rw-r--r-- | doc/api/graphql/reference/gitlab_schema.graphql | 58 | ||||
-rw-r--r-- | doc/api/graphql/reference/gitlab_schema.json | 187 | ||||
-rw-r--r-- | doc/api/graphql/reference/index.md | 11 | ||||
-rw-r--r-- | doc/ci/jenkins/index.md | 28 |
4 files changed, 282 insertions, 2 deletions
diff --git a/doc/api/graphql/reference/gitlab_schema.graphql b/doc/api/graphql/reference/gitlab_schema.graphql index fc26af40c69..f47f07953d7 100644 --- a/doc/api/graphql/reference/gitlab_schema.graphql +++ b/doc/api/graphql/reference/gitlab_schema.graphql @@ -2220,6 +2220,61 @@ type Epic implements Noteable { } """ +Autogenerated input type of EpicAddIssue +""" +input EpicAddIssueInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The group the epic to mutate belongs to + """ + groupPath: ID! + + """ + The iid of the epic to mutate + """ + iid: ID! + + """ + The iid of the issue to be added + """ + issueIid: String! + + """ + The project the issue belongs to + """ + projectPath: ID! +} + +""" +Autogenerated return type of EpicAddIssue +""" +type EpicAddIssuePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The epic after mutation + """ + epic: Epic + + """ + The epic-issue relation + """ + epicIssue: EpicIssue + + """ + Reasons why the mutation failed. + """ + errors: [String!]! +} + +""" The connection type for Epic. """ type EpicConnection { @@ -2689,7 +2744,7 @@ input EpicSetSubscriptionInput { clientMutationId: String """ - The group the epic to mutate is in + The group the epic to mutate belongs to """ groupPath: ID! @@ -4872,6 +4927,7 @@ type Mutation { designManagementUpload(input: DesignManagementUploadInput!): DesignManagementUploadPayload destroyNote(input: DestroyNoteInput!): DestroyNotePayload destroySnippet(input: DestroySnippetInput!): DestroySnippetPayload + epicAddIssue(input: EpicAddIssueInput!): EpicAddIssuePayload epicSetSubscription(input: EpicSetSubscriptionInput!): EpicSetSubscriptionPayload epicTreeReorder(input: EpicTreeReorderInput!): EpicTreeReorderPayload issueSetConfidential(input: IssueSetConfidentialInput!): IssueSetConfidentialPayload diff --git a/doc/api/graphql/reference/gitlab_schema.json b/doc/api/graphql/reference/gitlab_schema.json index 4d52f45d3e4..3472a8bf742 100644 --- a/doc/api/graphql/reference/gitlab_schema.json +++ b/doc/api/graphql/reference/gitlab_schema.json @@ -19403,6 +19403,33 @@ "deprecationReason": null }, { + "name": "epicAddIssue", + "description": null, + "args": [ + { + "name": "input", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EpicAddIssueInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EpicAddIssuePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "epicSetSubscription", "description": null, "args": [ @@ -25120,7 +25147,7 @@ }, { "name": "groupPath", - "description": "The group the epic to mutate is in", + "description": "The group the epic to mutate belongs to", "type": { "kind": "NON_NULL", "name": null, @@ -25163,6 +25190,164 @@ }, { "kind": "OBJECT", + "name": "EpicAddIssuePayload", + "description": "Autogenerated return type of EpicAddIssue", + "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": "epic", + "description": "The epic after mutation", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "Epic", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "epicIssue", + "description": "The epic-issue relation", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "EpicIssue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Reasons why the mutation failed.", + "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 + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EpicAddIssueInput", + "description": "Autogenerated input type of EpicAddIssue", + "fields": null, + "inputFields": [ + { + "name": "iid", + "description": "The iid of the epic to mutate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "The group the epic to mutate belongs to", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The project the issue belongs to", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "issueIid", + "description": "The iid of the issue to be added", + "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": "__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": [ diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md index 7230be484e6..df85e13d194 100644 --- a/doc/api/graphql/reference/index.md +++ b/doc/api/graphql/reference/index.md @@ -346,6 +346,17 @@ Represents an epic. | `webPath` | String! | Web path of the epic | | `webUrl` | String! | Web URL of the epic | +## EpicAddIssuePayload + +Autogenerated return type of EpicAddIssue + +| Name | Type | Description | +| --- | ---- | ---------- | +| `clientMutationId` | String | A unique identifier for the client performing the mutation. | +| `epic` | Epic | The epic after mutation | +| `epicIssue` | EpicIssue | The epic-issue relation | +| `errors` | String! => Array | Reasons why the mutation failed. | + ## EpicDescendantCount Counts of descendent epics. diff --git a/doc/ci/jenkins/index.md b/doc/ci/jenkins/index.md index 4b5f93fa1a2..3caea124351 100644 --- a/doc/ci/jenkins/index.md +++ b/doc/ci/jenkins/index.md @@ -24,12 +24,40 @@ can be a great resource. There are some high level differences between the products worth mentioning: - With GitLab you don't need a root `pipeline` keyword to wrap everything. +- The way pipelines are triggered and [trigger other pipelines](../yaml/README.md#trigger) + is different than Jenkins. GitLab pipelines can be triggered: + + - on push + - on [schedule](../pipelines/schedules.md) + - from the [GitLab UI](../pipelines.md#manually-executing-pipelines) + - by [API call](../triggers/README.md) + - by [webhook](../triggers/README.md#triggering-a-pipeline-from-a-webhook) + - by [ChatOps](../chatops/README.md) + + You can control which jobs run in which cases, depending on how they are triggered, + with the [`rules` syntax](../yaml/README.md#rules). +- GitLab [pipeline scheduling concepts](../pipelines/schedules.md) are also different than with Jenkins. - All jobs within a single stage always run in parallel, and all stages run in sequence. We are planning to allow certain jobs to break this sequencing as needed with our [directed acyclic graph](https://gitlab.com/gitlab-org/gitlab-foss/issues/47063) feature. +- The [`parallel`](../yaml/README.md#parallel) keyword can automatically parallelize tasks, + like tests that support parallelization. +- Normally all jobs within a single stage run in parallel, and all stages run in sequence. + There are different [pipeline architectures](../pipelines/pipeline_architectures.md) + that allow you to change this behavior. +- The new [`rules` syntax](../yaml/README.md#rules) is the recommended method of + controlling when different jobs run. It is more powerful than the `only/except` syntax. +- One important difference is that jobs run independently of each other and have a + fresh environment in each job. Passing artifacts between jobs is controlled using the + [`artifacts`](../yaml/README.md#artifacts) and [`dependencies`](../yaml/README.md#dependencies) + keywords. When finished, the planned [Workspaces](https://gitlab.com/gitlab-org/gitlab/issues/29265) + feature will allow you to more easily persist a common workspace between serial jobs. - The `.gitlab-ci.yml` file is checked in to the root of your repository, much like a Jenkinsfile, but is in the YAML format (see [complete reference](../yaml/README.md)) instead of a Groovy DSL. It's most analogous to the declarative Jenkinsfile format. +- Manual approvals or gates can be set up as [`when:manual` jobs](../yaml/README.md#whenmanual). These can + also leverage [`protected environments`](../yaml/README.md#protecting-manual-jobs-premium) + to control who is able to approve them. - GitLab comes with a [container registry](../../user/packages/container_registry/index.md), and we recommend using container images to set up your build environment. - Totally stuck and not sure where to turn for advice? The [GitLab community forum](https://forum.gitlab.com/) can be a great resource. |