You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/administration/settings/slack_app.md
+20
Original file line number
Diff line number
Diff line change
@@ -136,6 +136,26 @@ To enable the GitLab for Slack app functionality, your network must allow inboun
136
136
- For [Slack notifications](../../user/project/integrations/gitlab_slack_application.md#slack-notifications), the GitLab instance must be able to send requests to `https://slack.com`.
137
137
- For [Slash commands](../../user/project/integrations/gitlab_slack_application.md#slash-commands) and other features, the GitLab instance must be able to receive requests from `https://slack.com`.
138
138
139
+
## Enable support for multiple workspaces
140
+
141
+
By default, you can [install the GitLab for Slack app](../../user/project/integrations/gitlab_slack_application.md#install-the-gitlab-for-slack-app) in only one Slack workspace.
142
+
An administrator selects this workspace when they [create a GitLab for Slack app](#create-a-gitlab-for-slack-app).
143
+
144
+
To enable support for multiple Slack workspaces, you must configure the GitLab for Slack app
145
+
as an [unlisted distributed app](https://api.slack.com/distribution#unlisted-distributed-apps).
146
+
An unlisted distributed app:
147
+
148
+
- Is not published in the Slack App Directory.
149
+
- Can only be used with your GitLab instance and not by other sites.
150
+
151
+
To configure the GitLab for Slack app as an unlisted distributed app:
152
+
153
+
1. Go to the [**Your Apps**](https://api.slack.com/apps) page on Slack and select your GitLab for Slack app.
154
+
1. Select **Manage Distribution**.
155
+
1. In the **Share Your App with Other Workspaces** section, expand **Remove Hard Coded Information**.
156
+
1. Select the **I've reviewed and removed any hard-coded information** checkbox.
157
+
1. Select **Activate Public Distribution**.
158
+
139
159
## Troubleshooting
140
160
141
161
When administering the GitLab for Slack app, you might encounter the following issues.
|`id`| integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths)|
180
180
|`key`| string | yes |The URL-encoded key of the resource group. For example, use `resource%5Fa` instead of `resource_a`. |
181
-
|`process_mode`| string | no | The process mode of the resource group. One of `unordered`, `oldest_first`or `newest_first`. Read [process modes](../ci/resource_groups/_index.md#process-modes) for more information. |
181
+
|`process_mode`| string | no | The process mode of the resource group. One of `unordered`, `oldest_first`, `newest_first`, or `newest_ready_first`. Read [process modes](../ci/resource_groups/_index.md#process-modes) for more information. |
182
182
183
183
```shell
184
184
curl --request PUT --data "process_mode=oldest_first" \
Copy file name to clipboardExpand all lines: doc/ci/resource_groups/_index.md
+10
Original file line number
Diff line number
Diff line change
@@ -90,6 +90,15 @@ The following modes are supported:
90
90
prevent all of the old deploy jobs with the [prevent outdated deployment jobs](../environments/deployment_safety.md#prevent-outdated-deployment-jobs) feature.
91
91
This is the most efficient option in terms of the pipeline efficiency, but you must ensure that each deployment job is idempotent.
92
92
93
+
- **Newest ready first:** This process mode limits concurrency on jobs, but less than plain newest_first.
94
+
When a resource is free, it picks the first job from the list of upcoming jobs that are waiting on this resource.
95
+
This list of jobs is sorted by pipeline ID in descending order like above.
96
+
97
+
This mode is best for those who might want to continuously deploy, but deploy merge often enough that
98
+
newest_first can lead to situations when no deploys between merges. It can be faster than newest_first, but
99
+
carries with it a risk that a job that might be skipped in newest_first would be run, so ensuring
100
+
deploys are idempotent is of even greater importance.
101
+
93
102
### Change the process mode
94
103
95
104
To change the process mode of a resource group, you must use the API and
@@ -99,6 +108,7 @@ by specifying the `process_mode`:
99
108
- `unordered`
100
109
- `oldest_first`
101
110
- `newest_first`
111
+
- `newest_ready_first`
102
112
103
113
### An example of difference between the process modes
Copy file name to clipboardExpand all lines: doc/development/ai_features/duo_chat.md
+86
Original file line number
Diff line number
Diff line change
@@ -206,6 +206,30 @@ adding new tools can expand the capabilities of the Chat feature.
206
206
207
207
There are available short [videos](https://www.youtube.com/playlist?list=PL05JrBw4t0KoOK-bm_bwfHaOv-1cveh8i) covering this topic.
208
208
209
+
### Working with multi-thread conversation
210
+
211
+
If you're building features that interact with Duo Chat conversations, you need to understand how threads work.
212
+
213
+
Duo Chat supports multiple conversations. Each conversation is represented by a thread, which contains multiple messages. The important attributes of a thread are:
214
+
215
+
-`id`: The `id` is required when replying to a thread.
216
+
-`conversation_type`: This allows for distinguishing between the different available Duo Chat conversation types. See the [thread conversation types list](../../api/graphql/reference/_index.md#aiconversationsthreadsconversationtype).
217
+
- If your feature needs its own conversation type, please contact the Duo Chat team.
218
+
219
+
If your feature requires calling GraphQL API directly, the following queries and mutations are available, for which you **must** specify the `conversation_type`.
-[Query.aiMessages](../../api/graphql/reference/_index.md#queryaimessages): lists one thread's messages. **Must** specify `threadId`.
223
+
-[Mutation.aiAction](../../api/graphql/reference/_index.md#mutationaiaction): creates one message. If `threadId` is specified the message is appended into that thread.
224
+
225
+
All chat conversations have a retention period, controlled by the admin. The default retention period is 30 days after last reply.
226
+
227
+
-[Configure Duo Chat Conversation Expiration](../../user/gitlab_duo_chat/_index.md#configure-chat-conversation-expiration)
228
+
229
+
### Developer Resources
230
+
231
+
-[Example GraphQL Queries](#duo-chat-conversation-threads-graphql-queries) - See examples below in this document
232
+
209
233
## Debugging
210
234
211
235
To gather more insights about the full request, use the `Gitlab::Llm::Logger` file to debug logs.
@@ -432,6 +456,68 @@ If you can't fetch the response, check `graphql_json.log`,
432
456
`sidekiq_json.log`, `llm.log` or `modelgateway_debug.log` if it contains error
433
457
information.
434
458
459
+
### Duo Chat Conversation Threads GraphQL queries
460
+
461
+
#### Querying messages in a conversation thread
462
+
463
+
To retrieve messages from a specific thread, use the `aiMessages` query with a thread ID:
Copy file name to clipboardExpand all lines: doc/user/compliance/compliance_center/compliance_status_report.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ title: Compliance status report
14
14
15
15
{{< history >}}
16
16
17
-
-[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/186525) in GitLab 17.11 [with a flag](../../../administration/feature_flags.md) named `enable_standards_adherence_dashboard_v2`. Disabled by default.
17
+
-[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/186525) in GitLab 17.11 [with a flag](../../../administration/feature_flags.md) named `enable_standards_adherence_dashboard_v2`. Enabled by default.
0 commit comments