GitLab 19.0リリースノート - 未リリース
次の機能はGitLab 19.0で提供されます。これらの機能は現在GitLab.comで利用可能です。
エージェント型コア
完全一致コードの検索結果をリポジトリでフィルタリング
これで完全一致コードの検索結果をリポジトリでフィルタリングできるようになりました。repo:構文を使用すると、個々のプロジェクトに移動することなく、検索クエリを特定のリポジトリまたはリポジトリパターンに直接スコープできます。
例えば、def authenticate repo:my-group/my-projectを検索すると、そのリポジトリからの結果のみが返されます。また、部分的なパスやパターンを使用して、複数のリポジトリを照合することもできます。
統合されたDevOpsとセキュリティ
CI/CDインプットの配列サポートの改善
CI/CDインプットは、配列を扱うためのサポートが改善されました。配列入力内の特定の要素にアクセスするには、配列インデックス演算子[]を使用します。この機能強化により、パイプラインの設定において、より柔軟で強力な入力補間機能が提供され、追加の処理ステップなしで個々の配列項目を直接参照できるようになります。
パイプライン入力に複数の値を選択
以前は、UIで入力オプションを選択する際に単一の値しか選択できず、より複雑なオプションを持つパイプラインの柔軟性が制限されていました。
これで、UIから入力を含むパイプラインを実行する際、ドロップダウンリストから複数の値を選択でき、選択された値は例えば["option1","option2"]のように配列に結合されます。これにより、複数のインスタンスでサービスを再起動したり、複数のDockerイメージをビルドしたり、複数のタグの組み合わせでテストを実行したり、単一のパイプライン実行で複数のターゲットにわたるあらゆる操作を簡単に実行できます。
HMAC署名トークンでWebhookを保護する
既存のX-Gitlab-Tokenヘッダーは静的なシークレットを平文で送信するため、Webhookは傍受やリプレイ攻撃に対して脆弱です。
これで、任意のWebhookに署名トークンを追加できます。GitLabは、署名トークンを使用して以下のHMAC-SHA256署名を算出します:
- 一意のWebhook ID。
- リクエストのタイムスタンプ。
- Webhookペイロード。
GitLabは、Standard Webhooks仕様に従い、webhook-idおよびwebhook-timestampヘッダーとともに、結果をwebhook-signatureヘッダーで送信します。
署名を再計算することで、リクエストがGitLabから真正に送信されたものであり、ペイロードが変更されていないことを確認できます。タイムスタンプも検証することで、リプレイされたリクエストを拒否できます。
Van AndersonとNorman Debaldのコミュニティへのコントリビュートに感謝します!