bbs2gh: support setting custom property values after repository migration
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 25/100
Hướng nghiên cứu
The work is in the bbs2gh migrate-repo command, where the proposed --custom-properties flag would be validated and then applied via PATCH /repos/{owner}/{repo}/properties/values after a successful migration. Linked PR #1629 already holds an implementation, so review that first rather than starting fresh. Done means the flag is validated up front, rejected with --queue-only and export-only modes, and reports property-update failures without suggesting a rerun.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Description
I'd like to add an optional --custom-properties flag to gh bbs2gh migrate-repo so users can apply custom property key/value pairs to the destination repository as part of the migration command, rather than running a separate update manually.
Example:
--custom-properties '{"environment":"production","teams":["platform","security"]}'
The proposed scope is bbs2gh only. This does not add the option to ado2gh, gei, or gl2gh.
Proposed behavior
- Accept an inline JSON object with strings, arrays of strings (multi-select), and
null(unset). Boolean properties use the strings"true"and"false". - Validate the JSON and incompatible options before starting migration work.
- After the repository migration succeeds, apply the values using
PATCH /repos/{owner}/{repo}/properties/values. - Require the properties to already be defined in the destination organization and the caller to have permission to edit their values.
- Reject
--queue-onlyand export-only operations, since no post-migration update can be guaranteed in those modes. - Report property-update failures explicitly while explaining that the migrated repository already exists and the migration should not be rerun.
- Leave existing behavior unchanged when the flag is omitted.
generate-scriptis not extended; users can add the flag to individual generatedmigrate-repocalls.
Important limitation and related issues
The currently exposed StartRepositoryMigrationInput GraphQL input does not have a custom-properties field, so this proposal applies values after a successful migration, not atomically at repository creation.
It therefore does not solve creation-time required-property policies or the scenarios in github/gh-gei#1558 and github/gh-gei#1563. Those need migration API support and are separate from this bbs2gh-only convenience feature.
An implementation is prepared on enyil/gh-gei:enyil-bbs2gh-custom-properties with regression coverage, README documentation, logging, and a release note. Opening this issue for maintainer feedback before submitting a PR, as requested by CONTRIBUTING.md.
- Ngôn ngữ chính
- C#
- Star
- 482
- Fork
- 151
- Merge trung bình
- 2 ngày 18 giờ
- Pull request đã merge (30 ngày)
- 5
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của github/gh-gei
-
migrate-code-scanning-alerts fails with OverflowException: analysis IDs now exceed Int32.MaxValueĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
task
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
-
task
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100
-
Support Fine-grained Personal Access Tokens (PATs) in GEI to enable least-privilege CLI migrationsĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
Tất cả issue của github/gh-gei
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
area:repo elsa 3 prio low triaged type:bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
elsa-workflows/elsa-core#9258 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
iokode/OpinionatedFramework#140 ·
-
accessibility effort: small enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
pedersebastian/CustomBossChallenge#185 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100