50

gitlab (ローカル) サーバーでマージ リクエストを作成しました。これで、マージ リクエストをクリックするたびに、リクエストがエラー 500 でタイムアウトします。それ以前は、エラー コード 504 が表示されていたので、この gitlab サポート トピックに記載されている変更を適用しました。

私がやりたいのは、マージ要求を削除することだけです。これを手動で行う方法はありますか?

4

4 に答える 4

15

はい、あります.... ユーザー インターフェイスでマージ リクエストを削除する方法が見つかりませんでしたが、データベースから削除するだけで済みます。

(Ubuntu 14.04.3 LTS の gitlab CE 8.4.0-ce.0 でのみこれをテストしたことに注意してください。他のバージョンではデータベース構造が異なる場合があります)

コマンド プロンプトで、次のコマンドを (root として) 実行します。

sudo -u gitlab-psql /opt/gitlab/embedded/bin/psql -h /var/opt/gitlab/postgresql -d gitlabhq_production

これにより、PostgreSQL コマンド ターミナルが表示されます。次に、削除したいマージ リクエストを見つける必要があります。PostgreSQL コマンド ターミナルで次のように入力します。

select id, title from merge_requests;

マージ リクエストの ID とタイトルのリストが表示されます。削除したいものを見つけてメモしますid

OK、削除したいマージリクエストが見つかったとしましょid5。次の SQL コマンドを使用して、そのマージ リクエストに関連付けられたすべてのデータを削除するだけです。(5以下のコマンドを実際のマージリクエストに置き換えてくださいid

delete from merge_requests where id = 5;
delete from merge_request_diffs where merge_request_id = 5;
delete from notes where noteable_type = 'MergeRequest' and noteable_id = 5;

次のように入力して、PostgreSQL コマンド ターミナルを終了できるようになりました。

\q

これで、マージ リクエストは Web インターフェイスから削除されます。

于 2016-01-24T23:03:16.443 に答える
11

これが CE でも機能するかどうかはわかりませんが、少なくとも EE にはマージ リクエストを削除するための API エンドポイントがあります。

curl --request DELETE --header "PRIVATE-TOKEN: <private_token>" https://gitlab.example.com/api/v3/projects/4/merge_request/85
于 2016-12-07T14:38:31.333 に答える