You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

v1_json.tmpl 243KB

Feature: Timetracking (#2211) * Added comment's hashtag to url for mail notifications. * Added explanation to return statement + documentation. * Replacing in-line link generation with HTMLURL. (+gofmt) * Replaced action-based model with nil-based model. (+gofmt) * Replaced mailIssueActionToParticipants with mailIssueCommentToParticipants. * Updating comment for mailIssueCommentToParticipants * Added link to comment in "Dashboard" * Deleting feed entry if a comment is going to be deleted * Added migration * Added improved migration to add a CommentID column to action. * Added improved links to comments in feed entries. * Fixes #1956 by filtering for deleted comments that are referenced in actions. * Introducing "IsDeleted" column to action. * Adding design draft (not functional) * Adding database models for stopwatches and trackedtimes * See go-gitea/gitea#967 * Adding design draft (not functional) * Adding translations and improving design * Implementing stopwatch (for timetracking) * Make UI functional * Add hints in timeline for time tracking events * Implementing timetracking feature * Adding "Add time manual" option * Improved stopwatch * Created report of total spent time by user * Only showing total time spent if theire is something to show. * Adding license headers. * Improved error handling for "Add Time Manual" * Adding @sapks 's changes, refactoring * Adding API for feature tracking * Adding unit test * Adding DISABLE/ENABLE option to Repository settings page * Improving translations * Applying @sapk 's changes * Removing repo_unit and using IssuesSetting for disabling/enabling timetracker * Adding DEFAULT_ENABLE_TIMETRACKER to config, installation and admin menu * Improving documentation * Fixing vendor/ folder * Changing timtracking routes by adding subgroups /times and /times/stopwatch (Proposed by @lafriks ) * Restricting write access to timetracking based on the repo settings (Proposed by @lafriks ) * Fixed minor permissions bug. * Adding CanUseTimetracker and IsTimetrackerEnabled in ctx.Repo * Allow assignees and authors to track there time too. * Fixed some build-time-errors + logical errors. * Removing unused Get...ByID functions * Moving IsTimetrackerEnabled from context.Repository to models.Repository * Adding a seperate file for issue related repo functions * Adding license headers * Fixed GetUserByParams return 404 * Moving /users/:username/times to /repos/:username/:reponame/times/:username for security reasons * Adding /repos/:username/times to get all tracked times of the repo * Updating sdk-dependency * Updating swagger.v1.json * Adding warning if user has already a running stopwatch (auto-timetracker) * Replacing GetTrackedTimesBy... with GetTrackedTimes(options FindTrackedTimesOptions) * Changing code.gitea.io/sdk back to code.gitea.io/sdk * Correcting spelling mistake * Updating vendor.json * Changing GET stopwatch/toggle to POST stopwatch/toggle * Changing GET stopwatch/cancel to POST stopwatch/cancel * Added migration for stopwatches/timetracking * Fixed some access bugs for read-only users * Added default allow only contributors to track time value to config * Fixed migration by chaging x.Iterate to x.Find * Resorted imports * Moved Add Time Manually form to repo_form.go * Removed "Seconds" field from Add Time Manually * Resorted imports * Improved permission checking * Fixed some bugs * Added integration test * gofmt * Adding integration test by @lafriks * Added created_unix to comment fixtures * Using last event instead of a fixed event * Adding another integration test by @lafriks * Fixing bug Timetracker enabled causing error 500 at sidebar.tpl * Fixed a refactoring bug that resulted in hiding "HasUserStopwatch" warning. * Returning TrackedTime instead of AddTimeOption at AddTime. * Updating SDK from go-gitea/go-sdk#69 * Resetting Go-SDK back to default repository * Fixing test-vendor by changing ini back to original repository * Adding "tags" to swagger spec * govendor sync * Removed duplicate * Formatting templates * Adding IsTimetrackingEnabled checks to API * Improving translations / english texts * Improving documentation * Updating swagger spec * Fixing integration test caused be translation-changes * Removed encoding issues in local_en-US.ini. * "Added" copyright line * Moved unit.IssuesConfig().EnableTimetracker into a != nil check * Removed some other encoding issues in local_en-US.ini * Improved javascript by checking if data-context exists * Replaced manual comment creation with CreateComment * Removed unnecessary code * Improved error checking * Small cosmetic changes * Replaced int>string>duration parsing with int>duration parsing * Fixed encoding issues * Removed unused imports Signed-off-by: Jonas Franz <info@jonasfranz.software>
6 years ago
Feature: Timetracking (#2211) * Added comment's hashtag to url for mail notifications. * Added explanation to return statement + documentation. * Replacing in-line link generation with HTMLURL. (+gofmt) * Replaced action-based model with nil-based model. (+gofmt) * Replaced mailIssueActionToParticipants with mailIssueCommentToParticipants. * Updating comment for mailIssueCommentToParticipants * Added link to comment in "Dashboard" * Deleting feed entry if a comment is going to be deleted * Added migration * Added improved migration to add a CommentID column to action. * Added improved links to comments in feed entries. * Fixes #1956 by filtering for deleted comments that are referenced in actions. * Introducing "IsDeleted" column to action. * Adding design draft (not functional) * Adding database models for stopwatches and trackedtimes * See go-gitea/gitea#967 * Adding design draft (not functional) * Adding translations and improving design * Implementing stopwatch (for timetracking) * Make UI functional * Add hints in timeline for time tracking events * Implementing timetracking feature * Adding "Add time manual" option * Improved stopwatch * Created report of total spent time by user * Only showing total time spent if theire is something to show. * Adding license headers. * Improved error handling for "Add Time Manual" * Adding @sapks 's changes, refactoring * Adding API for feature tracking * Adding unit test * Adding DISABLE/ENABLE option to Repository settings page * Improving translations * Applying @sapk 's changes * Removing repo_unit and using IssuesSetting for disabling/enabling timetracker * Adding DEFAULT_ENABLE_TIMETRACKER to config, installation and admin menu * Improving documentation * Fixing vendor/ folder * Changing timtracking routes by adding subgroups /times and /times/stopwatch (Proposed by @lafriks ) * Restricting write access to timetracking based on the repo settings (Proposed by @lafriks ) * Fixed minor permissions bug. * Adding CanUseTimetracker and IsTimetrackerEnabled in ctx.Repo * Allow assignees and authors to track there time too. * Fixed some build-time-errors + logical errors. * Removing unused Get...ByID functions * Moving IsTimetrackerEnabled from context.Repository to models.Repository * Adding a seperate file for issue related repo functions * Adding license headers * Fixed GetUserByParams return 404 * Moving /users/:username/times to /repos/:username/:reponame/times/:username for security reasons * Adding /repos/:username/times to get all tracked times of the repo * Updating sdk-dependency * Updating swagger.v1.json * Adding warning if user has already a running stopwatch (auto-timetracker) * Replacing GetTrackedTimesBy... with GetTrackedTimes(options FindTrackedTimesOptions) * Changing code.gitea.io/sdk back to code.gitea.io/sdk * Correcting spelling mistake * Updating vendor.json * Changing GET stopwatch/toggle to POST stopwatch/toggle * Changing GET stopwatch/cancel to POST stopwatch/cancel * Added migration for stopwatches/timetracking * Fixed some access bugs for read-only users * Added default allow only contributors to track time value to config * Fixed migration by chaging x.Iterate to x.Find * Resorted imports * Moved Add Time Manually form to repo_form.go * Removed "Seconds" field from Add Time Manually * Resorted imports * Improved permission checking * Fixed some bugs * Added integration test * gofmt * Adding integration test by @lafriks * Added created_unix to comment fixtures * Using last event instead of a fixed event * Adding another integration test by @lafriks * Fixing bug Timetracker enabled causing error 500 at sidebar.tpl * Fixed a refactoring bug that resulted in hiding "HasUserStopwatch" warning. * Returning TrackedTime instead of AddTimeOption at AddTime. * Updating SDK from go-gitea/go-sdk#69 * Resetting Go-SDK back to default repository * Fixing test-vendor by changing ini back to original repository * Adding "tags" to swagger spec * govendor sync * Removed duplicate * Formatting templates * Adding IsTimetrackingEnabled checks to API * Improving translations / english texts * Improving documentation * Updating swagger spec * Fixing integration test caused be translation-changes * Removed encoding issues in local_en-US.ini. * "Added" copyright line * Moved unit.IssuesConfig().EnableTimetracker into a != nil check * Removed some other encoding issues in local_en-US.ini * Improved javascript by checking if data-context exists * Replaced manual comment creation with CreateComment * Removed unnecessary code * Improved error checking * Small cosmetic changes * Replaced int>string>duration parsing with int>duration parsing * Fixed encoding issues * Removed unused imports Signed-off-by: Jonas Franz <info@jonasfranz.software>
6 years ago
Feature: Timetracking (#2211) * Added comment's hashtag to url for mail notifications. * Added explanation to return statement + documentation. * Replacing in-line link generation with HTMLURL. (+gofmt) * Replaced action-based model with nil-based model. (+gofmt) * Replaced mailIssueActionToParticipants with mailIssueCommentToParticipants. * Updating comment for mailIssueCommentToParticipants * Added link to comment in "Dashboard" * Deleting feed entry if a comment is going to be deleted * Added migration * Added improved migration to add a CommentID column to action. * Added improved links to comments in feed entries. * Fixes #1956 by filtering for deleted comments that are referenced in actions. * Introducing "IsDeleted" column to action. * Adding design draft (not functional) * Adding database models for stopwatches and trackedtimes * See go-gitea/gitea#967 * Adding design draft (not functional) * Adding translations and improving design * Implementing stopwatch (for timetracking) * Make UI functional * Add hints in timeline for time tracking events * Implementing timetracking feature * Adding "Add time manual" option * Improved stopwatch * Created report of total spent time by user * Only showing total time spent if theire is something to show. * Adding license headers. * Improved error handling for "Add Time Manual" * Adding @sapks 's changes, refactoring * Adding API for feature tracking * Adding unit test * Adding DISABLE/ENABLE option to Repository settings page * Improving translations * Applying @sapk 's changes * Removing repo_unit and using IssuesSetting for disabling/enabling timetracker * Adding DEFAULT_ENABLE_TIMETRACKER to config, installation and admin menu * Improving documentation * Fixing vendor/ folder * Changing timtracking routes by adding subgroups /times and /times/stopwatch (Proposed by @lafriks ) * Restricting write access to timetracking based on the repo settings (Proposed by @lafriks ) * Fixed minor permissions bug. * Adding CanUseTimetracker and IsTimetrackerEnabled in ctx.Repo * Allow assignees and authors to track there time too. * Fixed some build-time-errors + logical errors. * Removing unused Get...ByID functions * Moving IsTimetrackerEnabled from context.Repository to models.Repository * Adding a seperate file for issue related repo functions * Adding license headers * Fixed GetUserByParams return 404 * Moving /users/:username/times to /repos/:username/:reponame/times/:username for security reasons * Adding /repos/:username/times to get all tracked times of the repo * Updating sdk-dependency * Updating swagger.v1.json * Adding warning if user has already a running stopwatch (auto-timetracker) * Replacing GetTrackedTimesBy... with GetTrackedTimes(options FindTrackedTimesOptions) * Changing code.gitea.io/sdk back to code.gitea.io/sdk * Correcting spelling mistake * Updating vendor.json * Changing GET stopwatch/toggle to POST stopwatch/toggle * Changing GET stopwatch/cancel to POST stopwatch/cancel * Added migration for stopwatches/timetracking * Fixed some access bugs for read-only users * Added default allow only contributors to track time value to config * Fixed migration by chaging x.Iterate to x.Find * Resorted imports * Moved Add Time Manually form to repo_form.go * Removed "Seconds" field from Add Time Manually * Resorted imports * Improved permission checking * Fixed some bugs * Added integration test * gofmt * Adding integration test by @lafriks * Added created_unix to comment fixtures * Using last event instead of a fixed event * Adding another integration test by @lafriks * Fixing bug Timetracker enabled causing error 500 at sidebar.tpl * Fixed a refactoring bug that resulted in hiding "HasUserStopwatch" warning. * Returning TrackedTime instead of AddTimeOption at AddTime. * Updating SDK from go-gitea/go-sdk#69 * Resetting Go-SDK back to default repository * Fixing test-vendor by changing ini back to original repository * Adding "tags" to swagger spec * govendor sync * Removed duplicate * Formatting templates * Adding IsTimetrackingEnabled checks to API * Improving translations / english texts * Improving documentation * Updating swagger spec * Fixing integration test caused be translation-changes * Removed encoding issues in local_en-US.ini. * "Added" copyright line * Moved unit.IssuesConfig().EnableTimetracker into a != nil check * Removed some other encoding issues in local_en-US.ini * Improved javascript by checking if data-context exists * Replaced manual comment creation with CreateComment * Removed unnecessary code * Improved error checking * Small cosmetic changes * Replaced int>string>duration parsing with int>duration parsing * Fixed encoding issues * Removed unused imports Signed-off-by: Jonas Franz <info@jonasfranz.software>
6 years ago
Feature: Timetracking (#2211) * Added comment's hashtag to url for mail notifications. * Added explanation to return statement + documentation. * Replacing in-line link generation with HTMLURL. (+gofmt) * Replaced action-based model with nil-based model. (+gofmt) * Replaced mailIssueActionToParticipants with mailIssueCommentToParticipants. * Updating comment for mailIssueCommentToParticipants * Added link to comment in "Dashboard" * Deleting feed entry if a comment is going to be deleted * Added migration * Added improved migration to add a CommentID column to action. * Added improved links to comments in feed entries. * Fixes #1956 by filtering for deleted comments that are referenced in actions. * Introducing "IsDeleted" column to action. * Adding design draft (not functional) * Adding database models for stopwatches and trackedtimes * See go-gitea/gitea#967 * Adding design draft (not functional) * Adding translations and improving design * Implementing stopwatch (for timetracking) * Make UI functional * Add hints in timeline for time tracking events * Implementing timetracking feature * Adding "Add time manual" option * Improved stopwatch * Created report of total spent time by user * Only showing total time spent if theire is something to show. * Adding license headers. * Improved error handling for "Add Time Manual" * Adding @sapks 's changes, refactoring * Adding API for feature tracking * Adding unit test * Adding DISABLE/ENABLE option to Repository settings page * Improving translations * Applying @sapk 's changes * Removing repo_unit and using IssuesSetting for disabling/enabling timetracker * Adding DEFAULT_ENABLE_TIMETRACKER to config, installation and admin menu * Improving documentation * Fixing vendor/ folder * Changing timtracking routes by adding subgroups /times and /times/stopwatch (Proposed by @lafriks ) * Restricting write access to timetracking based on the repo settings (Proposed by @lafriks ) * Fixed minor permissions bug. * Adding CanUseTimetracker and IsTimetrackerEnabled in ctx.Repo * Allow assignees and authors to track there time too. * Fixed some build-time-errors + logical errors. * Removing unused Get...ByID functions * Moving IsTimetrackerEnabled from context.Repository to models.Repository * Adding a seperate file for issue related repo functions * Adding license headers * Fixed GetUserByParams return 404 * Moving /users/:username/times to /repos/:username/:reponame/times/:username for security reasons * Adding /repos/:username/times to get all tracked times of the repo * Updating sdk-dependency * Updating swagger.v1.json * Adding warning if user has already a running stopwatch (auto-timetracker) * Replacing GetTrackedTimesBy... with GetTrackedTimes(options FindTrackedTimesOptions) * Changing code.gitea.io/sdk back to code.gitea.io/sdk * Correcting spelling mistake * Updating vendor.json * Changing GET stopwatch/toggle to POST stopwatch/toggle * Changing GET stopwatch/cancel to POST stopwatch/cancel * Added migration for stopwatches/timetracking * Fixed some access bugs for read-only users * Added default allow only contributors to track time value to config * Fixed migration by chaging x.Iterate to x.Find * Resorted imports * Moved Add Time Manually form to repo_form.go * Removed "Seconds" field from Add Time Manually * Resorted imports * Improved permission checking * Fixed some bugs * Added integration test * gofmt * Adding integration test by @lafriks * Added created_unix to comment fixtures * Using last event instead of a fixed event * Adding another integration test by @lafriks * Fixing bug Timetracker enabled causing error 500 at sidebar.tpl * Fixed a refactoring bug that resulted in hiding "HasUserStopwatch" warning. * Returning TrackedTime instead of AddTimeOption at AddTime. * Updating SDK from go-gitea/go-sdk#69 * Resetting Go-SDK back to default repository * Fixing test-vendor by changing ini back to original repository * Adding "tags" to swagger spec * govendor sync * Removed duplicate * Formatting templates * Adding IsTimetrackingEnabled checks to API * Improving translations / english texts * Improving documentation * Updating swagger spec * Fixing integration test caused be translation-changes * Removed encoding issues in local_en-US.ini. * "Added" copyright line * Moved unit.IssuesConfig().EnableTimetracker into a != nil check * Removed some other encoding issues in local_en-US.ini * Improved javascript by checking if data-context exists * Replaced manual comment creation with CreateComment * Removed unnecessary code * Improved error checking * Small cosmetic changes * Replaced int>string>duration parsing with int>duration parsing * Fixed encoding issues * Removed unused imports Signed-off-by: Jonas Franz <info@jonasfranz.software>
6 years ago
Feature: Timetracking (#2211) * Added comment's hashtag to url for mail notifications. * Added explanation to return statement + documentation. * Replacing in-line link generation with HTMLURL. (+gofmt) * Replaced action-based model with nil-based model. (+gofmt) * Replaced mailIssueActionToParticipants with mailIssueCommentToParticipants. * Updating comment for mailIssueCommentToParticipants * Added link to comment in "Dashboard" * Deleting feed entry if a comment is going to be deleted * Added migration * Added improved migration to add a CommentID column to action. * Added improved links to comments in feed entries. * Fixes #1956 by filtering for deleted comments that are referenced in actions. * Introducing "IsDeleted" column to action. * Adding design draft (not functional) * Adding database models for stopwatches and trackedtimes * See go-gitea/gitea#967 * Adding design draft (not functional) * Adding translations and improving design * Implementing stopwatch (for timetracking) * Make UI functional * Add hints in timeline for time tracking events * Implementing timetracking feature * Adding "Add time manual" option * Improved stopwatch * Created report of total spent time by user * Only showing total time spent if theire is something to show. * Adding license headers. * Improved error handling for "Add Time Manual" * Adding @sapks 's changes, refactoring * Adding API for feature tracking * Adding unit test * Adding DISABLE/ENABLE option to Repository settings page * Improving translations * Applying @sapk 's changes * Removing repo_unit and using IssuesSetting for disabling/enabling timetracker * Adding DEFAULT_ENABLE_TIMETRACKER to config, installation and admin menu * Improving documentation * Fixing vendor/ folder * Changing timtracking routes by adding subgroups /times and /times/stopwatch (Proposed by @lafriks ) * Restricting write access to timetracking based on the repo settings (Proposed by @lafriks ) * Fixed minor permissions bug. * Adding CanUseTimetracker and IsTimetrackerEnabled in ctx.Repo * Allow assignees and authors to track there time too. * Fixed some build-time-errors + logical errors. * Removing unused Get...ByID functions * Moving IsTimetrackerEnabled from context.Repository to models.Repository * Adding a seperate file for issue related repo functions * Adding license headers * Fixed GetUserByParams return 404 * Moving /users/:username/times to /repos/:username/:reponame/times/:username for security reasons * Adding /repos/:username/times to get all tracked times of the repo * Updating sdk-dependency * Updating swagger.v1.json * Adding warning if user has already a running stopwatch (auto-timetracker) * Replacing GetTrackedTimesBy... with GetTrackedTimes(options FindTrackedTimesOptions) * Changing code.gitea.io/sdk back to code.gitea.io/sdk * Correcting spelling mistake * Updating vendor.json * Changing GET stopwatch/toggle to POST stopwatch/toggle * Changing GET stopwatch/cancel to POST stopwatch/cancel * Added migration for stopwatches/timetracking * Fixed some access bugs for read-only users * Added default allow only contributors to track time value to config * Fixed migration by chaging x.Iterate to x.Find * Resorted imports * Moved Add Time Manually form to repo_form.go * Removed "Seconds" field from Add Time Manually * Resorted imports * Improved permission checking * Fixed some bugs * Added integration test * gofmt * Adding integration test by @lafriks * Added created_unix to comment fixtures * Using last event instead of a fixed event * Adding another integration test by @lafriks * Fixing bug Timetracker enabled causing error 500 at sidebar.tpl * Fixed a refactoring bug that resulted in hiding "HasUserStopwatch" warning. * Returning TrackedTime instead of AddTimeOption at AddTime. * Updating SDK from go-gitea/go-sdk#69 * Resetting Go-SDK back to default repository * Fixing test-vendor by changing ini back to original repository * Adding "tags" to swagger spec * govendor sync * Removed duplicate * Formatting templates * Adding IsTimetrackingEnabled checks to API * Improving translations / english texts * Improving documentation * Updating swagger spec * Fixing integration test caused be translation-changes * Removed encoding issues in local_en-US.ini. * "Added" copyright line * Moved unit.IssuesConfig().EnableTimetracker into a != nil check * Removed some other encoding issues in local_en-US.ini * Improved javascript by checking if data-context exists * Replaced manual comment creation with CreateComment * Removed unnecessary code * Improved error checking * Small cosmetic changes * Replaced int>string>duration parsing with int>duration parsing * Fixed encoding issues * Removed unused imports Signed-off-by: Jonas Franz <info@jonasfranz.software>
6 years ago
Feature: Timetracking (#2211) * Added comment's hashtag to url for mail notifications. * Added explanation to return statement + documentation. * Replacing in-line link generation with HTMLURL. (+gofmt) * Replaced action-based model with nil-based model. (+gofmt) * Replaced mailIssueActionToParticipants with mailIssueCommentToParticipants. * Updating comment for mailIssueCommentToParticipants * Added link to comment in "Dashboard" * Deleting feed entry if a comment is going to be deleted * Added migration * Added improved migration to add a CommentID column to action. * Added improved links to comments in feed entries. * Fixes #1956 by filtering for deleted comments that are referenced in actions. * Introducing "IsDeleted" column to action. * Adding design draft (not functional) * Adding database models for stopwatches and trackedtimes * See go-gitea/gitea#967 * Adding design draft (not functional) * Adding translations and improving design * Implementing stopwatch (for timetracking) * Make UI functional * Add hints in timeline for time tracking events * Implementing timetracking feature * Adding "Add time manual" option * Improved stopwatch * Created report of total spent time by user * Only showing total time spent if theire is something to show. * Adding license headers. * Improved error handling for "Add Time Manual" * Adding @sapks 's changes, refactoring * Adding API for feature tracking * Adding unit test * Adding DISABLE/ENABLE option to Repository settings page * Improving translations * Applying @sapk 's changes * Removing repo_unit and using IssuesSetting for disabling/enabling timetracker * Adding DEFAULT_ENABLE_TIMETRACKER to config, installation and admin menu * Improving documentation * Fixing vendor/ folder * Changing timtracking routes by adding subgroups /times and /times/stopwatch (Proposed by @lafriks ) * Restricting write access to timetracking based on the repo settings (Proposed by @lafriks ) * Fixed minor permissions bug. * Adding CanUseTimetracker and IsTimetrackerEnabled in ctx.Repo * Allow assignees and authors to track there time too. * Fixed some build-time-errors + logical errors. * Removing unused Get...ByID functions * Moving IsTimetrackerEnabled from context.Repository to models.Repository * Adding a seperate file for issue related repo functions * Adding license headers * Fixed GetUserByParams return 404 * Moving /users/:username/times to /repos/:username/:reponame/times/:username for security reasons * Adding /repos/:username/times to get all tracked times of the repo * Updating sdk-dependency * Updating swagger.v1.json * Adding warning if user has already a running stopwatch (auto-timetracker) * Replacing GetTrackedTimesBy... with GetTrackedTimes(options FindTrackedTimesOptions) * Changing code.gitea.io/sdk back to code.gitea.io/sdk * Correcting spelling mistake * Updating vendor.json * Changing GET stopwatch/toggle to POST stopwatch/toggle * Changing GET stopwatch/cancel to POST stopwatch/cancel * Added migration for stopwatches/timetracking * Fixed some access bugs for read-only users * Added default allow only contributors to track time value to config * Fixed migration by chaging x.Iterate to x.Find * Resorted imports * Moved Add Time Manually form to repo_form.go * Removed "Seconds" field from Add Time Manually * Resorted imports * Improved permission checking * Fixed some bugs * Added integration test * gofmt * Adding integration test by @lafriks * Added created_unix to comment fixtures * Using last event instead of a fixed event * Adding another integration test by @lafriks * Fixing bug Timetracker enabled causing error 500 at sidebar.tpl * Fixed a refactoring bug that resulted in hiding "HasUserStopwatch" warning. * Returning TrackedTime instead of AddTimeOption at AddTime. * Updating SDK from go-gitea/go-sdk#69 * Resetting Go-SDK back to default repository * Fixing test-vendor by changing ini back to original repository * Adding "tags" to swagger spec * govendor sync * Removed duplicate * Formatting templates * Adding IsTimetrackingEnabled checks to API * Improving translations / english texts * Improving documentation * Updating swagger spec * Fixing integration test caused be translation-changes * Removed encoding issues in local_en-US.ini. * "Added" copyright line * Moved unit.IssuesConfig().EnableTimetracker into a != nil check * Removed some other encoding issues in local_en-US.ini * Improved javascript by checking if data-context exists * Replaced manual comment creation with CreateComment * Removed unnecessary code * Improved error checking * Small cosmetic changes * Replaced int>string>duration parsing with int>duration parsing * Fixed encoding issues * Removed unused imports Signed-off-by: Jonas Franz <info@jonasfranz.software>
6 years ago
Feature: Timetracking (#2211) * Added comment's hashtag to url for mail notifications. * Added explanation to return statement + documentation. * Replacing in-line link generation with HTMLURL. (+gofmt) * Replaced action-based model with nil-based model. (+gofmt) * Replaced mailIssueActionToParticipants with mailIssueCommentToParticipants. * Updating comment for mailIssueCommentToParticipants * Added link to comment in "Dashboard" * Deleting feed entry if a comment is going to be deleted * Added migration * Added improved migration to add a CommentID column to action. * Added improved links to comments in feed entries. * Fixes #1956 by filtering for deleted comments that are referenced in actions. * Introducing "IsDeleted" column to action. * Adding design draft (not functional) * Adding database models for stopwatches and trackedtimes * See go-gitea/gitea#967 * Adding design draft (not functional) * Adding translations and improving design * Implementing stopwatch (for timetracking) * Make UI functional * Add hints in timeline for time tracking events * Implementing timetracking feature * Adding "Add time manual" option * Improved stopwatch * Created report of total spent time by user * Only showing total time spent if theire is something to show. * Adding license headers. * Improved error handling for "Add Time Manual" * Adding @sapks 's changes, refactoring * Adding API for feature tracking * Adding unit test * Adding DISABLE/ENABLE option to Repository settings page * Improving translations * Applying @sapk 's changes * Removing repo_unit and using IssuesSetting for disabling/enabling timetracker * Adding DEFAULT_ENABLE_TIMETRACKER to config, installation and admin menu * Improving documentation * Fixing vendor/ folder * Changing timtracking routes by adding subgroups /times and /times/stopwatch (Proposed by @lafriks ) * Restricting write access to timetracking based on the repo settings (Proposed by @lafriks ) * Fixed minor permissions bug. * Adding CanUseTimetracker and IsTimetrackerEnabled in ctx.Repo * Allow assignees and authors to track there time too. * Fixed some build-time-errors + logical errors. * Removing unused Get...ByID functions * Moving IsTimetrackerEnabled from context.Repository to models.Repository * Adding a seperate file for issue related repo functions * Adding license headers * Fixed GetUserByParams return 404 * Moving /users/:username/times to /repos/:username/:reponame/times/:username for security reasons * Adding /repos/:username/times to get all tracked times of the repo * Updating sdk-dependency * Updating swagger.v1.json * Adding warning if user has already a running stopwatch (auto-timetracker) * Replacing GetTrackedTimesBy... with GetTrackedTimes(options FindTrackedTimesOptions) * Changing code.gitea.io/sdk back to code.gitea.io/sdk * Correcting spelling mistake * Updating vendor.json * Changing GET stopwatch/toggle to POST stopwatch/toggle * Changing GET stopwatch/cancel to POST stopwatch/cancel * Added migration for stopwatches/timetracking * Fixed some access bugs for read-only users * Added default allow only contributors to track time value to config * Fixed migration by chaging x.Iterate to x.Find * Resorted imports * Moved Add Time Manually form to repo_form.go * Removed "Seconds" field from Add Time Manually * Resorted imports * Improved permission checking * Fixed some bugs * Added integration test * gofmt * Adding integration test by @lafriks * Added created_unix to comment fixtures * Using last event instead of a fixed event * Adding another integration test by @lafriks * Fixing bug Timetracker enabled causing error 500 at sidebar.tpl * Fixed a refactoring bug that resulted in hiding "HasUserStopwatch" warning. * Returning TrackedTime instead of AddTimeOption at AddTime. * Updating SDK from go-gitea/go-sdk#69 * Resetting Go-SDK back to default repository * Fixing test-vendor by changing ini back to original repository * Adding "tags" to swagger spec * govendor sync * Removed duplicate * Formatting templates * Adding IsTimetrackingEnabled checks to API * Improving translations / english texts * Improving documentation * Updating swagger spec * Fixing integration test caused be translation-changes * Removed encoding issues in local_en-US.ini. * "Added" copyright line * Moved unit.IssuesConfig().EnableTimetracker into a != nil check * Removed some other encoding issues in local_en-US.ini * Improved javascript by checking if data-context exists * Replaced manual comment creation with CreateComment * Removed unnecessary code * Improved error checking * Small cosmetic changes * Replaced int>string>duration parsing with int>duration parsing * Fixed encoding issues * Removed unused imports Signed-off-by: Jonas Franz <info@jonasfranz.software>
6 years ago
Feature: Timetracking (#2211) * Added comment's hashtag to url for mail notifications. * Added explanation to return statement + documentation. * Replacing in-line link generation with HTMLURL. (+gofmt) * Replaced action-based model with nil-based model. (+gofmt) * Replaced mailIssueActionToParticipants with mailIssueCommentToParticipants. * Updating comment for mailIssueCommentToParticipants * Added link to comment in "Dashboard" * Deleting feed entry if a comment is going to be deleted * Added migration * Added improved migration to add a CommentID column to action. * Added improved links to comments in feed entries. * Fixes #1956 by filtering for deleted comments that are referenced in actions. * Introducing "IsDeleted" column to action. * Adding design draft (not functional) * Adding database models for stopwatches and trackedtimes * See go-gitea/gitea#967 * Adding design draft (not functional) * Adding translations and improving design * Implementing stopwatch (for timetracking) * Make UI functional * Add hints in timeline for time tracking events * Implementing timetracking feature * Adding "Add time manual" option * Improved stopwatch * Created report of total spent time by user * Only showing total time spent if theire is something to show. * Adding license headers. * Improved error handling for "Add Time Manual" * Adding @sapks 's changes, refactoring * Adding API for feature tracking * Adding unit test * Adding DISABLE/ENABLE option to Repository settings page * Improving translations * Applying @sapk 's changes * Removing repo_unit and using IssuesSetting for disabling/enabling timetracker * Adding DEFAULT_ENABLE_TIMETRACKER to config, installation and admin menu * Improving documentation * Fixing vendor/ folder * Changing timtracking routes by adding subgroups /times and /times/stopwatch (Proposed by @lafriks ) * Restricting write access to timetracking based on the repo settings (Proposed by @lafriks ) * Fixed minor permissions bug. * Adding CanUseTimetracker and IsTimetrackerEnabled in ctx.Repo * Allow assignees and authors to track there time too. * Fixed some build-time-errors + logical errors. * Removing unused Get...ByID functions * Moving IsTimetrackerEnabled from context.Repository to models.Repository * Adding a seperate file for issue related repo functions * Adding license headers * Fixed GetUserByParams return 404 * Moving /users/:username/times to /repos/:username/:reponame/times/:username for security reasons * Adding /repos/:username/times to get all tracked times of the repo * Updating sdk-dependency * Updating swagger.v1.json * Adding warning if user has already a running stopwatch (auto-timetracker) * Replacing GetTrackedTimesBy... with GetTrackedTimes(options FindTrackedTimesOptions) * Changing code.gitea.io/sdk back to code.gitea.io/sdk * Correcting spelling mistake * Updating vendor.json * Changing GET stopwatch/toggle to POST stopwatch/toggle * Changing GET stopwatch/cancel to POST stopwatch/cancel * Added migration for stopwatches/timetracking * Fixed some access bugs for read-only users * Added default allow only contributors to track time value to config * Fixed migration by chaging x.Iterate to x.Find * Resorted imports * Moved Add Time Manually form to repo_form.go * Removed "Seconds" field from Add Time Manually * Resorted imports * Improved permission checking * Fixed some bugs * Added integration test * gofmt * Adding integration test by @lafriks * Added created_unix to comment fixtures * Using last event instead of a fixed event * Adding another integration test by @lafriks * Fixing bug Timetracker enabled causing error 500 at sidebar.tpl * Fixed a refactoring bug that resulted in hiding "HasUserStopwatch" warning. * Returning TrackedTime instead of AddTimeOption at AddTime. * Updating SDK from go-gitea/go-sdk#69 * Resetting Go-SDK back to default repository * Fixing test-vendor by changing ini back to original repository * Adding "tags" to swagger spec * govendor sync * Removed duplicate * Formatting templates * Adding IsTimetrackingEnabled checks to API * Improving translations / english texts * Improving documentation * Updating swagger spec * Fixing integration test caused be translation-changes * Removed encoding issues in local_en-US.ini. * "Added" copyright line * Moved unit.IssuesConfig().EnableTimetracker into a != nil check * Removed some other encoding issues in local_en-US.ini * Improved javascript by checking if data-context exists * Replaced manual comment creation with CreateComment * Removed unnecessary code * Improved error checking * Small cosmetic changes * Replaced int>string>duration parsing with int>duration parsing * Fixed encoding issues * Removed unused imports Signed-off-by: Jonas Franz <info@jonasfranz.software>
6 years ago
Feature: Timetracking (#2211) * Added comment's hashtag to url for mail notifications. * Added explanation to return statement + documentation. * Replacing in-line link generation with HTMLURL. (+gofmt) * Replaced action-based model with nil-based model. (+gofmt) * Replaced mailIssueActionToParticipants with mailIssueCommentToParticipants. * Updating comment for mailIssueCommentToParticipants * Added link to comment in "Dashboard" * Deleting feed entry if a comment is going to be deleted * Added migration * Added improved migration to add a CommentID column to action. * Added improved links to comments in feed entries. * Fixes #1956 by filtering for deleted comments that are referenced in actions. * Introducing "IsDeleted" column to action. * Adding design draft (not functional) * Adding database models for stopwatches and trackedtimes * See go-gitea/gitea#967 * Adding design draft (not functional) * Adding translations and improving design * Implementing stopwatch (for timetracking) * Make UI functional * Add hints in timeline for time tracking events * Implementing timetracking feature * Adding "Add time manual" option * Improved stopwatch * Created report of total spent time by user * Only showing total time spent if theire is something to show. * Adding license headers. * Improved error handling for "Add Time Manual" * Adding @sapks 's changes, refactoring * Adding API for feature tracking * Adding unit test * Adding DISABLE/ENABLE option to Repository settings page * Improving translations * Applying @sapk 's changes * Removing repo_unit and using IssuesSetting for disabling/enabling timetracker * Adding DEFAULT_ENABLE_TIMETRACKER to config, installation and admin menu * Improving documentation * Fixing vendor/ folder * Changing timtracking routes by adding subgroups /times and /times/stopwatch (Proposed by @lafriks ) * Restricting write access to timetracking based on the repo settings (Proposed by @lafriks ) * Fixed minor permissions bug. * Adding CanUseTimetracker and IsTimetrackerEnabled in ctx.Repo * Allow assignees and authors to track there time too. * Fixed some build-time-errors + logical errors. * Removing unused Get...ByID functions * Moving IsTimetrackerEnabled from context.Repository to models.Repository * Adding a seperate file for issue related repo functions * Adding license headers * Fixed GetUserByParams return 404 * Moving /users/:username/times to /repos/:username/:reponame/times/:username for security reasons * Adding /repos/:username/times to get all tracked times of the repo * Updating sdk-dependency * Updating swagger.v1.json * Adding warning if user has already a running stopwatch (auto-timetracker) * Replacing GetTrackedTimesBy... with GetTrackedTimes(options FindTrackedTimesOptions) * Changing code.gitea.io/sdk back to code.gitea.io/sdk * Correcting spelling mistake * Updating vendor.json * Changing GET stopwatch/toggle to POST stopwatch/toggle * Changing GET stopwatch/cancel to POST stopwatch/cancel * Added migration for stopwatches/timetracking * Fixed some access bugs for read-only users * Added default allow only contributors to track time value to config * Fixed migration by chaging x.Iterate to x.Find * Resorted imports * Moved Add Time Manually form to repo_form.go * Removed "Seconds" field from Add Time Manually * Resorted imports * Improved permission checking * Fixed some bugs * Added integration test * gofmt * Adding integration test by @lafriks * Added created_unix to comment fixtures * Using last event instead of a fixed event * Adding another integration test by @lafriks * Fixing bug Timetracker enabled causing error 500 at sidebar.tpl * Fixed a refactoring bug that resulted in hiding "HasUserStopwatch" warning. * Returning TrackedTime instead of AddTimeOption at AddTime. * Updating SDK from go-gitea/go-sdk#69 * Resetting Go-SDK back to default repository * Fixing test-vendor by changing ini back to original repository * Adding "tags" to swagger spec * govendor sync * Removed duplicate * Formatting templates * Adding IsTimetrackingEnabled checks to API * Improving translations / english texts * Improving documentation * Updating swagger spec * Fixing integration test caused be translation-changes * Removed encoding issues in local_en-US.ini. * "Added" copyright line * Moved unit.IssuesConfig().EnableTimetracker into a != nil check * Removed some other encoding issues in local_en-US.ini * Improved javascript by checking if data-context exists * Replaced manual comment creation with CreateComment * Removed unnecessary code * Improved error checking * Small cosmetic changes * Replaced int>string>duration parsing with int>duration parsing * Fixed encoding issues * Removed unused imports Signed-off-by: Jonas Franz <info@jonasfranz.software>
6 years ago
Feature: Timetracking (#2211) * Added comment's hashtag to url for mail notifications. * Added explanation to return statement + documentation. * Replacing in-line link generation with HTMLURL. (+gofmt) * Replaced action-based model with nil-based model. (+gofmt) * Replaced mailIssueActionToParticipants with mailIssueCommentToParticipants. * Updating comment for mailIssueCommentToParticipants * Added link to comment in "Dashboard" * Deleting feed entry if a comment is going to be deleted * Added migration * Added improved migration to add a CommentID column to action. * Added improved links to comments in feed entries. * Fixes #1956 by filtering for deleted comments that are referenced in actions. * Introducing "IsDeleted" column to action. * Adding design draft (not functional) * Adding database models for stopwatches and trackedtimes * See go-gitea/gitea#967 * Adding design draft (not functional) * Adding translations and improving design * Implementing stopwatch (for timetracking) * Make UI functional * Add hints in timeline for time tracking events * Implementing timetracking feature * Adding "Add time manual" option * Improved stopwatch * Created report of total spent time by user * Only showing total time spent if theire is something to show. * Adding license headers. * Improved error handling for "Add Time Manual" * Adding @sapks 's changes, refactoring * Adding API for feature tracking * Adding unit test * Adding DISABLE/ENABLE option to Repository settings page * Improving translations * Applying @sapk 's changes * Removing repo_unit and using IssuesSetting for disabling/enabling timetracker * Adding DEFAULT_ENABLE_TIMETRACKER to config, installation and admin menu * Improving documentation * Fixing vendor/ folder * Changing timtracking routes by adding subgroups /times and /times/stopwatch (Proposed by @lafriks ) * Restricting write access to timetracking based on the repo settings (Proposed by @lafriks ) * Fixed minor permissions bug. * Adding CanUseTimetracker and IsTimetrackerEnabled in ctx.Repo * Allow assignees and authors to track there time too. * Fixed some build-time-errors + logical errors. * Removing unused Get...ByID functions * Moving IsTimetrackerEnabled from context.Repository to models.Repository * Adding a seperate file for issue related repo functions * Adding license headers * Fixed GetUserByParams return 404 * Moving /users/:username/times to /repos/:username/:reponame/times/:username for security reasons * Adding /repos/:username/times to get all tracked times of the repo * Updating sdk-dependency * Updating swagger.v1.json * Adding warning if user has already a running stopwatch (auto-timetracker) * Replacing GetTrackedTimesBy... with GetTrackedTimes(options FindTrackedTimesOptions) * Changing code.gitea.io/sdk back to code.gitea.io/sdk * Correcting spelling mistake * Updating vendor.json * Changing GET stopwatch/toggle to POST stopwatch/toggle * Changing GET stopwatch/cancel to POST stopwatch/cancel * Added migration for stopwatches/timetracking * Fixed some access bugs for read-only users * Added default allow only contributors to track time value to config * Fixed migration by chaging x.Iterate to x.Find * Resorted imports * Moved Add Time Manually form to repo_form.go * Removed "Seconds" field from Add Time Manually * Resorted imports * Improved permission checking * Fixed some bugs * Added integration test * gofmt * Adding integration test by @lafriks * Added created_unix to comment fixtures * Using last event instead of a fixed event * Adding another integration test by @lafriks * Fixing bug Timetracker enabled causing error 500 at sidebar.tpl * Fixed a refactoring bug that resulted in hiding "HasUserStopwatch" warning. * Returning TrackedTime instead of AddTimeOption at AddTime. * Updating SDK from go-gitea/go-sdk#69 * Resetting Go-SDK back to default repository * Fixing test-vendor by changing ini back to original repository * Adding "tags" to swagger spec * govendor sync * Removed duplicate * Formatting templates * Adding IsTimetrackingEnabled checks to API * Improving translations / english texts * Improving documentation * Updating swagger spec * Fixing integration test caused be translation-changes * Removed encoding issues in local_en-US.ini. * "Added" copyright line * Moved unit.IssuesConfig().EnableTimetracker into a != nil check * Removed some other encoding issues in local_en-US.ini * Improved javascript by checking if data-context exists * Replaced manual comment creation with CreateComment * Removed unnecessary code * Improved error checking * Small cosmetic changes * Replaced int>string>duration parsing with int>duration parsing * Fixed encoding issues * Removed unused imports Signed-off-by: Jonas Franz <info@jonasfranz.software>
6 years ago
Feature: Timetracking (#2211) * Added comment's hashtag to url for mail notifications. * Added explanation to return statement + documentation. * Replacing in-line link generation with HTMLURL. (+gofmt) * Replaced action-based model with nil-based model. (+gofmt) * Replaced mailIssueActionToParticipants with mailIssueCommentToParticipants. * Updating comment for mailIssueCommentToParticipants * Added link to comment in "Dashboard" * Deleting feed entry if a comment is going to be deleted * Added migration * Added improved migration to add a CommentID column to action. * Added improved links to comments in feed entries. * Fixes #1956 by filtering for deleted comments that are referenced in actions. * Introducing "IsDeleted" column to action. * Adding design draft (not functional) * Adding database models for stopwatches and trackedtimes * See go-gitea/gitea#967 * Adding design draft (not functional) * Adding translations and improving design * Implementing stopwatch (for timetracking) * Make UI functional * Add hints in timeline for time tracking events * Implementing timetracking feature * Adding "Add time manual" option * Improved stopwatch * Created report of total spent time by user * Only showing total time spent if theire is something to show. * Adding license headers. * Improved error handling for "Add Time Manual" * Adding @sapks 's changes, refactoring * Adding API for feature tracking * Adding unit test * Adding DISABLE/ENABLE option to Repository settings page * Improving translations * Applying @sapk 's changes * Removing repo_unit and using IssuesSetting for disabling/enabling timetracker * Adding DEFAULT_ENABLE_TIMETRACKER to config, installation and admin menu * Improving documentation * Fixing vendor/ folder * Changing timtracking routes by adding subgroups /times and /times/stopwatch (Proposed by @lafriks ) * Restricting write access to timetracking based on the repo settings (Proposed by @lafriks ) * Fixed minor permissions bug. * Adding CanUseTimetracker and IsTimetrackerEnabled in ctx.Repo * Allow assignees and authors to track there time too. * Fixed some build-time-errors + logical errors. * Removing unused Get...ByID functions * Moving IsTimetrackerEnabled from context.Repository to models.Repository * Adding a seperate file for issue related repo functions * Adding license headers * Fixed GetUserByParams return 404 * Moving /users/:username/times to /repos/:username/:reponame/times/:username for security reasons * Adding /repos/:username/times to get all tracked times of the repo * Updating sdk-dependency * Updating swagger.v1.json * Adding warning if user has already a running stopwatch (auto-timetracker) * Replacing GetTrackedTimesBy... with GetTrackedTimes(options FindTrackedTimesOptions) * Changing code.gitea.io/sdk back to code.gitea.io/sdk * Correcting spelling mistake * Updating vendor.json * Changing GET stopwatch/toggle to POST stopwatch/toggle * Changing GET stopwatch/cancel to POST stopwatch/cancel * Added migration for stopwatches/timetracking * Fixed some access bugs for read-only users * Added default allow only contributors to track time value to config * Fixed migration by chaging x.Iterate to x.Find * Resorted imports * Moved Add Time Manually form to repo_form.go * Removed "Seconds" field from Add Time Manually * Resorted imports * Improved permission checking * Fixed some bugs * Added integration test * gofmt * Adding integration test by @lafriks * Added created_unix to comment fixtures * Using last event instead of a fixed event * Adding another integration test by @lafriks * Fixing bug Timetracker enabled causing error 500 at sidebar.tpl * Fixed a refactoring bug that resulted in hiding "HasUserStopwatch" warning. * Returning TrackedTime instead of AddTimeOption at AddTime. * Updating SDK from go-gitea/go-sdk#69 * Resetting Go-SDK back to default repository * Fixing test-vendor by changing ini back to original repository * Adding "tags" to swagger spec * govendor sync * Removed duplicate * Formatting templates * Adding IsTimetrackingEnabled checks to API * Improving translations / english texts * Improving documentation * Updating swagger spec * Fixing integration test caused be translation-changes * Removed encoding issues in local_en-US.ini. * "Added" copyright line * Moved unit.IssuesConfig().EnableTimetracker into a != nil check * Removed some other encoding issues in local_en-US.ini * Improved javascript by checking if data-context exists * Replaced manual comment creation with CreateComment * Removed unnecessary code * Improved error checking * Small cosmetic changes * Replaced int>string>duration parsing with int>duration parsing * Fixed encoding issues * Removed unused imports Signed-off-by: Jonas Franz <info@jonasfranz.software>
6 years ago
Feature: Timetracking (#2211) * Added comment's hashtag to url for mail notifications. * Added explanation to return statement + documentation. * Replacing in-line link generation with HTMLURL. (+gofmt) * Replaced action-based model with nil-based model. (+gofmt) * Replaced mailIssueActionToParticipants with mailIssueCommentToParticipants. * Updating comment for mailIssueCommentToParticipants * Added link to comment in "Dashboard" * Deleting feed entry if a comment is going to be deleted * Added migration * Added improved migration to add a CommentID column to action. * Added improved links to comments in feed entries. * Fixes #1956 by filtering for deleted comments that are referenced in actions. * Introducing "IsDeleted" column to action. * Adding design draft (not functional) * Adding database models for stopwatches and trackedtimes * See go-gitea/gitea#967 * Adding design draft (not functional) * Adding translations and improving design * Implementing stopwatch (for timetracking) * Make UI functional * Add hints in timeline for time tracking events * Implementing timetracking feature * Adding "Add time manual" option * Improved stopwatch * Created report of total spent time by user * Only showing total time spent if theire is something to show. * Adding license headers. * Improved error handling for "Add Time Manual" * Adding @sapks 's changes, refactoring * Adding API for feature tracking * Adding unit test * Adding DISABLE/ENABLE option to Repository settings page * Improving translations * Applying @sapk 's changes * Removing repo_unit and using IssuesSetting for disabling/enabling timetracker * Adding DEFAULT_ENABLE_TIMETRACKER to config, installation and admin menu * Improving documentation * Fixing vendor/ folder * Changing timtracking routes by adding subgroups /times and /times/stopwatch (Proposed by @lafriks ) * Restricting write access to timetracking based on the repo settings (Proposed by @lafriks ) * Fixed minor permissions bug. * Adding CanUseTimetracker and IsTimetrackerEnabled in ctx.Repo * Allow assignees and authors to track there time too. * Fixed some build-time-errors + logical errors. * Removing unused Get...ByID functions * Moving IsTimetrackerEnabled from context.Repository to models.Repository * Adding a seperate file for issue related repo functions * Adding license headers * Fixed GetUserByParams return 404 * Moving /users/:username/times to /repos/:username/:reponame/times/:username for security reasons * Adding /repos/:username/times to get all tracked times of the repo * Updating sdk-dependency * Updating swagger.v1.json * Adding warning if user has already a running stopwatch (auto-timetracker) * Replacing GetTrackedTimesBy... with GetTrackedTimes(options FindTrackedTimesOptions) * Changing code.gitea.io/sdk back to code.gitea.io/sdk * Correcting spelling mistake * Updating vendor.json * Changing GET stopwatch/toggle to POST stopwatch/toggle * Changing GET stopwatch/cancel to POST stopwatch/cancel * Added migration for stopwatches/timetracking * Fixed some access bugs for read-only users * Added default allow only contributors to track time value to config * Fixed migration by chaging x.Iterate to x.Find * Resorted imports * Moved Add Time Manually form to repo_form.go * Removed "Seconds" field from Add Time Manually * Resorted imports * Improved permission checking * Fixed some bugs * Added integration test * gofmt * Adding integration test by @lafriks * Added created_unix to comment fixtures * Using last event instead of a fixed event * Adding another integration test by @lafriks * Fixing bug Timetracker enabled causing error 500 at sidebar.tpl * Fixed a refactoring bug that resulted in hiding "HasUserStopwatch" warning. * Returning TrackedTime instead of AddTimeOption at AddTime. * Updating SDK from go-gitea/go-sdk#69 * Resetting Go-SDK back to default repository * Fixing test-vendor by changing ini back to original repository * Adding "tags" to swagger spec * govendor sync * Removed duplicate * Formatting templates * Adding IsTimetrackingEnabled checks to API * Improving translations / english texts * Improving documentation * Updating swagger spec * Fixing integration test caused be translation-changes * Removed encoding issues in local_en-US.ini. * "Added" copyright line * Moved unit.IssuesConfig().EnableTimetracker into a != nil check * Removed some other encoding issues in local_en-US.ini * Improved javascript by checking if data-context exists * Replaced manual comment creation with CreateComment * Removed unnecessary code * Improved error checking * Small cosmetic changes * Replaced int>string>duration parsing with int>duration parsing * Fixed encoding issues * Removed unused imports Signed-off-by: Jonas Franz <info@jonasfranz.software>
6 years ago
Feature: Timetracking (#2211) * Added comment's hashtag to url for mail notifications. * Added explanation to return statement + documentation. * Replacing in-line link generation with HTMLURL. (+gofmt) * Replaced action-based model with nil-based model. (+gofmt) * Replaced mailIssueActionToParticipants with mailIssueCommentToParticipants. * Updating comment for mailIssueCommentToParticipants * Added link to comment in "Dashboard" * Deleting feed entry if a comment is going to be deleted * Added migration * Added improved migration to add a CommentID column to action. * Added improved links to comments in feed entries. * Fixes #1956 by filtering for deleted comments that are referenced in actions. * Introducing "IsDeleted" column to action. * Adding design draft (not functional) * Adding database models for stopwatches and trackedtimes * See go-gitea/gitea#967 * Adding design draft (not functional) * Adding translations and improving design * Implementing stopwatch (for timetracking) * Make UI functional * Add hints in timeline for time tracking events * Implementing timetracking feature * Adding "Add time manual" option * Improved stopwatch * Created report of total spent time by user * Only showing total time spent if theire is something to show. * Adding license headers. * Improved error handling for "Add Time Manual" * Adding @sapks 's changes, refactoring * Adding API for feature tracking * Adding unit test * Adding DISABLE/ENABLE option to Repository settings page * Improving translations * Applying @sapk 's changes * Removing repo_unit and using IssuesSetting for disabling/enabling timetracker * Adding DEFAULT_ENABLE_TIMETRACKER to config, installation and admin menu * Improving documentation * Fixing vendor/ folder * Changing timtracking routes by adding subgroups /times and /times/stopwatch (Proposed by @lafriks ) * Restricting write access to timetracking based on the repo settings (Proposed by @lafriks ) * Fixed minor permissions bug. * Adding CanUseTimetracker and IsTimetrackerEnabled in ctx.Repo * Allow assignees and authors to track there time too. * Fixed some build-time-errors + logical errors. * Removing unused Get...ByID functions * Moving IsTimetrackerEnabled from context.Repository to models.Repository * Adding a seperate file for issue related repo functions * Adding license headers * Fixed GetUserByParams return 404 * Moving /users/:username/times to /repos/:username/:reponame/times/:username for security reasons * Adding /repos/:username/times to get all tracked times of the repo * Updating sdk-dependency * Updating swagger.v1.json * Adding warning if user has already a running stopwatch (auto-timetracker) * Replacing GetTrackedTimesBy... with GetTrackedTimes(options FindTrackedTimesOptions) * Changing code.gitea.io/sdk back to code.gitea.io/sdk * Correcting spelling mistake * Updating vendor.json * Changing GET stopwatch/toggle to POST stopwatch/toggle * Changing GET stopwatch/cancel to POST stopwatch/cancel * Added migration for stopwatches/timetracking * Fixed some access bugs for read-only users * Added default allow only contributors to track time value to config * Fixed migration by chaging x.Iterate to x.Find * Resorted imports * Moved Add Time Manually form to repo_form.go * Removed "Seconds" field from Add Time Manually * Resorted imports * Improved permission checking * Fixed some bugs * Added integration test * gofmt * Adding integration test by @lafriks * Added created_unix to comment fixtures * Using last event instead of a fixed event * Adding another integration test by @lafriks * Fixing bug Timetracker enabled causing error 500 at sidebar.tpl * Fixed a refactoring bug that resulted in hiding "HasUserStopwatch" warning. * Returning TrackedTime instead of AddTimeOption at AddTime. * Updating SDK from go-gitea/go-sdk#69 * Resetting Go-SDK back to default repository * Fixing test-vendor by changing ini back to original repository * Adding "tags" to swagger spec * govendor sync * Removed duplicate * Formatting templates * Adding IsTimetrackingEnabled checks to API * Improving translations / english texts * Improving documentation * Updating swagger spec * Fixing integration test caused be translation-changes * Removed encoding issues in local_en-US.ini. * "Added" copyright line * Moved unit.IssuesConfig().EnableTimetracker into a != nil check * Removed some other encoding issues in local_en-US.ini * Improved javascript by checking if data-context exists * Replaced manual comment creation with CreateComment * Removed unnecessary code * Improved error checking * Small cosmetic changes * Replaced int>string>duration parsing with int>duration parsing * Fixed encoding issues * Removed unused imports Signed-off-by: Jonas Franz <info@jonasfranz.software>
6 years ago
Feature: Timetracking (#2211) * Added comment's hashtag to url for mail notifications. * Added explanation to return statement + documentation. * Replacing in-line link generation with HTMLURL. (+gofmt) * Replaced action-based model with nil-based model. (+gofmt) * Replaced mailIssueActionToParticipants with mailIssueCommentToParticipants. * Updating comment for mailIssueCommentToParticipants * Added link to comment in "Dashboard" * Deleting feed entry if a comment is going to be deleted * Added migration * Added improved migration to add a CommentID column to action. * Added improved links to comments in feed entries. * Fixes #1956 by filtering for deleted comments that are referenced in actions. * Introducing "IsDeleted" column to action. * Adding design draft (not functional) * Adding database models for stopwatches and trackedtimes * See go-gitea/gitea#967 * Adding design draft (not functional) * Adding translations and improving design * Implementing stopwatch (for timetracking) * Make UI functional * Add hints in timeline for time tracking events * Implementing timetracking feature * Adding "Add time manual" option * Improved stopwatch * Created report of total spent time by user * Only showing total time spent if theire is something to show. * Adding license headers. * Improved error handling for "Add Time Manual" * Adding @sapks 's changes, refactoring * Adding API for feature tracking * Adding unit test * Adding DISABLE/ENABLE option to Repository settings page * Improving translations * Applying @sapk 's changes * Removing repo_unit and using IssuesSetting for disabling/enabling timetracker * Adding DEFAULT_ENABLE_TIMETRACKER to config, installation and admin menu * Improving documentation * Fixing vendor/ folder * Changing timtracking routes by adding subgroups /times and /times/stopwatch (Proposed by @lafriks ) * Restricting write access to timetracking based on the repo settings (Proposed by @lafriks ) * Fixed minor permissions bug. * Adding CanUseTimetracker and IsTimetrackerEnabled in ctx.Repo * Allow assignees and authors to track there time too. * Fixed some build-time-errors + logical errors. * Removing unused Get...ByID functions * Moving IsTimetrackerEnabled from context.Repository to models.Repository * Adding a seperate file for issue related repo functions * Adding license headers * Fixed GetUserByParams return 404 * Moving /users/:username/times to /repos/:username/:reponame/times/:username for security reasons * Adding /repos/:username/times to get all tracked times of the repo * Updating sdk-dependency * Updating swagger.v1.json * Adding warning if user has already a running stopwatch (auto-timetracker) * Replacing GetTrackedTimesBy... with GetTrackedTimes(options FindTrackedTimesOptions) * Changing code.gitea.io/sdk back to code.gitea.io/sdk * Correcting spelling mistake * Updating vendor.json * Changing GET stopwatch/toggle to POST stopwatch/toggle * Changing GET stopwatch/cancel to POST stopwatch/cancel * Added migration for stopwatches/timetracking * Fixed some access bugs for read-only users * Added default allow only contributors to track time value to config * Fixed migration by chaging x.Iterate to x.Find * Resorted imports * Moved Add Time Manually form to repo_form.go * Removed "Seconds" field from Add Time Manually * Resorted imports * Improved permission checking * Fixed some bugs * Added integration test * gofmt * Adding integration test by @lafriks * Added created_unix to comment fixtures * Using last event instead of a fixed event * Adding another integration test by @lafriks * Fixing bug Timetracker enabled causing error 500 at sidebar.tpl * Fixed a refactoring bug that resulted in hiding "HasUserStopwatch" warning. * Returning TrackedTime instead of AddTimeOption at AddTime. * Updating SDK from go-gitea/go-sdk#69 * Resetting Go-SDK back to default repository * Fixing test-vendor by changing ini back to original repository * Adding "tags" to swagger spec * govendor sync * Removed duplicate * Formatting templates * Adding IsTimetrackingEnabled checks to API * Improving translations / english texts * Improving documentation * Updating swagger spec * Fixing integration test caused be translation-changes * Removed encoding issues in local_en-US.ini. * "Added" copyright line * Moved unit.IssuesConfig().EnableTimetracker into a != nil check * Removed some other encoding issues in local_en-US.ini * Improved javascript by checking if data-context exists * Replaced manual comment creation with CreateComment * Removed unnecessary code * Improved error checking * Small cosmetic changes * Replaced int>string>duration parsing with int>duration parsing * Fixed encoding issues * Removed unused imports Signed-off-by: Jonas Franz <info@jonasfranz.software>
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Issue due date (#3794) * Started adding deadline to ui * Implemented basic issue due date managing * Improved UI for due date managing * Added at least write access to the repo in order to modify issue due dates * Ui improvements * Added issue comments creation when adding/modifying/removing a due date * Show due date in issue list * Added api support for issue due dates * Fixed lint suggestions * Added deadline to sdk * Updated css * Added support for adding/modifiying deadlines for pull requests via api * Fixed comments not created when updating or removing a deadline * update sdk (will do properly once go-gitea/go-sdk#103 is merged) * enhanced updateIssueDeadline * Removed unnessecary Issue.DeadlineString * UI improvements * Small improvments to comment creation + ui & validation improvements * Check if an issue is overdue is now a seperate function * Updated go-sdk with govendor as it was merged * Simplified isOverdue method * removed unessecary deadline to 0 set * Update swagger definitions * Added missing return * Added an explanary comment * Improved updateIssueDeadline method so it'll only update `deadline_unix` * Small changes and improvements * no need to explicitly load the issue when updating a deadline, just use whats already there * small optimisations * Added check if a deadline was modified before updating it * Moved comment creating logic into its own function * Code cleanup for creating deadline comment * locale improvement * When modifying a deadline, the old deadline is saved with the comment * small improvments to xorm session handling when updating an issue deadline + style nitpicks * style nitpicks * Moved checking for if the user has write acces to middleware
6 years ago
Issue due date (#3794) * Started adding deadline to ui * Implemented basic issue due date managing * Improved UI for due date managing * Added at least write access to the repo in order to modify issue due dates * Ui improvements * Added issue comments creation when adding/modifying/removing a due date * Show due date in issue list * Added api support for issue due dates * Fixed lint suggestions * Added deadline to sdk * Updated css * Added support for adding/modifiying deadlines for pull requests via api * Fixed comments not created when updating or removing a deadline * update sdk (will do properly once go-gitea/go-sdk#103 is merged) * enhanced updateIssueDeadline * Removed unnessecary Issue.DeadlineString * UI improvements * Small improvments to comment creation + ui & validation improvements * Check if an issue is overdue is now a seperate function * Updated go-sdk with govendor as it was merged * Simplified isOverdue method * removed unessecary deadline to 0 set * Update swagger definitions * Added missing return * Added an explanary comment * Improved updateIssueDeadline method so it'll only update `deadline_unix` * Small changes and improvements * no need to explicitly load the issue when updating a deadline, just use whats already there * small optimisations * Added check if a deadline was modified before updating it * Moved comment creating logic into its own function * Code cleanup for creating deadline comment * locale improvement * When modifying a deadline, the old deadline is saved with the comment * small improvments to xorm session handling when updating an issue deadline + style nitpicks * style nitpicks * Moved checking for if the user has write acces to middleware
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Issue due date (#3794) * Started adding deadline to ui * Implemented basic issue due date managing * Improved UI for due date managing * Added at least write access to the repo in order to modify issue due dates * Ui improvements * Added issue comments creation when adding/modifying/removing a due date * Show due date in issue list * Added api support for issue due dates * Fixed lint suggestions * Added deadline to sdk * Updated css * Added support for adding/modifiying deadlines for pull requests via api * Fixed comments not created when updating or removing a deadline * update sdk (will do properly once go-gitea/go-sdk#103 is merged) * enhanced updateIssueDeadline * Removed unnessecary Issue.DeadlineString * UI improvements * Small improvments to comment creation + ui & validation improvements * Check if an issue is overdue is now a seperate function * Updated go-sdk with govendor as it was merged * Simplified isOverdue method * removed unessecary deadline to 0 set * Update swagger definitions * Added missing return * Added an explanary comment * Improved updateIssueDeadline method so it'll only update `deadline_unix` * Small changes and improvements * no need to explicitly load the issue when updating a deadline, just use whats already there * small optimisations * Added check if a deadline was modified before updating it * Moved comment creating logic into its own function * Code cleanup for creating deadline comment * locale improvement * When modifying a deadline, the old deadline is saved with the comment * small improvments to xorm session handling when updating an issue deadline + style nitpicks * style nitpicks * Moved checking for if the user has write acces to middleware
6 years ago
Issue due date (#3794) * Started adding deadline to ui * Implemented basic issue due date managing * Improved UI for due date managing * Added at least write access to the repo in order to modify issue due dates * Ui improvements * Added issue comments creation when adding/modifying/removing a due date * Show due date in issue list * Added api support for issue due dates * Fixed lint suggestions * Added deadline to sdk * Updated css * Added support for adding/modifiying deadlines for pull requests via api * Fixed comments not created when updating or removing a deadline * update sdk (will do properly once go-gitea/go-sdk#103 is merged) * enhanced updateIssueDeadline * Removed unnessecary Issue.DeadlineString * UI improvements * Small improvments to comment creation + ui & validation improvements * Check if an issue is overdue is now a seperate function * Updated go-sdk with govendor as it was merged * Simplified isOverdue method * removed unessecary deadline to 0 set * Update swagger definitions * Added missing return * Added an explanary comment * Improved updateIssueDeadline method so it'll only update `deadline_unix` * Small changes and improvements * no need to explicitly load the issue when updating a deadline, just use whats already there * small optimisations * Added check if a deadline was modified before updating it * Moved comment creating logic into its own function * Code cleanup for creating deadline comment * locale improvement * When modifying a deadline, the old deadline is saved with the comment * small improvments to xorm session handling when updating an issue deadline + style nitpicks * style nitpicks * Moved checking for if the user has write acces to middleware
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Issue due date (#3794) * Started adding deadline to ui * Implemented basic issue due date managing * Improved UI for due date managing * Added at least write access to the repo in order to modify issue due dates * Ui improvements * Added issue comments creation when adding/modifying/removing a due date * Show due date in issue list * Added api support for issue due dates * Fixed lint suggestions * Added deadline to sdk * Updated css * Added support for adding/modifiying deadlines for pull requests via api * Fixed comments not created when updating or removing a deadline * update sdk (will do properly once go-gitea/go-sdk#103 is merged) * enhanced updateIssueDeadline * Removed unnessecary Issue.DeadlineString * UI improvements * Small improvments to comment creation + ui & validation improvements * Check if an issue is overdue is now a seperate function * Updated go-sdk with govendor as it was merged * Simplified isOverdue method * removed unessecary deadline to 0 set * Update swagger definitions * Added missing return * Added an explanary comment * Improved updateIssueDeadline method so it'll only update `deadline_unix` * Small changes and improvements * no need to explicitly load the issue when updating a deadline, just use whats already there * small optimisations * Added check if a deadline was modified before updating it * Moved comment creating logic into its own function * Code cleanup for creating deadline comment * locale improvement * When modifying a deadline, the old deadline is saved with the comment * small improvments to xorm session handling when updating an issue deadline + style nitpicks * style nitpicks * Moved checking for if the user has write acces to middleware
6 years ago
Issue due date (#3794) * Started adding deadline to ui * Implemented basic issue due date managing * Improved UI for due date managing * Added at least write access to the repo in order to modify issue due dates * Ui improvements * Added issue comments creation when adding/modifying/removing a due date * Show due date in issue list * Added api support for issue due dates * Fixed lint suggestions * Added deadline to sdk * Updated css * Added support for adding/modifiying deadlines for pull requests via api * Fixed comments not created when updating or removing a deadline * update sdk (will do properly once go-gitea/go-sdk#103 is merged) * enhanced updateIssueDeadline * Removed unnessecary Issue.DeadlineString * UI improvements * Small improvments to comment creation + ui & validation improvements * Check if an issue is overdue is now a seperate function * Updated go-sdk with govendor as it was merged * Simplified isOverdue method * removed unessecary deadline to 0 set * Update swagger definitions * Added missing return * Added an explanary comment * Improved updateIssueDeadline method so it'll only update `deadline_unix` * Small changes and improvements * no need to explicitly load the issue when updating a deadline, just use whats already there * small optimisations * Added check if a deadline was modified before updating it * Moved comment creating logic into its own function * Code cleanup for creating deadline comment * locale improvement * When modifying a deadline, the old deadline is saved with the comment * small improvments to xorm session handling when updating an issue deadline + style nitpicks * style nitpicks * Moved checking for if the user has write acces to middleware
6 years ago
Issue due date (#3794) * Started adding deadline to ui * Implemented basic issue due date managing * Improved UI for due date managing * Added at least write access to the repo in order to modify issue due dates * Ui improvements * Added issue comments creation when adding/modifying/removing a due date * Show due date in issue list * Added api support for issue due dates * Fixed lint suggestions * Added deadline to sdk * Updated css * Added support for adding/modifiying deadlines for pull requests via api * Fixed comments not created when updating or removing a deadline * update sdk (will do properly once go-gitea/go-sdk#103 is merged) * enhanced updateIssueDeadline * Removed unnessecary Issue.DeadlineString * UI improvements * Small improvments to comment creation + ui & validation improvements * Check if an issue is overdue is now a seperate function * Updated go-sdk with govendor as it was merged * Simplified isOverdue method * removed unessecary deadline to 0 set * Update swagger definitions * Added missing return * Added an explanary comment * Improved updateIssueDeadline method so it'll only update `deadline_unix` * Small changes and improvements * no need to explicitly load the issue when updating a deadline, just use whats already there * small optimisations * Added check if a deadline was modified before updating it * Moved comment creating logic into its own function * Code cleanup for creating deadline comment * locale improvement * When modifying a deadline, the old deadline is saved with the comment * small improvments to xorm session handling when updating an issue deadline + style nitpicks * style nitpicks * Moved checking for if the user has write acces to middleware
6 years ago
Issue due date (#3794) * Started adding deadline to ui * Implemented basic issue due date managing * Improved UI for due date managing * Added at least write access to the repo in order to modify issue due dates * Ui improvements * Added issue comments creation when adding/modifying/removing a due date * Show due date in issue list * Added api support for issue due dates * Fixed lint suggestions * Added deadline to sdk * Updated css * Added support for adding/modifiying deadlines for pull requests via api * Fixed comments not created when updating or removing a deadline * update sdk (will do properly once go-gitea/go-sdk#103 is merged) * enhanced updateIssueDeadline * Removed unnessecary Issue.DeadlineString * UI improvements * Small improvments to comment creation + ui & validation improvements * Check if an issue is overdue is now a seperate function * Updated go-sdk with govendor as it was merged * Simplified isOverdue method * removed unessecary deadline to 0 set * Update swagger definitions * Added missing return * Added an explanary comment * Improved updateIssueDeadline method so it'll only update `deadline_unix` * Small changes and improvements * no need to explicitly load the issue when updating a deadline, just use whats already there * small optimisations * Added check if a deadline was modified before updating it * Moved comment creating logic into its own function * Code cleanup for creating deadline comment * locale improvement * When modifying a deadline, the old deadline is saved with the comment * small improvments to xorm session handling when updating an issue deadline + style nitpicks * style nitpicks * Moved checking for if the user has write acces to middleware
6 years ago
Issue due date (#3794) * Started adding deadline to ui * Implemented basic issue due date managing * Improved UI for due date managing * Added at least write access to the repo in order to modify issue due dates * Ui improvements * Added issue comments creation when adding/modifying/removing a due date * Show due date in issue list * Added api support for issue due dates * Fixed lint suggestions * Added deadline to sdk * Updated css * Added support for adding/modifiying deadlines for pull requests via api * Fixed comments not created when updating or removing a deadline * update sdk (will do properly once go-gitea/go-sdk#103 is merged) * enhanced updateIssueDeadline * Removed unnessecary Issue.DeadlineString * UI improvements * Small improvments to comment creation + ui & validation improvements * Check if an issue is overdue is now a seperate function * Updated go-sdk with govendor as it was merged * Simplified isOverdue method * removed unessecary deadline to 0 set * Update swagger definitions * Added missing return * Added an explanary comment * Improved updateIssueDeadline method so it'll only update `deadline_unix` * Small changes and improvements * no need to explicitly load the issue when updating a deadline, just use whats already there * small optimisations * Added check if a deadline was modified before updating it * Moved comment creating logic into its own function * Code cleanup for creating deadline comment * locale improvement * When modifying a deadline, the old deadline is saved with the comment * small improvments to xorm session handling when updating an issue deadline + style nitpicks * style nitpicks * Moved checking for if the user has write acces to middleware
6 years ago
Issue due date (#3794) * Started adding deadline to ui * Implemented basic issue due date managing * Improved UI for due date managing * Added at least write access to the repo in order to modify issue due dates * Ui improvements * Added issue comments creation when adding/modifying/removing a due date * Show due date in issue list * Added api support for issue due dates * Fixed lint suggestions * Added deadline to sdk * Updated css * Added support for adding/modifiying deadlines for pull requests via api * Fixed comments not created when updating or removing a deadline * update sdk (will do properly once go-gitea/go-sdk#103 is merged) * enhanced updateIssueDeadline * Removed unnessecary Issue.DeadlineString * UI improvements * Small improvments to comment creation + ui & validation improvements * Check if an issue is overdue is now a seperate function * Updated go-sdk with govendor as it was merged * Simplified isOverdue method * removed unessecary deadline to 0 set * Update swagger definitions * Added missing return * Added an explanary comment * Improved updateIssueDeadline method so it'll only update `deadline_unix` * Small changes and improvements * no need to explicitly load the issue when updating a deadline, just use whats already there * small optimisations * Added check if a deadline was modified before updating it * Moved comment creating logic into its own function * Code cleanup for creating deadline comment * locale improvement * When modifying a deadline, the old deadline is saved with the comment * small improvments to xorm session handling when updating an issue deadline + style nitpicks * style nitpicks * Moved checking for if the user has write acces to middleware
6 years ago
Issue due date (#3794) * Started adding deadline to ui * Implemented basic issue due date managing * Improved UI for due date managing * Added at least write access to the repo in order to modify issue due dates * Ui improvements * Added issue comments creation when adding/modifying/removing a due date * Show due date in issue list * Added api support for issue due dates * Fixed lint suggestions * Added deadline to sdk * Updated css * Added support for adding/modifiying deadlines for pull requests via api * Fixed comments not created when updating or removing a deadline * update sdk (will do properly once go-gitea/go-sdk#103 is merged) * enhanced updateIssueDeadline * Removed unnessecary Issue.DeadlineString * UI improvements * Small improvments to comment creation + ui & validation improvements * Check if an issue is overdue is now a seperate function * Updated go-sdk with govendor as it was merged * Simplified isOverdue method * removed unessecary deadline to 0 set * Update swagger definitions * Added missing return * Added an explanary comment * Improved updateIssueDeadline method so it'll only update `deadline_unix` * Small changes and improvements * no need to explicitly load the issue when updating a deadline, just use whats already there * small optimisations * Added check if a deadline was modified before updating it * Moved comment creating logic into its own function * Code cleanup for creating deadline comment * locale improvement * When modifying a deadline, the old deadline is saved with the comment * small improvments to xorm session handling when updating an issue deadline + style nitpicks * style nitpicks * Moved checking for if the user has write acces to middleware
6 years ago
Issue due date (#3794) * Started adding deadline to ui * Implemented basic issue due date managing * Improved UI for due date managing * Added at least write access to the repo in order to modify issue due dates * Ui improvements * Added issue comments creation when adding/modifying/removing a due date * Show due date in issue list * Added api support for issue due dates * Fixed lint suggestions * Added deadline to sdk * Updated css * Added support for adding/modifiying deadlines for pull requests via api * Fixed comments not created when updating or removing a deadline * update sdk (will do properly once go-gitea/go-sdk#103 is merged) * enhanced updateIssueDeadline * Removed unnessecary Issue.DeadlineString * UI improvements * Small improvments to comment creation + ui & validation improvements * Check if an issue is overdue is now a seperate function * Updated go-sdk with govendor as it was merged * Simplified isOverdue method * removed unessecary deadline to 0 set * Update swagger definitions * Added missing return * Added an explanary comment * Improved updateIssueDeadline method so it'll only update `deadline_unix` * Small changes and improvements * no need to explicitly load the issue when updating a deadline, just use whats already there * small optimisations * Added check if a deadline was modified before updating it * Moved comment creating logic into its own function * Code cleanup for creating deadline comment * locale improvement * When modifying a deadline, the old deadline is saved with the comment * small improvments to xorm session handling when updating an issue deadline + style nitpicks * style nitpicks * Moved checking for if the user has write acces to middleware
6 years ago
Issue due date (#3794) * Started adding deadline to ui * Implemented basic issue due date managing * Improved UI for due date managing * Added at least write access to the repo in order to modify issue due dates * Ui improvements * Added issue comments creation when adding/modifying/removing a due date * Show due date in issue list * Added api support for issue due dates * Fixed lint suggestions * Added deadline to sdk * Updated css * Added support for adding/modifiying deadlines for pull requests via api * Fixed comments not created when updating or removing a deadline * update sdk (will do properly once go-gitea/go-sdk#103 is merged) * enhanced updateIssueDeadline * Removed unnessecary Issue.DeadlineString * UI improvements * Small improvments to comment creation + ui & validation improvements * Check if an issue is overdue is now a seperate function * Updated go-sdk with govendor as it was merged * Simplified isOverdue method * removed unessecary deadline to 0 set * Update swagger definitions * Added missing return * Added an explanary comment * Improved updateIssueDeadline method so it'll only update `deadline_unix` * Small changes and improvements * no need to explicitly load the issue when updating a deadline, just use whats already there * small optimisations * Added check if a deadline was modified before updating it * Moved comment creating logic into its own function * Code cleanup for creating deadline comment * locale improvement * When modifying a deadline, the old deadline is saved with the comment * small improvments to xorm session handling when updating an issue deadline + style nitpicks * style nitpicks * Moved checking for if the user has write acces to middleware
6 years ago
Issue due date (#3794) * Started adding deadline to ui * Implemented basic issue due date managing * Improved UI for due date managing * Added at least write access to the repo in order to modify issue due dates * Ui improvements * Added issue comments creation when adding/modifying/removing a due date * Show due date in issue list * Added api support for issue due dates * Fixed lint suggestions * Added deadline to sdk * Updated css * Added support for adding/modifiying deadlines for pull requests via api * Fixed comments not created when updating or removing a deadline * update sdk (will do properly once go-gitea/go-sdk#103 is merged) * enhanced updateIssueDeadline * Removed unnessecary Issue.DeadlineString * UI improvements * Small improvments to comment creation + ui & validation improvements * Check if an issue is overdue is now a seperate function * Updated go-sdk with govendor as it was merged * Simplified isOverdue method * removed unessecary deadline to 0 set * Update swagger definitions * Added missing return * Added an explanary comment * Improved updateIssueDeadline method so it'll only update `deadline_unix` * Small changes and improvements * no need to explicitly load the issue when updating a deadline, just use whats already there * small optimisations * Added check if a deadline was modified before updating it * Moved comment creating logic into its own function * Code cleanup for creating deadline comment * locale improvement * When modifying a deadline, the old deadline is saved with the comment * small improvments to xorm session handling when updating an issue deadline + style nitpicks * style nitpicks * Moved checking for if the user has write acces to middleware
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Repository avatars (#6986) * Repository avatars - first variant of code from old work for gogs - add migration 87 - add new option in app.ini - add en-US locale string - add new class in repository.less * Add changed index.css, remove unused template name * Update en-us doc about configuration options * Add comments to new functions, add new option to docker app.ini * Add comment for lint * Remove variable, not needed * Fix formatting * Update swagger api template * Check if avatar exists * Fix avatar link/path checks * Typo * TEXT column can't have a default value * Fixes: - remove old avatar file on upload - use ID in name of avatar file - users may upload same files - add simple tests * Fix fmt check * Generate PNG instead of "static" GIF * More informative comment * Fix error message * Update avatar upload checks: - add file size check - add new option - update config docs - add new string to en-us locale * Fixes: - use FileHEader field for check file size - add new test - upload big image * Fix formatting * Update comments * Update log message * Removed wrong style - not needed * Use Sync2 to migrate * Update repos list view - bigger avatar - fix html blocks alignment * A little adjust avatar size * Use small icons for explore/repo list * Use new cool avatar preparation func by @lafriks * Missing changes for new function * Remove unused import, move imports * Missed new option definition in app.ini Add file size check in user/profile avatar upload * Use smaller field length for Avatar * Use session to update repo DB data, update DeleteAvatar - use session too * Fix err variable definition * As suggested @lafriks - return as soon as possible, code readability
5 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
Add Attachment API (#3478) * Add Attachment API * repos/:owner/:repo/releases (add attachments) * repos/:owner/:repo/releases/:id (add attachments) * repos/:owner/:repo/releases/:id/attachments * repos/:owner/:repo/releases/:id/attachments/:attachment_id Signed-off-by: Jonas Franz <info@jonasfranz.de> * Add unit tests for new attachment functions Fix comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * fix lint * Update vendor.json Signed-off-by: Jonas Franz <info@jonasfranz.software> * remove version of sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests Add missing license header Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add CreateReleaseAttachment Add EditReleaseAttachment Add DeleteReleaseAttachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add filename query parameter for choosing another name for an attachment Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix order of imports Signed-off-by: Jonas Franz <info@jonasfranz.software> * Restricting updatable attachment columns Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update go-sdk Replace Attachments with Assets Signed-off-by: Jonas Franz <info@jonasfranz.de> * Update go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.de> * Updating go-sdk and regenerating swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing file of go-sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Change origin of code.gitea.io/sdk to code.gitea.io/sdk Update code.gitea.io/sdk Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update swagger Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update updateAttachment
6 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025
  1. {
  2. "consumes": [
  3. "application/json",
  4. "text/plain"
  5. ],
  6. "produces": [
  7. "application/json",
  8. "text/html"
  9. ],
  10. "schemes": [
  11. "http",
  12. "https"
  13. ],
  14. "swagger": "2.0",
  15. "info": {
  16. "description": "This documentation describes the Gitea API.",
  17. "title": "Gitea API.",
  18. "license": {
  19. "name": "MIT",
  20. "url": "http://opensource.org/licenses/MIT"
  21. },
  22. "version": "1.1.1"
  23. },
  24. "basePath": "{{AppSubUrl}}/api/v1",
  25. "paths": {
  26. "/admin/orgs": {
  27. "get": {
  28. "produces": [
  29. "application/json"
  30. ],
  31. "tags": [
  32. "admin"
  33. ],
  34. "summary": "List all organizations",
  35. "operationId": "adminGetAllOrgs",
  36. "responses": {
  37. "200": {
  38. "$ref": "#/responses/OrganizationList"
  39. },
  40. "403": {
  41. "$ref": "#/responses/forbidden"
  42. }
  43. }
  44. }
  45. },
  46. "/admin/users": {
  47. "get": {
  48. "produces": [
  49. "application/json"
  50. ],
  51. "tags": [
  52. "admin"
  53. ],
  54. "summary": "List all users",
  55. "operationId": "adminGetAllUsers",
  56. "responses": {
  57. "200": {
  58. "$ref": "#/responses/UserList"
  59. },
  60. "403": {
  61. "$ref": "#/responses/forbidden"
  62. }
  63. }
  64. },
  65. "post": {
  66. "consumes": [
  67. "application/json"
  68. ],
  69. "produces": [
  70. "application/json"
  71. ],
  72. "tags": [
  73. "admin"
  74. ],
  75. "summary": "Create a user",
  76. "operationId": "adminCreateUser",
  77. "parameters": [
  78. {
  79. "name": "body",
  80. "in": "body",
  81. "schema": {
  82. "$ref": "#/definitions/CreateUserOption"
  83. }
  84. }
  85. ],
  86. "responses": {
  87. "201": {
  88. "$ref": "#/responses/User"
  89. },
  90. "403": {
  91. "$ref": "#/responses/forbidden"
  92. },
  93. "422": {
  94. "$ref": "#/responses/validationError"
  95. }
  96. }
  97. }
  98. },
  99. "/admin/users/{username}": {
  100. "delete": {
  101. "produces": [
  102. "application/json"
  103. ],
  104. "tags": [
  105. "admin"
  106. ],
  107. "summary": "Delete a user",
  108. "operationId": "adminDeleteUser",
  109. "parameters": [
  110. {
  111. "type": "string",
  112. "description": "username of user to delete",
  113. "name": "username",
  114. "in": "path",
  115. "required": true
  116. }
  117. ],
  118. "responses": {
  119. "204": {
  120. "$ref": "#/responses/empty"
  121. },
  122. "403": {
  123. "$ref": "#/responses/forbidden"
  124. },
  125. "422": {
  126. "$ref": "#/responses/validationError"
  127. }
  128. }
  129. },
  130. "patch": {
  131. "consumes": [
  132. "application/json"
  133. ],
  134. "produces": [
  135. "application/json"
  136. ],
  137. "tags": [
  138. "admin"
  139. ],
  140. "summary": "Edit an existing user",
  141. "operationId": "adminEditUser",
  142. "parameters": [
  143. {
  144. "type": "string",
  145. "description": "username of user to edit",
  146. "name": "username",
  147. "in": "path",
  148. "required": true
  149. },
  150. {
  151. "name": "body",
  152. "in": "body",
  153. "schema": {
  154. "$ref": "#/definitions/EditUserOption"
  155. }
  156. }
  157. ],
  158. "responses": {
  159. "200": {
  160. "$ref": "#/responses/User"
  161. },
  162. "403": {
  163. "$ref": "#/responses/forbidden"
  164. },
  165. "422": {
  166. "$ref": "#/responses/validationError"
  167. }
  168. }
  169. }
  170. },
  171. "/admin/users/{username}/keys": {
  172. "post": {
  173. "consumes": [
  174. "application/json"
  175. ],
  176. "produces": [
  177. "application/json"
  178. ],
  179. "tags": [
  180. "admin"
  181. ],
  182. "summary": "Add a public key on behalf of a user",
  183. "operationId": "adminCreatePublicKey",
  184. "parameters": [
  185. {
  186. "type": "string",
  187. "description": "username of the user",
  188. "name": "username",
  189. "in": "path",
  190. "required": true
  191. },
  192. {
  193. "name": "key",
  194. "in": "body",
  195. "schema": {
  196. "$ref": "#/definitions/CreateKeyOption"
  197. }
  198. }
  199. ],
  200. "responses": {
  201. "201": {
  202. "$ref": "#/responses/PublicKey"
  203. },
  204. "403": {
  205. "$ref": "#/responses/forbidden"
  206. },
  207. "422": {
  208. "$ref": "#/responses/validationError"
  209. }
  210. }
  211. }
  212. },
  213. "/admin/users/{username}/keys/{id}": {
  214. "delete": {
  215. "produces": [
  216. "application/json"
  217. ],
  218. "tags": [
  219. "admin"
  220. ],
  221. "summary": "Delete a user's public key",
  222. "operationId": "adminDeleteUserPublicKey",
  223. "parameters": [
  224. {
  225. "type": "string",
  226. "description": "username of user",
  227. "name": "username",
  228. "in": "path",
  229. "required": true
  230. },
  231. {
  232. "type": "integer",
  233. "format": "int64",
  234. "description": "id of the key to delete",
  235. "name": "id",
  236. "in": "path",
  237. "required": true
  238. }
  239. ],
  240. "responses": {
  241. "204": {
  242. "$ref": "#/responses/empty"
  243. },
  244. "403": {
  245. "$ref": "#/responses/forbidden"
  246. },
  247. "404": {
  248. "$ref": "#/responses/notFound"
  249. }
  250. }
  251. }
  252. },
  253. "/admin/users/{username}/orgs": {
  254. "post": {
  255. "consumes": [
  256. "application/json"
  257. ],
  258. "produces": [
  259. "application/json"
  260. ],
  261. "tags": [
  262. "admin"
  263. ],
  264. "summary": "Create an organization",
  265. "operationId": "adminCreateOrg",
  266. "parameters": [
  267. {
  268. "type": "string",
  269. "description": "username of the user that will own the created organization",
  270. "name": "username",
  271. "in": "path",
  272. "required": true
  273. },
  274. {
  275. "name": "organization",
  276. "in": "body",
  277. "required": true,
  278. "schema": {
  279. "$ref": "#/definitions/CreateOrgOption"
  280. }
  281. }
  282. ],
  283. "responses": {
  284. "201": {
  285. "$ref": "#/responses/Organization"
  286. },
  287. "403": {
  288. "$ref": "#/responses/forbidden"
  289. },
  290. "422": {
  291. "$ref": "#/responses/validationError"
  292. }
  293. }
  294. }
  295. },
  296. "/admin/users/{username}/repos": {
  297. "post": {
  298. "consumes": [
  299. "application/json"
  300. ],
  301. "produces": [
  302. "application/json"
  303. ],
  304. "tags": [
  305. "admin"
  306. ],
  307. "summary": "Create a repository on behalf a user",
  308. "operationId": "adminCreateRepo",
  309. "parameters": [
  310. {
  311. "type": "string",
  312. "description": "username of the user. This user will own the created repository",
  313. "name": "username",
  314. "in": "path",
  315. "required": true
  316. },
  317. {
  318. "name": "repository",
  319. "in": "body",
  320. "required": true,
  321. "schema": {
  322. "$ref": "#/definitions/CreateRepoOption"
  323. }
  324. }
  325. ],
  326. "responses": {
  327. "201": {
  328. "$ref": "#/responses/Repository"
  329. },
  330. "403": {
  331. "$ref": "#/responses/forbidden"
  332. },
  333. "422": {
  334. "$ref": "#/responses/validationError"
  335. }
  336. }
  337. }
  338. },
  339. "/markdown": {
  340. "post": {
  341. "consumes": [
  342. "application/json"
  343. ],
  344. "produces": [
  345. "text/html"
  346. ],
  347. "tags": [
  348. "miscellaneous"
  349. ],
  350. "summary": "Render a markdown document as HTML",
  351. "operationId": "renderMarkdown",
  352. "parameters": [
  353. {
  354. "name": "body",
  355. "in": "body",
  356. "schema": {
  357. "$ref": "#/definitions/MarkdownOption"
  358. }
  359. }
  360. ],
  361. "responses": {
  362. "200": {
  363. "$ref": "#/responses/MarkdownRender"
  364. },
  365. "422": {
  366. "$ref": "#/responses/validationError"
  367. }
  368. }
  369. }
  370. },
  371. "/markdown/raw": {
  372. "post": {
  373. "consumes": [
  374. "text/plain"
  375. ],
  376. "produces": [
  377. "text/html"
  378. ],
  379. "tags": [
  380. "miscellaneous"
  381. ],
  382. "summary": "Render raw markdown as HTML",
  383. "operationId": "renderMarkdownRaw",
  384. "parameters": [
  385. {
  386. "description": "Request body to render",
  387. "name": "body",
  388. "in": "body",
  389. "required": true,
  390. "schema": {
  391. "type": "string"
  392. }
  393. }
  394. ],
  395. "responses": {
  396. "200": {
  397. "$ref": "#/responses/MarkdownRender"
  398. },
  399. "422": {
  400. "$ref": "#/responses/validationError"
  401. }
  402. }
  403. }
  404. },
  405. "/org/{org}/repos": {
  406. "post": {
  407. "consumes": [
  408. "application/json"
  409. ],
  410. "produces": [
  411. "application/json"
  412. ],
  413. "tags": [
  414. "organization"
  415. ],
  416. "summary": "Create a repository in an organization",
  417. "operationId": "createOrgRepo",
  418. "parameters": [
  419. {
  420. "type": "string",
  421. "description": "name of organization",
  422. "name": "org",
  423. "in": "path",
  424. "required": true
  425. },
  426. {
  427. "name": "body",
  428. "in": "body",
  429. "schema": {
  430. "$ref": "#/definitions/CreateRepoOption"
  431. }
  432. }
  433. ],
  434. "responses": {
  435. "201": {
  436. "$ref": "#/responses/Repository"
  437. },
  438. "403": {
  439. "$ref": "#/responses/forbidden"
  440. },
  441. "422": {
  442. "$ref": "#/responses/validationError"
  443. }
  444. }
  445. }
  446. },
  447. "/orgs": {
  448. "post": {
  449. "consumes": [
  450. "application/json"
  451. ],
  452. "produces": [
  453. "application/json"
  454. ],
  455. "tags": [
  456. "organization"
  457. ],
  458. "summary": "Create an organization",
  459. "operationId": "orgCreate",
  460. "parameters": [
  461. {
  462. "name": "organization",
  463. "in": "body",
  464. "required": true,
  465. "schema": {
  466. "$ref": "#/definitions/CreateOrgOption"
  467. }
  468. }
  469. ],
  470. "responses": {
  471. "201": {
  472. "$ref": "#/responses/Organization"
  473. },
  474. "403": {
  475. "$ref": "#/responses/forbidden"
  476. },
  477. "422": {
  478. "$ref": "#/responses/validationError"
  479. }
  480. }
  481. }
  482. },
  483. "/orgs/{org}": {
  484. "get": {
  485. "produces": [
  486. "application/json"
  487. ],
  488. "tags": [
  489. "organization"
  490. ],
  491. "summary": "Get an organization",
  492. "operationId": "orgGet",
  493. "parameters": [
  494. {
  495. "type": "string",
  496. "description": "name of the organization to get",
  497. "name": "org",
  498. "in": "path",
  499. "required": true
  500. }
  501. ],
  502. "responses": {
  503. "200": {
  504. "$ref": "#/responses/Organization"
  505. }
  506. }
  507. },
  508. "delete": {
  509. "produces": [
  510. "application/json"
  511. ],
  512. "tags": [
  513. "organization"
  514. ],
  515. "summary": "Delete an organization",
  516. "operationId": "orgDelete",
  517. "parameters": [
  518. {
  519. "type": "string",
  520. "description": "organization that is to be deleted",
  521. "name": "org",
  522. "in": "path",
  523. "required": true
  524. }
  525. ],
  526. "responses": {
  527. "204": {
  528. "$ref": "#/responses/empty"
  529. }
  530. }
  531. },
  532. "patch": {
  533. "consumes": [
  534. "application/json"
  535. ],
  536. "produces": [
  537. "application/json"
  538. ],
  539. "tags": [
  540. "organization"
  541. ],
  542. "summary": "Edit an organization",
  543. "operationId": "orgEdit",
  544. "parameters": [
  545. {
  546. "type": "string",
  547. "description": "name of the organization to edit",
  548. "name": "org",
  549. "in": "path",
  550. "required": true
  551. },
  552. {
  553. "name": "body",
  554. "in": "body",
  555. "schema": {
  556. "$ref": "#/definitions/EditOrgOption"
  557. }
  558. }
  559. ],
  560. "responses": {
  561. "200": {
  562. "$ref": "#/responses/Organization"
  563. }
  564. }
  565. }
  566. },
  567. "/orgs/{org}/hooks": {
  568. "get": {
  569. "produces": [
  570. "application/json"
  571. ],
  572. "tags": [
  573. "organization"
  574. ],
  575. "summary": "List an organization's webhooks",
  576. "operationId": "orgListHooks",
  577. "parameters": [
  578. {
  579. "type": "string",
  580. "description": "name of the organization",
  581. "name": "org",
  582. "in": "path",
  583. "required": true
  584. }
  585. ],
  586. "responses": {
  587. "200": {
  588. "$ref": "#/responses/HookList"
  589. }
  590. }
  591. }
  592. },
  593. "/orgs/{org}/hooks/": {
  594. "post": {
  595. "consumes": [
  596. "application/json"
  597. ],
  598. "produces": [
  599. "application/json"
  600. ],
  601. "tags": [
  602. "organization"
  603. ],
  604. "summary": "Create a hook",
  605. "operationId": "orgCreateHook",
  606. "parameters": [
  607. {
  608. "type": "string",
  609. "description": "name of the organization",
  610. "name": "org",
  611. "in": "path",
  612. "required": true
  613. },
  614. {
  615. "name": "body",
  616. "in": "body",
  617. "required": true,
  618. "schema": {
  619. "$ref": "#/definitions/CreateHookOption"
  620. }
  621. }
  622. ],
  623. "responses": {
  624. "201": {
  625. "$ref": "#/responses/Hook"
  626. }
  627. }
  628. }
  629. },
  630. "/orgs/{org}/hooks/{id}": {
  631. "get": {
  632. "produces": [
  633. "application/json"
  634. ],
  635. "tags": [
  636. "organization"
  637. ],
  638. "summary": "Get a hook",
  639. "operationId": "orgGetHook",
  640. "parameters": [
  641. {
  642. "type": "string",
  643. "description": "name of the organization",
  644. "name": "org",
  645. "in": "path",
  646. "required": true
  647. },
  648. {
  649. "type": "integer",
  650. "format": "int64",
  651. "description": "id of the hook to get",
  652. "name": "id",
  653. "in": "path",
  654. "required": true
  655. }
  656. ],
  657. "responses": {
  658. "200": {
  659. "$ref": "#/responses/Hook"
  660. }
  661. }
  662. },
  663. "delete": {
  664. "produces": [
  665. "application/json"
  666. ],
  667. "tags": [
  668. "organization"
  669. ],
  670. "summary": "Delete a hook",
  671. "operationId": "orgDeleteHook",
  672. "parameters": [
  673. {
  674. "type": "string",
  675. "description": "name of the organization",
  676. "name": "org",
  677. "in": "path",
  678. "required": true
  679. },
  680. {
  681. "type": "integer",
  682. "format": "int64",
  683. "description": "id of the hook to delete",
  684. "name": "id",
  685. "in": "path",
  686. "required": true
  687. }
  688. ],
  689. "responses": {
  690. "204": {
  691. "$ref": "#/responses/empty"
  692. }
  693. }
  694. },
  695. "patch": {
  696. "consumes": [
  697. "application/json"
  698. ],
  699. "produces": [
  700. "application/json"
  701. ],
  702. "tags": [
  703. "organization"
  704. ],
  705. "summary": "Update a hook",
  706. "operationId": "orgEditHook",
  707. "parameters": [
  708. {
  709. "type": "string",
  710. "description": "name of the organization",
  711. "name": "org",
  712. "in": "path",
  713. "required": true
  714. },
  715. {
  716. "type": "integer",
  717. "format": "int64",
  718. "description": "id of the hook to update",
  719. "name": "id",
  720. "in": "path",
  721. "required": true
  722. },
  723. {
  724. "name": "body",
  725. "in": "body",
  726. "schema": {
  727. "$ref": "#/definitions/EditHookOption"
  728. }
  729. }
  730. ],
  731. "responses": {
  732. "200": {
  733. "$ref": "#/responses/Hook"
  734. }
  735. }
  736. }
  737. },
  738. "/orgs/{org}/members": {
  739. "get": {
  740. "produces": [
  741. "application/json"
  742. ],
  743. "tags": [
  744. "organization"
  745. ],
  746. "summary": "List an organization's members",
  747. "operationId": "orgListMembers",
  748. "parameters": [
  749. {
  750. "type": "string",
  751. "description": "name of the organization",
  752. "name": "org",
  753. "in": "path",
  754. "required": true
  755. }
  756. ],
  757. "responses": {
  758. "200": {
  759. "$ref": "#/responses/UserList"
  760. }
  761. }
  762. }
  763. },
  764. "/orgs/{org}/members/{username}": {
  765. "get": {
  766. "tags": [
  767. "organization"
  768. ],
  769. "summary": "Check if a user is a member of an organization",
  770. "operationId": "orgIsMember",
  771. "parameters": [
  772. {
  773. "type": "string",
  774. "description": "name of the organization",
  775. "name": "org",
  776. "in": "path",
  777. "required": true
  778. },
  779. {
  780. "type": "string",
  781. "description": "username of the user",
  782. "name": "username",
  783. "in": "path",
  784. "required": true
  785. }
  786. ],
  787. "responses": {
  788. "204": {
  789. "description": "user is a member"
  790. },
  791. "404": {
  792. "description": "user is not a member"
  793. }
  794. }
  795. },
  796. "delete": {
  797. "produces": [
  798. "application/json"
  799. ],
  800. "tags": [
  801. "organization"
  802. ],
  803. "summary": "Remove a member from an organization",
  804. "operationId": "orgDeleteMember",
  805. "parameters": [
  806. {
  807. "type": "string",
  808. "description": "name of the organization",
  809. "name": "org",
  810. "in": "path",
  811. "required": true
  812. },
  813. {
  814. "type": "string",
  815. "description": "username of the user",
  816. "name": "username",
  817. "in": "path",
  818. "required": true
  819. }
  820. ],
  821. "responses": {
  822. "204": {
  823. "description": "member removed"
  824. }
  825. }
  826. }
  827. },
  828. "/orgs/{org}/public_members": {
  829. "get": {
  830. "produces": [
  831. "application/json"
  832. ],
  833. "tags": [
  834. "organization"
  835. ],
  836. "summary": "List an organization's public members",
  837. "operationId": "orgListPublicMembers",
  838. "parameters": [
  839. {
  840. "type": "string",
  841. "description": "name of the organization",
  842. "name": "org",
  843. "in": "path",
  844. "required": true
  845. }
  846. ],
  847. "responses": {
  848. "200": {
  849. "$ref": "#/responses/UserList"
  850. }
  851. }
  852. }
  853. },
  854. "/orgs/{org}/public_members/{username}": {
  855. "get": {
  856. "tags": [
  857. "organization"
  858. ],
  859. "summary": "Check if a user is a public member of an organization",
  860. "operationId": "orgIsPublicMember",
  861. "parameters": [
  862. {
  863. "type": "string",
  864. "description": "name of the organization",
  865. "name": "org",
  866. "in": "path",
  867. "required": true
  868. },
  869. {
  870. "type": "string",
  871. "description": "username of the user",
  872. "name": "username",
  873. "in": "path",
  874. "required": true
  875. }
  876. ],
  877. "responses": {
  878. "204": {
  879. "description": "user is a public member"
  880. },
  881. "404": {
  882. "description": "user is not a public member"
  883. }
  884. }
  885. },
  886. "put": {
  887. "produces": [
  888. "application/json"
  889. ],
  890. "tags": [
  891. "organization"
  892. ],
  893. "summary": "Publicize a user's membership",
  894. "operationId": "orgPublicizeMember",
  895. "parameters": [
  896. {
  897. "type": "string",
  898. "description": "name of the organization",
  899. "name": "org",
  900. "in": "path",
  901. "required": true
  902. },
  903. {
  904. "type": "string",
  905. "description": "username of the user",
  906. "name": "username",
  907. "in": "path",
  908. "required": true
  909. }
  910. ],
  911. "responses": {
  912. "204": {
  913. "description": "membership publicized"
  914. }
  915. }
  916. },
  917. "delete": {
  918. "produces": [
  919. "application/json"
  920. ],
  921. "tags": [
  922. "organization"
  923. ],
  924. "summary": "Conceal a user's membership",
  925. "operationId": "orgConcealMember",
  926. "parameters": [
  927. {
  928. "type": "string",
  929. "description": "name of the organization",
  930. "name": "org",
  931. "in": "path",
  932. "required": true
  933. },
  934. {
  935. "type": "string",
  936. "description": "username of the user",
  937. "name": "username",
  938. "in": "path",
  939. "required": true
  940. }
  941. ],
  942. "responses": {
  943. "204": {
  944. "$ref": "#/responses/empty"
  945. }
  946. }
  947. }
  948. },
  949. "/orgs/{org}/repos": {
  950. "get": {
  951. "produces": [
  952. "application/json"
  953. ],
  954. "tags": [
  955. "organization"
  956. ],
  957. "summary": "List an organization's repos",
  958. "operationId": "orgListRepos",
  959. "parameters": [
  960. {
  961. "type": "string",
  962. "description": "name of the organization",
  963. "name": "org",
  964. "in": "path",
  965. "required": true
  966. }
  967. ],
  968. "responses": {
  969. "200": {
  970. "$ref": "#/responses/RepositoryList"
  971. }
  972. }
  973. }
  974. },
  975. "/orgs/{org}/teams": {
  976. "get": {
  977. "produces": [
  978. "application/json"
  979. ],
  980. "tags": [
  981. "organization"
  982. ],
  983. "summary": "List an organization's teams",
  984. "operationId": "orgListTeams",
  985. "parameters": [
  986. {
  987. "type": "string",
  988. "description": "name of the organization",
  989. "name": "org",
  990. "in": "path",
  991. "required": true
  992. }
  993. ],
  994. "responses": {
  995. "200": {
  996. "$ref": "#/responses/TeamList"
  997. }
  998. }
  999. },
  1000. "post": {
  1001. "consumes": [
  1002. "application/json"
  1003. ],
  1004. "produces": [
  1005. "application/json"
  1006. ],
  1007. "tags": [
  1008. "organization"
  1009. ],
  1010. "summary": "Create a team",
  1011. "operationId": "orgCreateTeam",
  1012. "parameters": [
  1013. {
  1014. "type": "string",
  1015. "description": "name of the organization",
  1016. "name": "org",
  1017. "in": "path",
  1018. "required": true
  1019. },
  1020. {
  1021. "name": "body",
  1022. "in": "body",
  1023. "schema": {
  1024. "$ref": "#/definitions/CreateTeamOption"
  1025. }
  1026. }
  1027. ],
  1028. "responses": {
  1029. "201": {
  1030. "$ref": "#/responses/Team"
  1031. }
  1032. }
  1033. }
  1034. },
  1035. "/repos/migrate": {
  1036. "post": {
  1037. "consumes": [
  1038. "application/json"
  1039. ],
  1040. "produces": [
  1041. "application/json"
  1042. ],
  1043. "tags": [
  1044. "repository"
  1045. ],
  1046. "summary": "Migrate a remote git repository",
  1047. "operationId": "repoMigrate",
  1048. "parameters": [
  1049. {
  1050. "name": "body",
  1051. "in": "body",
  1052. "schema": {
  1053. "$ref": "#/definitions/MigrateRepoForm"
  1054. }
  1055. }
  1056. ],
  1057. "responses": {
  1058. "201": {
  1059. "$ref": "#/responses/Repository"
  1060. }
  1061. }
  1062. }
  1063. },
  1064. "/repos/search": {
  1065. "get": {
  1066. "produces": [
  1067. "application/json"
  1068. ],
  1069. "tags": [
  1070. "repository"
  1071. ],
  1072. "summary": "Search for repositories",
  1073. "operationId": "repoSearch",
  1074. "parameters": [
  1075. {
  1076. "type": "string",
  1077. "description": "keyword",
  1078. "name": "q",
  1079. "in": "query"
  1080. },
  1081. {
  1082. "type": "integer",
  1083. "format": "int64",
  1084. "description": "search only for repos that the user with the given id owns or contributes to",
  1085. "name": "uid",
  1086. "in": "query"
  1087. },
  1088. {
  1089. "type": "integer",
  1090. "format": "int64",
  1091. "description": "search only for repos that the user with the given id has starred",
  1092. "name": "starredBy",
  1093. "in": "query"
  1094. },
  1095. {
  1096. "type": "boolean",
  1097. "description": "include private repositories this user has access to (defaults to true)",
  1098. "name": "private",
  1099. "in": "query"
  1100. },
  1101. {
  1102. "type": "integer",
  1103. "description": "page number of results to return (1-based)",
  1104. "name": "page",
  1105. "in": "query"
  1106. },
  1107. {
  1108. "type": "integer",
  1109. "description": "page size of results, maximum page size is 50",
  1110. "name": "limit",
  1111. "in": "query"
  1112. },
  1113. {
  1114. "type": "string",
  1115. "description": "type of repository to search for. Supported values are \"fork\", \"source\", \"mirror\" and \"collaborative\"",
  1116. "name": "mode",
  1117. "in": "query"
  1118. },
  1119. {
  1120. "type": "boolean",
  1121. "description": "if `uid` is given, search only for repos that the user owns",
  1122. "name": "exclusive",
  1123. "in": "query"
  1124. },
  1125. {
  1126. "type": "string",
  1127. "description": "sort repos by attribute. Supported values are \"alpha\", \"created\", \"updated\", \"size\", and \"id\". Default is \"alpha\"",
  1128. "name": "sort",
  1129. "in": "query"
  1130. },
  1131. {
  1132. "type": "string",
  1133. "description": "sort order, either \"asc\" (ascending) or \"desc\" (descending). Default is \"asc\", ignored if \"sort\" is not specified.",
  1134. "name": "order",
  1135. "in": "query"
  1136. }
  1137. ],
  1138. "responses": {
  1139. "200": {
  1140. "$ref": "#/responses/SearchResults"
  1141. },
  1142. "422": {
  1143. "$ref": "#/responses/validationError"
  1144. }
  1145. }
  1146. }
  1147. },
  1148. "/repos/{owner}/{repo}": {
  1149. "get": {
  1150. "produces": [
  1151. "application/json"
  1152. ],
  1153. "tags": [
  1154. "repository"
  1155. ],
  1156. "summary": "Get a repository",
  1157. "operationId": "repoGet",
  1158. "parameters": [
  1159. {
  1160. "type": "string",
  1161. "description": "owner of the repo",
  1162. "name": "owner",
  1163. "in": "path",
  1164. "required": true
  1165. },
  1166. {
  1167. "type": "string",
  1168. "description": "name of the repo",
  1169. "name": "repo",
  1170. "in": "path",
  1171. "required": true
  1172. }
  1173. ],
  1174. "responses": {
  1175. "200": {
  1176. "$ref": "#/responses/Repository"
  1177. }
  1178. }
  1179. },
  1180. "delete": {
  1181. "produces": [
  1182. "application/json"
  1183. ],
  1184. "tags": [
  1185. "repository"
  1186. ],
  1187. "summary": "Delete a repository",
  1188. "operationId": "repoDelete",
  1189. "parameters": [
  1190. {
  1191. "type": "string",
  1192. "description": "owner of the repo to delete",
  1193. "name": "owner",
  1194. "in": "path",
  1195. "required": true
  1196. },
  1197. {
  1198. "type": "string",
  1199. "description": "name of the repo to delete",
  1200. "name": "repo",
  1201. "in": "path",
  1202. "required": true
  1203. }
  1204. ],
  1205. "responses": {
  1206. "204": {
  1207. "$ref": "#/responses/empty"
  1208. },
  1209. "403": {
  1210. "$ref": "#/responses/forbidden"
  1211. }
  1212. }
  1213. }
  1214. },
  1215. "/repos/{owner}/{repo}/archive/{archive}": {
  1216. "get": {
  1217. "produces": [
  1218. "application/json"
  1219. ],
  1220. "tags": [
  1221. "repository"
  1222. ],
  1223. "summary": "Get an archive of a repository",
  1224. "operationId": "repoGetArchive",
  1225. "parameters": [
  1226. {
  1227. "type": "string",
  1228. "description": "owner of the repo",
  1229. "name": "owner",
  1230. "in": "path",
  1231. "required": true
  1232. },
  1233. {
  1234. "type": "string",
  1235. "description": "name of the repo",
  1236. "name": "repo",
  1237. "in": "path",
  1238. "required": true
  1239. },
  1240. {
  1241. "type": "string",
  1242. "description": "archive to download, consisting of a git reference and archive",
  1243. "name": "archive",
  1244. "in": "path",
  1245. "required": true
  1246. }
  1247. ],
  1248. "responses": {
  1249. "200": {
  1250. "description": "success"
  1251. }
  1252. }
  1253. }
  1254. },
  1255. "/repos/{owner}/{repo}/branches": {
  1256. "get": {
  1257. "produces": [
  1258. "application/json"
  1259. ],
  1260. "tags": [
  1261. "repository"
  1262. ],
  1263. "summary": "List a repository's branches",
  1264. "operationId": "repoListBranches",
  1265. "parameters": [
  1266. {
  1267. "type": "string",
  1268. "description": "owner of the repo",
  1269. "name": "owner",
  1270. "in": "path",
  1271. "required": true
  1272. },
  1273. {
  1274. "type": "string",
  1275. "description": "name of the repo",
  1276. "name": "repo",
  1277. "in": "path",
  1278. "required": true
  1279. }
  1280. ],
  1281. "responses": {
  1282. "200": {
  1283. "$ref": "#/responses/BranchList"
  1284. }
  1285. }
  1286. }
  1287. },
  1288. "/repos/{owner}/{repo}/branches/{branch}": {
  1289. "get": {
  1290. "produces": [
  1291. "application/json"
  1292. ],
  1293. "tags": [
  1294. "repository"
  1295. ],
  1296. "summary": "Retrieve a specific branch from a repository",
  1297. "operationId": "repoGetBranch",
  1298. "parameters": [
  1299. {
  1300. "type": "string",
  1301. "description": "owner of the repo",
  1302. "name": "owner",
  1303. "in": "path",
  1304. "required": true
  1305. },
  1306. {
  1307. "type": "string",
  1308. "description": "name of the repo",
  1309. "name": "repo",
  1310. "in": "path",
  1311. "required": true
  1312. },
  1313. {
  1314. "type": "string",
  1315. "description": "branch to get",
  1316. "name": "branch",
  1317. "in": "path",
  1318. "required": true
  1319. }
  1320. ],
  1321. "responses": {
  1322. "200": {
  1323. "$ref": "#/responses/Branch"
  1324. }
  1325. }
  1326. }
  1327. },
  1328. "/repos/{owner}/{repo}/collaborators": {
  1329. "get": {
  1330. "produces": [
  1331. "application/json"
  1332. ],
  1333. "tags": [
  1334. "repository"
  1335. ],
  1336. "summary": "List a repository's collaborators",
  1337. "operationId": "repoListCollaborators",
  1338. "parameters": [
  1339. {
  1340. "type": "string",
  1341. "description": "owner of the repo",
  1342. "name": "owner",
  1343. "in": "path",
  1344. "required": true
  1345. },
  1346. {
  1347. "type": "string",
  1348. "description": "name of the repo",
  1349. "name": "repo",
  1350. "in": "path",
  1351. "required": true
  1352. }
  1353. ],
  1354. "responses": {
  1355. "200": {
  1356. "$ref": "#/responses/UserList"
  1357. }
  1358. }
  1359. }
  1360. },
  1361. "/repos/{owner}/{repo}/collaborators/{collaborator}": {
  1362. "get": {
  1363. "produces": [
  1364. "application/json"
  1365. ],
  1366. "tags": [
  1367. "repository"
  1368. ],
  1369. "summary": "Check if a user is a collaborator of a repository",
  1370. "operationId": "repoCheckCollaborator",
  1371. "parameters": [
  1372. {
  1373. "type": "string",
  1374. "description": "owner of the repo",
  1375. "name": "owner",
  1376. "in": "path",
  1377. "required": true
  1378. },
  1379. {
  1380. "type": "string",
  1381. "description": "name of the repo",
  1382. "name": "repo",
  1383. "in": "path",
  1384. "required": true
  1385. },
  1386. {
  1387. "type": "string",
  1388. "description": "username of the collaborator",
  1389. "name": "collaborator",
  1390. "in": "path",
  1391. "required": true
  1392. }
  1393. ],
  1394. "responses": {
  1395. "204": {
  1396. "$ref": "#/responses/empty"
  1397. },
  1398. "404": {
  1399. "$ref": "#/responses/empty"
  1400. }
  1401. }
  1402. },
  1403. "put": {
  1404. "produces": [
  1405. "application/json"
  1406. ],
  1407. "tags": [
  1408. "repository"
  1409. ],
  1410. "summary": "Add a collaborator to a repository",
  1411. "operationId": "repoAddCollaborator",
  1412. "parameters": [
  1413. {
  1414. "type": "string",
  1415. "description": "owner of the repo",
  1416. "name": "owner",
  1417. "in": "path",
  1418. "required": true
  1419. },
  1420. {
  1421. "type": "string",
  1422. "description": "name of the repo",
  1423. "name": "repo",
  1424. "in": "path",
  1425. "required": true
  1426. },
  1427. {
  1428. "type": "string",
  1429. "description": "username of the collaborator to add",
  1430. "name": "collaborator",
  1431. "in": "path",
  1432. "required": true
  1433. },
  1434. {
  1435. "name": "body",
  1436. "in": "body",
  1437. "schema": {
  1438. "$ref": "#/definitions/AddCollaboratorOption"
  1439. }
  1440. }
  1441. ],
  1442. "responses": {
  1443. "204": {
  1444. "$ref": "#/responses/empty"
  1445. }
  1446. }
  1447. },
  1448. "delete": {
  1449. "produces": [
  1450. "application/json"
  1451. ],
  1452. "tags": [
  1453. "repository"
  1454. ],
  1455. "summary": "Delete a collaborator from a repository",
  1456. "operationId": "repoDeleteCollaborator",
  1457. "parameters": [
  1458. {
  1459. "type": "string",
  1460. "description": "owner of the repo",
  1461. "name": "owner",
  1462. "in": "path",
  1463. "required": true
  1464. },
  1465. {
  1466. "type": "string",
  1467. "description": "name of the repo",
  1468. "name": "repo",
  1469. "in": "path",
  1470. "required": true
  1471. },
  1472. {
  1473. "type": "string",
  1474. "description": "username of the collaborator to delete",
  1475. "name": "collaborator",
  1476. "in": "path",
  1477. "required": true
  1478. }
  1479. ],
  1480. "responses": {
  1481. "204": {
  1482. "$ref": "#/responses/empty"
  1483. }
  1484. }
  1485. }
  1486. },
  1487. "/repos/{owner}/{repo}/commits/{ref}/statuses": {
  1488. "get": {
  1489. "produces": [
  1490. "application/json"
  1491. ],
  1492. "tags": [
  1493. "repository"
  1494. ],
  1495. "summary": "Get a commit's combined status, by branch/tag/commit reference",
  1496. "operationId": "repoGetCombinedStatusByRef",
  1497. "parameters": [
  1498. {
  1499. "type": "string",
  1500. "description": "owner of the repo",
  1501. "name": "owner",
  1502. "in": "path",
  1503. "required": true
  1504. },
  1505. {
  1506. "type": "string",
  1507. "description": "name of the repo",
  1508. "name": "repo",
  1509. "in": "path",
  1510. "required": true
  1511. },
  1512. {
  1513. "type": "string",
  1514. "description": "name of branch/tag/commit",
  1515. "name": "ref",
  1516. "in": "path",
  1517. "required": true
  1518. }
  1519. ],
  1520. "responses": {
  1521. "200": {
  1522. "$ref": "#/responses/Status"
  1523. }
  1524. }
  1525. }
  1526. },
  1527. "/repos/{owner}/{repo}/contents/{filepath}": {
  1528. "get": {
  1529. "produces": [
  1530. "application/json"
  1531. ],
  1532. "tags": [
  1533. "repository"
  1534. ],
  1535. "summary": "Gets the contents of a file or directory in a repository",
  1536. "operationId": "repoGetFileContents",
  1537. "parameters": [
  1538. {
  1539. "type": "string",
  1540. "description": "owner of the repo",
  1541. "name": "owner",
  1542. "in": "path",
  1543. "required": true
  1544. },
  1545. {
  1546. "type": "string",
  1547. "description": "name of the repo",
  1548. "name": "repo",
  1549. "in": "path",
  1550. "required": true
  1551. },
  1552. {
  1553. "type": "string",
  1554. "description": "path of the file to delete",
  1555. "name": "filepath",
  1556. "in": "path",
  1557. "required": true
  1558. },
  1559. {
  1560. "type": "string",
  1561. "description": "The name of the commit/branch/tag. Default the repository’s default branch (usually master)",
  1562. "name": "ref",
  1563. "in": "query"
  1564. }
  1565. ],
  1566. "responses": {
  1567. "200": {
  1568. "$ref": "#/responses/FileContentResponse"
  1569. }
  1570. }
  1571. },
  1572. "put": {
  1573. "consumes": [
  1574. "application/json"
  1575. ],
  1576. "produces": [
  1577. "application/json"
  1578. ],
  1579. "tags": [
  1580. "repository"
  1581. ],
  1582. "summary": "Update a file in a repository",
  1583. "operationId": "repoUpdateFile",
  1584. "parameters": [
  1585. {
  1586. "type": "string",
  1587. "description": "owner of the repo",
  1588. "name": "owner",
  1589. "in": "path",
  1590. "required": true
  1591. },
  1592. {
  1593. "type": "string",
  1594. "description": "name of the repo",
  1595. "name": "repo",
  1596. "in": "path",
  1597. "required": true
  1598. },
  1599. {
  1600. "type": "string",
  1601. "description": "path of the file to update",
  1602. "name": "filepath",
  1603. "in": "path",
  1604. "required": true
  1605. },
  1606. {
  1607. "description": "'content' must be base64 encoded\n\n 'sha' is the SHA for the file that already exists\n\n 'author' and 'committer' are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)\n\n If 'branch' is not given, default branch will be used\n\n 'new_branch' (optional) will make a new branch from 'branch' before updating the file",
  1608. "name": "body",
  1609. "in": "body",
  1610. "schema": {
  1611. "$ref": "#/definitions/UpdateFileOptions"
  1612. }
  1613. }
  1614. ],
  1615. "responses": {
  1616. "200": {
  1617. "$ref": "#/responses/FileResponse"
  1618. }
  1619. }
  1620. },
  1621. "post": {
  1622. "consumes": [
  1623. "application/json"
  1624. ],
  1625. "produces": [
  1626. "application/json"
  1627. ],
  1628. "tags": [
  1629. "repository"
  1630. ],
  1631. "summary": "Create a file in a repository",
  1632. "operationId": "repoCreateFile",
  1633. "parameters": [
  1634. {
  1635. "type": "string",
  1636. "description": "owner of the repo",
  1637. "name": "owner",
  1638. "in": "path",
  1639. "required": true
  1640. },
  1641. {
  1642. "type": "string",
  1643. "description": "name of the repo",
  1644. "name": "repo",
  1645. "in": "path",
  1646. "required": true
  1647. },
  1648. {
  1649. "type": "string",
  1650. "description": "path of the file to create",
  1651. "name": "filepath",
  1652. "in": "path",
  1653. "required": true
  1654. },
  1655. {
  1656. "description": "'content' must be base64 encoded\n\n 'author' and 'committer' are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)\n\n If 'branch' is not given, default branch will be used\n\n 'sha' is the SHA for the file that already exists\n\n 'new_branch' (optional) will make a new branch from 'branch' before creating the file",
  1657. "name": "body",
  1658. "in": "body",
  1659. "schema": {
  1660. "$ref": "#/definitions/CreateFileOptions"
  1661. }
  1662. }
  1663. ],
  1664. "responses": {
  1665. "201": {
  1666. "$ref": "#/responses/FileResponse"
  1667. }
  1668. }
  1669. },
  1670. "delete": {
  1671. "consumes": [
  1672. "application/json"
  1673. ],
  1674. "produces": [
  1675. "application/json"
  1676. ],
  1677. "tags": [
  1678. "repository"
  1679. ],
  1680. "summary": "Delete a file in a repository",
  1681. "operationId": "repoDeleteFile",
  1682. "parameters": [
  1683. {
  1684. "type": "string",
  1685. "description": "owner of the repo",
  1686. "name": "owner",
  1687. "in": "path",
  1688. "required": true
  1689. },
  1690. {
  1691. "type": "string",
  1692. "description": "name of the repo",
  1693. "name": "repo",
  1694. "in": "path",
  1695. "required": true
  1696. },
  1697. {
  1698. "type": "string",
  1699. "description": "path of the file to delete",
  1700. "name": "filepath",
  1701. "in": "path",
  1702. "required": true
  1703. },
  1704. {
  1705. "description": "'sha' is the SHA for the file to be deleted\n\n 'author' and 'committer' are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)\n\n If 'branch' is not given, default branch will be used\n\n 'new_branch' (optional) will make a new branch from 'branch' before deleting the file",
  1706. "name": "body",
  1707. "in": "body",
  1708. "schema": {
  1709. "$ref": "#/definitions/DeleteFileOptions"
  1710. }
  1711. }
  1712. ],
  1713. "responses": {
  1714. "200": {
  1715. "$ref": "#/responses/FileDeleteResponse"
  1716. }
  1717. }
  1718. }
  1719. },
  1720. "/repos/{owner}/{repo}/editorconfig/{filepath}": {
  1721. "get": {
  1722. "produces": [
  1723. "application/json"
  1724. ],
  1725. "tags": [
  1726. "repository"
  1727. ],
  1728. "summary": "Get the EditorConfig definitions of a file in a repository",
  1729. "operationId": "repoGetEditorConfig",
  1730. "parameters": [
  1731. {
  1732. "type": "string",
  1733. "description": "owner of the repo",
  1734. "name": "owner",
  1735. "in": "path",
  1736. "required": true
  1737. },
  1738. {
  1739. "type": "string",
  1740. "description": "name of the repo",
  1741. "name": "repo",
  1742. "in": "path",
  1743. "required": true
  1744. },
  1745. {
  1746. "type": "string",
  1747. "description": "filepath of file to get",
  1748. "name": "filepath",
  1749. "in": "path",
  1750. "required": true
  1751. }
  1752. ],
  1753. "responses": {
  1754. "200": {
  1755. "description": "success"
  1756. }
  1757. }
  1758. }
  1759. },
  1760. "/repos/{owner}/{repo}/forks": {
  1761. "get": {
  1762. "produces": [
  1763. "application/json"
  1764. ],
  1765. "tags": [
  1766. "repository"
  1767. ],
  1768. "summary": "List a repository's forks",
  1769. "operationId": "listForks",
  1770. "parameters": [
  1771. {
  1772. "type": "string",
  1773. "description": "owner of the repo",
  1774. "name": "owner",
  1775. "in": "path",
  1776. "required": true
  1777. },
  1778. {
  1779. "type": "string",
  1780. "description": "name of the repo",
  1781. "name": "repo",
  1782. "in": "path",
  1783. "required": true
  1784. }
  1785. ],
  1786. "responses": {
  1787. "200": {
  1788. "$ref": "#/responses/RepositoryList"
  1789. }
  1790. }
  1791. },
  1792. "post": {
  1793. "produces": [
  1794. "application/json"
  1795. ],
  1796. "tags": [
  1797. "repository"
  1798. ],
  1799. "summary": "Fork a repository",
  1800. "operationId": "createFork",
  1801. "parameters": [
  1802. {
  1803. "type": "string",
  1804. "description": "owner of the repo to fork",
  1805. "name": "owner",
  1806. "in": "path",
  1807. "required": true
  1808. },
  1809. {
  1810. "type": "string",
  1811. "description": "name of the repo to fork",
  1812. "name": "repo",
  1813. "in": "path",
  1814. "required": true
  1815. },
  1816. {
  1817. "name": "body",
  1818. "in": "body",
  1819. "schema": {
  1820. "$ref": "#/definitions/CreateForkOption"
  1821. }
  1822. }
  1823. ],
  1824. "responses": {
  1825. "202": {
  1826. "$ref": "#/responses/Repository"
  1827. }
  1828. }
  1829. }
  1830. },
  1831. "/repos/{owner}/{repo}/git/blobs/{sha}": {
  1832. "get": {
  1833. "produces": [
  1834. "application/json"
  1835. ],
  1836. "tags": [
  1837. "repository"
  1838. ],
  1839. "summary": "Gets the blob of a repository.",
  1840. "operationId": "GetBlob",
  1841. "parameters": [
  1842. {
  1843. "type": "string",
  1844. "description": "owner of the repo",
  1845. "name": "owner",
  1846. "in": "path",
  1847. "required": true
  1848. },
  1849. {
  1850. "type": "string",
  1851. "description": "name of the repo",
  1852. "name": "repo",
  1853. "in": "path",
  1854. "required": true
  1855. },
  1856. {
  1857. "type": "string",
  1858. "description": "sha of the commit",
  1859. "name": "sha",
  1860. "in": "path",
  1861. "required": true
  1862. }
  1863. ],
  1864. "responses": {
  1865. "200": {
  1866. "$ref": "#/responses/GitBlobResponse"
  1867. }
  1868. }
  1869. }
  1870. },
  1871. "/repos/{owner}/{repo}/git/commits/{sha}": {
  1872. "get": {
  1873. "produces": [
  1874. "application/json"
  1875. ],
  1876. "tags": [
  1877. "repository"
  1878. ],
  1879. "summary": "Get a single commit from a repository",
  1880. "operationId": "repoGetSingleCommit",
  1881. "parameters": [
  1882. {
  1883. "type": "string",
  1884. "description": "owner of the repo",
  1885. "name": "owner",
  1886. "in": "path",
  1887. "required": true
  1888. },
  1889. {
  1890. "type": "string",
  1891. "description": "name of the repo",
  1892. "name": "repo",
  1893. "in": "path",
  1894. "required": true
  1895. },
  1896. {
  1897. "type": "string",
  1898. "description": "the commit hash",
  1899. "name": "sha",
  1900. "in": "path",
  1901. "required": true
  1902. }
  1903. ],
  1904. "responses": {
  1905. "200": {
  1906. "$ref": "#/responses/Commit"
  1907. },
  1908. "404": {
  1909. "$ref": "#/responses/notFound"
  1910. }
  1911. }
  1912. }
  1913. },
  1914. "/repos/{owner}/{repo}/git/refs": {
  1915. "get": {
  1916. "produces": [
  1917. "application/json"
  1918. ],
  1919. "tags": [
  1920. "repository"
  1921. ],
  1922. "summary": "Get specified ref or filtered repository's refs",
  1923. "operationId": "repoListAllGitRefs",
  1924. "parameters": [
  1925. {
  1926. "type": "string",
  1927. "description": "owner of the repo",
  1928. "name": "owner",
  1929. "in": "path",
  1930. "required": true
  1931. },
  1932. {
  1933. "type": "string",
  1934. "description": "name of the repo",
  1935. "name": "repo",
  1936. "in": "path",
  1937. "required": true
  1938. }
  1939. ],
  1940. "responses": {
  1941. "200": {
  1942. "$ref": "#/responses/ReferenceList"
  1943. },
  1944. "404": {
  1945. "$ref": "#/responses/notFound"
  1946. }
  1947. }
  1948. }
  1949. },
  1950. "/repos/{owner}/{repo}/git/refs/{ref}": {
  1951. "get": {
  1952. "produces": [
  1953. "application/json"
  1954. ],
  1955. "tags": [
  1956. "repository"
  1957. ],
  1958. "summary": "Get specified ref or filtered repository's refs",
  1959. "operationId": "repoListGitRefs",
  1960. "parameters": [
  1961. {
  1962. "type": "string",
  1963. "description": "owner of the repo",
  1964. "name": "owner",
  1965. "in": "path",
  1966. "required": true
  1967. },
  1968. {
  1969. "type": "string",
  1970. "description": "name of the repo",
  1971. "name": "repo",
  1972. "in": "path",
  1973. "required": true
  1974. },
  1975. {
  1976. "type": "string",
  1977. "description": "part or full name of the ref",
  1978. "name": "ref",
  1979. "in": "path",
  1980. "required": true
  1981. }
  1982. ],
  1983. "responses": {
  1984. "200": {
  1985. "$ref": "#/responses/ReferenceList"
  1986. },
  1987. "404": {
  1988. "$ref": "#/responses/notFound"
  1989. }
  1990. }
  1991. }
  1992. },
  1993. "/repos/{owner}/{repo}/git/trees/{sha}": {
  1994. "get": {
  1995. "produces": [
  1996. "application/json"
  1997. ],
  1998. "tags": [
  1999. "repository"
  2000. ],
  2001. "summary": "Gets the tree of a repository.",
  2002. "operationId": "GetTree",
  2003. "parameters": [
  2004. {
  2005. "type": "string",
  2006. "description": "owner of the repo",
  2007. "name": "owner",
  2008. "in": "path",
  2009. "required": true
  2010. },
  2011. {
  2012. "type": "string",
  2013. "description": "name of the repo",
  2014. "name": "repo",
  2015. "in": "path",
  2016. "required": true
  2017. },
  2018. {
  2019. "type": "string",
  2020. "description": "sha of the commit",
  2021. "name": "sha",
  2022. "in": "path",
  2023. "required": true
  2024. },
  2025. {
  2026. "type": "boolean",
  2027. "description": "show all directories and files",
  2028. "name": "recursive",
  2029. "in": "query"
  2030. },
  2031. {
  2032. "type": "integer",
  2033. "description": "page number; the 'truncated' field in the response will be true if there are still more items after this page, false if the last page",
  2034. "name": "page",
  2035. "in": "query"
  2036. },
  2037. {
  2038. "type": "integer",
  2039. "description": "number of items per page; default is 1000 or what is set in app.ini as DEFAULT_GIT_TREES_PER_PAGE",
  2040. "name": "per_page",
  2041. "in": "query"
  2042. }
  2043. ],
  2044. "responses": {
  2045. "200": {
  2046. "$ref": "#/responses/GitTreeResponse"
  2047. }
  2048. }
  2049. }
  2050. },
  2051. "/repos/{owner}/{repo}/hooks": {
  2052. "get": {
  2053. "produces": [
  2054. "application/json"
  2055. ],
  2056. "tags": [
  2057. "repository"
  2058. ],
  2059. "summary": "List the hooks in a repository",
  2060. "operationId": "repoListHooks",
  2061. "parameters": [
  2062. {
  2063. "type": "string",
  2064. "description": "owner of the repo",
  2065. "name": "owner",
  2066. "in": "path",
  2067. "required": true
  2068. },
  2069. {
  2070. "type": "string",
  2071. "description": "name of the repo",
  2072. "name": "repo",
  2073. "in": "path",
  2074. "required": true
  2075. }
  2076. ],
  2077. "responses": {
  2078. "200": {
  2079. "$ref": "#/responses/HookList"
  2080. }
  2081. }
  2082. },
  2083. "post": {
  2084. "consumes": [
  2085. "application/json"
  2086. ],
  2087. "produces": [
  2088. "application/json"
  2089. ],
  2090. "tags": [
  2091. "repository"
  2092. ],
  2093. "summary": "Create a hook",
  2094. "operationId": "repoCreateHook",
  2095. "parameters": [
  2096. {
  2097. "type": "string",
  2098. "description": "owner of the repo",
  2099. "name": "owner",
  2100. "in": "path",
  2101. "required": true
  2102. },
  2103. {
  2104. "type": "string",
  2105. "description": "name of the repo",
  2106. "name": "repo",
  2107. "in": "path",
  2108. "required": true
  2109. },
  2110. {
  2111. "name": "body",
  2112. "in": "body",
  2113. "schema": {
  2114. "$ref": "#/definitions/CreateHookOption"
  2115. }
  2116. }
  2117. ],
  2118. "responses": {
  2119. "201": {
  2120. "$ref": "#/responses/Hook"
  2121. }
  2122. }
  2123. }
  2124. },
  2125. "/repos/{owner}/{repo}/hooks/git": {
  2126. "get": {
  2127. "produces": [
  2128. "application/json"
  2129. ],
  2130. "tags": [
  2131. "repository"
  2132. ],
  2133. "summary": "List the Git hooks in a repository",
  2134. "operationId": "repoListGitHooks",
  2135. "parameters": [
  2136. {
  2137. "type": "string",
  2138. "description": "owner of the repo",
  2139. "name": "owner",
  2140. "in": "path",
  2141. "required": true
  2142. },
  2143. {
  2144. "type": "string",
  2145. "description": "name of the repo",
  2146. "name": "repo",
  2147. "in": "path",
  2148. "required": true
  2149. }
  2150. ],
  2151. "responses": {
  2152. "200": {
  2153. "$ref": "#/responses/GitHookList"
  2154. }
  2155. }
  2156. }
  2157. },
  2158. "/repos/{owner}/{repo}/hooks/git/{id}": {
  2159. "get": {
  2160. "produces": [
  2161. "application/json"
  2162. ],
  2163. "tags": [
  2164. "repository"
  2165. ],
  2166. "summary": "Get a Git hook",
  2167. "operationId": "repoGetGitHook",
  2168. "parameters": [
  2169. {
  2170. "type": "string",
  2171. "description": "owner of the repo",
  2172. "name": "owner",
  2173. "in": "path",
  2174. "required": true
  2175. },
  2176. {
  2177. "type": "string",
  2178. "description": "name of the repo",
  2179. "name": "repo",
  2180. "in": "path",
  2181. "required": true
  2182. },
  2183. {
  2184. "type": "string",
  2185. "description": "id of the hook to get",
  2186. "name": "id",
  2187. "in": "path",
  2188. "required": true
  2189. }
  2190. ],
  2191. "responses": {
  2192. "200": {
  2193. "$ref": "#/responses/GitHook"
  2194. },
  2195. "404": {
  2196. "$ref": "#/responses/notFound"
  2197. }
  2198. }
  2199. },
  2200. "delete": {
  2201. "produces": [
  2202. "application/json"
  2203. ],
  2204. "tags": [
  2205. "repository"
  2206. ],
  2207. "summary": "Delete a Git hook in a repository",
  2208. "operationId": "repoDeleteGitHook",
  2209. "parameters": [
  2210. {
  2211. "type": "string",
  2212. "description": "owner of the repo",
  2213. "name": "owner",
  2214. "in": "path",
  2215. "required": true
  2216. },
  2217. {
  2218. "type": "string",
  2219. "description": "name of the repo",
  2220. "name": "repo",
  2221. "in": "path",
  2222. "required": true
  2223. },
  2224. {
  2225. "type": "string",
  2226. "description": "id of the hook to get",
  2227. "name": "id",
  2228. "in": "path",
  2229. "required": true
  2230. }
  2231. ],
  2232. "responses": {
  2233. "204": {
  2234. "$ref": "#/responses/empty"
  2235. },
  2236. "404": {
  2237. "$ref": "#/responses/notFound"
  2238. }
  2239. }
  2240. },
  2241. "patch": {
  2242. "produces": [
  2243. "application/json"
  2244. ],
  2245. "tags": [
  2246. "repository"
  2247. ],
  2248. "summary": "Edit a Git hook in a repository",
  2249. "operationId": "repoEditGitHook",
  2250. "parameters": [
  2251. {
  2252. "type": "string",
  2253. "description": "owner of the repo",
  2254. "name": "owner",
  2255. "in": "path",
  2256. "required": true
  2257. },
  2258. {
  2259. "type": "string",
  2260. "description": "name of the repo",
  2261. "name": "repo",
  2262. "in": "path",
  2263. "required": true
  2264. },
  2265. {
  2266. "type": "string",
  2267. "description": "id of the hook to get",
  2268. "name": "id",
  2269. "in": "path",
  2270. "required": true
  2271. },
  2272. {
  2273. "name": "body",
  2274. "in": "body",
  2275. "schema": {
  2276. "$ref": "#/definitions/EditGitHookOption"
  2277. }
  2278. }
  2279. ],
  2280. "responses": {
  2281. "200": {
  2282. "$ref": "#/responses/GitHook"
  2283. },
  2284. "404": {
  2285. "$ref": "#/responses/notFound"
  2286. }
  2287. }
  2288. }
  2289. },
  2290. "/repos/{owner}/{repo}/hooks/{id}": {
  2291. "get": {
  2292. "produces": [
  2293. "application/json"
  2294. ],
  2295. "tags": [
  2296. "repository"
  2297. ],
  2298. "summary": "Get a hook",
  2299. "operationId": "repoGetHook",
  2300. "parameters": [
  2301. {
  2302. "type": "string",
  2303. "description": "owner of the repo",
  2304. "name": "owner",
  2305. "in": "path",
  2306. "required": true
  2307. },
  2308. {
  2309. "type": "string",
  2310. "description": "name of the repo",
  2311. "name": "repo",
  2312. "in": "path",
  2313. "required": true
  2314. },
  2315. {
  2316. "type": "integer",
  2317. "format": "int64",
  2318. "description": "id of the hook to get",
  2319. "name": "id",
  2320. "in": "path",
  2321. "required": true
  2322. }
  2323. ],
  2324. "responses": {
  2325. "200": {
  2326. "$ref": "#/responses/Hook"
  2327. }
  2328. }
  2329. },
  2330. "delete": {
  2331. "produces": [
  2332. "application/json"
  2333. ],
  2334. "tags": [
  2335. "repository"
  2336. ],
  2337. "summary": "Delete a hook in a repository",
  2338. "operationId": "repoDeleteHook",
  2339. "parameters": [
  2340. {
  2341. "type": "string",
  2342. "description": "owner of the repo",
  2343. "name": "owner",
  2344. "in": "path",
  2345. "required": true
  2346. },
  2347. {
  2348. "type": "string",
  2349. "description": "name of the repo",
  2350. "name": "repo",
  2351. "in": "path",
  2352. "required": true
  2353. },
  2354. {
  2355. "type": "integer",
  2356. "format": "int64",
  2357. "description": "id of the hook to delete",
  2358. "name": "id",
  2359. "in": "path",
  2360. "required": true
  2361. }
  2362. ],
  2363. "responses": {
  2364. "204": {
  2365. "$ref": "#/responses/empty"
  2366. },
  2367. "404": {
  2368. "$ref": "#/responses/notFound"
  2369. }
  2370. }
  2371. },
  2372. "patch": {
  2373. "produces": [
  2374. "application/json"
  2375. ],
  2376. "tags": [
  2377. "repository"
  2378. ],
  2379. "summary": "Edit a hook in a repository",
  2380. "operationId": "repoEditHook",
  2381. "parameters": [
  2382. {
  2383. "type": "string",
  2384. "description": "owner of the repo",
  2385. "name": "owner",
  2386. "in": "path",
  2387. "required": true
  2388. },
  2389. {
  2390. "type": "string",
  2391. "description": "name of the repo",
  2392. "name": "repo",
  2393. "in": "path",
  2394. "required": true
  2395. },
  2396. {
  2397. "type": "integer",
  2398. "format": "int64",
  2399. "description": "index of the hook",
  2400. "name": "id",
  2401. "in": "path",
  2402. "required": true
  2403. },
  2404. {
  2405. "name": "body",
  2406. "in": "body",
  2407. "schema": {
  2408. "$ref": "#/definitions/EditHookOption"
  2409. }
  2410. }
  2411. ],
  2412. "responses": {
  2413. "200": {
  2414. "$ref": "#/responses/Hook"
  2415. }
  2416. }
  2417. }
  2418. },
  2419. "/repos/{owner}/{repo}/hooks/{id}/tests": {
  2420. "post": {
  2421. "produces": [
  2422. "application/json"
  2423. ],
  2424. "tags": [
  2425. "repository"
  2426. ],
  2427. "summary": "Test a push webhook",
  2428. "operationId": "repoTestHook",
  2429. "parameters": [
  2430. {
  2431. "type": "string",
  2432. "description": "owner of the repo",
  2433. "name": "owner",
  2434. "in": "path",
  2435. "required": true
  2436. },
  2437. {
  2438. "type": "string",
  2439. "description": "name of the repo",
  2440. "name": "repo",
  2441. "in": "path",
  2442. "required": true
  2443. },
  2444. {
  2445. "type": "integer",
  2446. "format": "int64",
  2447. "description": "id of the hook to test",
  2448. "name": "id",
  2449. "in": "path",
  2450. "required": true
  2451. }
  2452. ],
  2453. "responses": {
  2454. "204": {
  2455. "$ref": "#/responses/empty"
  2456. }
  2457. }
  2458. }
  2459. },
  2460. "/repos/{owner}/{repo}/issues": {
  2461. "get": {
  2462. "produces": [
  2463. "application/json"
  2464. ],
  2465. "tags": [
  2466. "issue"
  2467. ],
  2468. "summary": "List a repository's issues",
  2469. "operationId": "issueListIssues",
  2470. "parameters": [
  2471. {
  2472. "type": "string",
  2473. "description": "owner of the repo",
  2474. "name": "owner",
  2475. "in": "path",
  2476. "required": true
  2477. },
  2478. {
  2479. "type": "string",
  2480. "description": "name of the repo",
  2481. "name": "repo",
  2482. "in": "path",
  2483. "required": true
  2484. },
  2485. {
  2486. "type": "string",
  2487. "description": "whether issue is open or closed",
  2488. "name": "state",
  2489. "in": "query"
  2490. },
  2491. {
  2492. "type": "string",
  2493. "description": "comma separated list of labels. Fetch only issues that have any of this labels. Non existent labels are discarded",
  2494. "name": "labels",
  2495. "in": "query"
  2496. },
  2497. {
  2498. "type": "integer",
  2499. "description": "page number of requested issues",
  2500. "name": "page",
  2501. "in": "query"
  2502. },
  2503. {
  2504. "type": "string",
  2505. "description": "search string",
  2506. "name": "q",
  2507. "in": "query"
  2508. }
  2509. ],
  2510. "responses": {
  2511. "200": {
  2512. "$ref": "#/responses/IssueList"
  2513. }
  2514. }
  2515. },
  2516. "post": {
  2517. "consumes": [
  2518. "application/json"
  2519. ],
  2520. "produces": [
  2521. "application/json"
  2522. ],
  2523. "tags": [
  2524. "issue"
  2525. ],
  2526. "summary": "Create an issue. If using deadline only the date will be taken into account, and time of day ignored.",
  2527. "operationId": "issueCreateIssue",
  2528. "parameters": [
  2529. {
  2530. "type": "string",
  2531. "description": "owner of the repo",
  2532. "name": "owner",
  2533. "in": "path",
  2534. "required": true
  2535. },
  2536. {
  2537. "type": "string",
  2538. "description": "name of the repo",
  2539. "name": "repo",
  2540. "in": "path",
  2541. "required": true
  2542. },
  2543. {
  2544. "name": "body",
  2545. "in": "body",
  2546. "schema": {
  2547. "$ref": "#/definitions/CreateIssueOption"
  2548. }
  2549. }
  2550. ],
  2551. "responses": {
  2552. "201": {
  2553. "$ref": "#/responses/Issue"
  2554. }
  2555. }
  2556. }
  2557. },
  2558. "/repos/{owner}/{repo}/issues/comments": {
  2559. "get": {
  2560. "produces": [
  2561. "application/json"
  2562. ],
  2563. "tags": [
  2564. "issue"
  2565. ],
  2566. "summary": "List all comments in a repository",
  2567. "operationId": "issueGetRepoComments",
  2568. "parameters": [
  2569. {
  2570. "type": "string",
  2571. "description": "owner of the repo",
  2572. "name": "owner",
  2573. "in": "path",
  2574. "required": true
  2575. },
  2576. {
  2577. "type": "string",
  2578. "description": "name of the repo",
  2579. "name": "repo",
  2580. "in": "path",
  2581. "required": true
  2582. },
  2583. {
  2584. "type": "string",
  2585. "description": "if provided, only comments updated since the provided time are returned.",
  2586. "name": "since",
  2587. "in": "query"
  2588. }
  2589. ],
  2590. "responses": {
  2591. "200": {
  2592. "$ref": "#/responses/CommentList"
  2593. }
  2594. }
  2595. }
  2596. },
  2597. "/repos/{owner}/{repo}/issues/comments/{id}": {
  2598. "delete": {
  2599. "tags": [
  2600. "issue"
  2601. ],
  2602. "summary": "Delete a comment",
  2603. "operationId": "issueDeleteComment",
  2604. "parameters": [
  2605. {
  2606. "type": "string",
  2607. "description": "owner of the repo",
  2608. "name": "owner",
  2609. "in": "path",
  2610. "required": true
  2611. },
  2612. {
  2613. "type": "string",
  2614. "description": "name of the repo",
  2615. "name": "repo",
  2616. "in": "path",
  2617. "required": true
  2618. },
  2619. {
  2620. "type": "integer",
  2621. "format": "int64",
  2622. "description": "id of comment to delete",
  2623. "name": "id",
  2624. "in": "path",
  2625. "required": true
  2626. }
  2627. ],
  2628. "responses": {
  2629. "204": {
  2630. "$ref": "#/responses/empty"
  2631. }
  2632. }
  2633. },
  2634. "patch": {
  2635. "consumes": [
  2636. "application/json"
  2637. ],
  2638. "produces": [
  2639. "application/json"
  2640. ],
  2641. "tags": [
  2642. "issue"
  2643. ],
  2644. "summary": "Edit a comment",
  2645. "operationId": "issueEditComment",
  2646. "parameters": [
  2647. {
  2648. "type": "string",
  2649. "description": "owner of the repo",
  2650. "name": "owner",
  2651. "in": "path",
  2652. "required": true
  2653. },
  2654. {
  2655. "type": "string",
  2656. "description": "name of the repo",
  2657. "name": "repo",
  2658. "in": "path",
  2659. "required": true
  2660. },
  2661. {
  2662. "type": "integer",
  2663. "format": "int64",
  2664. "description": "id of the comment to edit",
  2665. "name": "id",
  2666. "in": "path",
  2667. "required": true
  2668. },
  2669. {
  2670. "name": "body",
  2671. "in": "body",
  2672. "schema": {
  2673. "$ref": "#/definitions/EditIssueCommentOption"
  2674. }
  2675. }
  2676. ],
  2677. "responses": {
  2678. "200": {
  2679. "$ref": "#/responses/Comment"
  2680. }
  2681. }
  2682. }
  2683. },
  2684. "/repos/{owner}/{repo}/issues/{id}/times": {
  2685. "get": {
  2686. "produces": [
  2687. "application/json"
  2688. ],
  2689. "tags": [
  2690. "issue"
  2691. ],
  2692. "summary": "List an issue's tracked times",
  2693. "operationId": "issueTrackedTimes",
  2694. "parameters": [
  2695. {
  2696. "type": "string",
  2697. "description": "owner of the repo",
  2698. "name": "owner",
  2699. "in": "path",
  2700. "required": true
  2701. },
  2702. {
  2703. "type": "string",
  2704. "description": "name of the repo",
  2705. "name": "repo",
  2706. "in": "path",
  2707. "required": true
  2708. },
  2709. {
  2710. "type": "integer",
  2711. "format": "int64",
  2712. "description": "index of the issue",
  2713. "name": "id",
  2714. "in": "path",
  2715. "required": true
  2716. }
  2717. ],
  2718. "responses": {
  2719. "200": {
  2720. "$ref": "#/responses/TrackedTimeList"
  2721. }
  2722. }
  2723. },
  2724. "post": {
  2725. "consumes": [
  2726. "application/json"
  2727. ],
  2728. "produces": [
  2729. "application/json"
  2730. ],
  2731. "tags": [
  2732. "issue"
  2733. ],
  2734. "summary": "Add a tracked time to a issue",
  2735. "operationId": "issueAddTime",
  2736. "parameters": [
  2737. {
  2738. "type": "string",
  2739. "description": "owner of the repo",
  2740. "name": "owner",
  2741. "in": "path",
  2742. "required": true
  2743. },
  2744. {
  2745. "type": "string",
  2746. "description": "name of the repo",
  2747. "name": "repo",
  2748. "in": "path",
  2749. "required": true
  2750. },
  2751. {
  2752. "type": "integer",
  2753. "format": "int64",
  2754. "description": "index of the issue to add tracked time to",
  2755. "name": "id",
  2756. "in": "path",
  2757. "required": true
  2758. },
  2759. {
  2760. "name": "body",
  2761. "in": "body",
  2762. "schema": {
  2763. "$ref": "#/definitions/AddTimeOption"
  2764. }
  2765. }
  2766. ],
  2767. "responses": {
  2768. "200": {
  2769. "$ref": "#/responses/TrackedTime"
  2770. },
  2771. "400": {
  2772. "$ref": "#/responses/error"
  2773. },
  2774. "403": {
  2775. "$ref": "#/responses/error"
  2776. }
  2777. }
  2778. }
  2779. },
  2780. "/repos/{owner}/{repo}/issues/{index}": {
  2781. "get": {
  2782. "produces": [
  2783. "application/json"
  2784. ],
  2785. "tags": [
  2786. "issue"
  2787. ],
  2788. "summary": "Get an issue",
  2789. "operationId": "issueGetIssue",
  2790. "parameters": [
  2791. {
  2792. "type": "string",
  2793. "description": "owner of the repo",
  2794. "name": "owner",
  2795. "in": "path",
  2796. "required": true
  2797. },
  2798. {
  2799. "type": "string",
  2800. "description": "name of the repo",
  2801. "name": "repo",
  2802. "in": "path",
  2803. "required": true
  2804. },
  2805. {
  2806. "type": "integer",
  2807. "format": "int64",
  2808. "description": "index of the issue to get",
  2809. "name": "index",
  2810. "in": "path",
  2811. "required": true
  2812. }
  2813. ],
  2814. "responses": {
  2815. "200": {
  2816. "$ref": "#/responses/Issue"
  2817. }
  2818. }
  2819. },
  2820. "patch": {
  2821. "consumes": [
  2822. "application/json"
  2823. ],
  2824. "produces": [
  2825. "application/json"
  2826. ],
  2827. "tags": [
  2828. "issue"
  2829. ],
  2830. "summary": "Edit an issue. If using deadline only the date will be taken into account, and time of day ignored.",
  2831. "operationId": "issueEditIssue",
  2832. "parameters": [
  2833. {
  2834. "type": "string",
  2835. "description": "owner of the repo",
  2836. "name": "owner",
  2837. "in": "path",
  2838. "required": true
  2839. },
  2840. {
  2841. "type": "string",
  2842. "description": "name of the repo",
  2843. "name": "repo",
  2844. "in": "path",
  2845. "required": true
  2846. },
  2847. {
  2848. "type": "integer",
  2849. "format": "int64",
  2850. "description": "index of the issue to edit",
  2851. "name": "index",
  2852. "in": "path",
  2853. "required": true
  2854. },
  2855. {
  2856. "name": "body",
  2857. "in": "body",
  2858. "schema": {
  2859. "$ref": "#/definitions/EditIssueOption"
  2860. }
  2861. }
  2862. ],
  2863. "responses": {
  2864. "201": {
  2865. "$ref": "#/responses/Issue"
  2866. }
  2867. }
  2868. }
  2869. },
  2870. "/repos/{owner}/{repo}/issues/{index}/comments": {
  2871. "get": {
  2872. "produces": [
  2873. "application/json"
  2874. ],
  2875. "tags": [
  2876. "issue"
  2877. ],
  2878. "summary": "List all comments on an issue",
  2879. "operationId": "issueGetComments",
  2880. "parameters": [
  2881. {
  2882. "type": "string",
  2883. "description": "owner of the repo",
  2884. "name": "owner",
  2885. "in": "path",
  2886. "required": true
  2887. },
  2888. {
  2889. "type": "string",
  2890. "description": "name of the repo",
  2891. "name": "repo",
  2892. "in": "path",
  2893. "required": true
  2894. },
  2895. {
  2896. "type": "integer",
  2897. "format": "int64",
  2898. "description": "index of the issue",
  2899. "name": "index",
  2900. "in": "path",
  2901. "required": true
  2902. },
  2903. {
  2904. "type": "string",
  2905. "description": "if provided, only comments updated since the specified time are returned.",
  2906. "name": "since",
  2907. "in": "query"
  2908. }
  2909. ],
  2910. "responses": {
  2911. "200": {
  2912. "$ref": "#/responses/CommentList"
  2913. }
  2914. }
  2915. },
  2916. "post": {
  2917. "consumes": [
  2918. "application/json"
  2919. ],
  2920. "produces": [
  2921. "application/json"
  2922. ],
  2923. "tags": [
  2924. "issue"
  2925. ],
  2926. "summary": "Add a comment to an issue",
  2927. "operationId": "issueCreateComment",
  2928. "parameters": [
  2929. {
  2930. "type": "string",
  2931. "description": "owner of the repo",
  2932. "name": "owner",
  2933. "in": "path",
  2934. "required": true
  2935. },
  2936. {
  2937. "type": "string",
  2938. "description": "name of the repo",
  2939. "name": "repo",
  2940. "in": "path",
  2941. "required": true
  2942. },
  2943. {
  2944. "type": "integer",
  2945. "format": "int64",
  2946. "description": "index of the issue",
  2947. "name": "index",
  2948. "in": "path",
  2949. "required": true
  2950. },
  2951. {
  2952. "name": "body",
  2953. "in": "body",
  2954. "schema": {
  2955. "$ref": "#/definitions/CreateIssueCommentOption"
  2956. }
  2957. }
  2958. ],
  2959. "responses": {
  2960. "201": {
  2961. "$ref": "#/responses/Comment"
  2962. }
  2963. }
  2964. }
  2965. },
  2966. "/repos/{owner}/{repo}/issues/{index}/comments/{id}": {
  2967. "delete": {
  2968. "tags": [
  2969. "issue"
  2970. ],
  2971. "summary": "Delete a comment",
  2972. "operationId": "issueDeleteCommentDeprecated",
  2973. "deprecated": true,
  2974. "parameters": [
  2975. {
  2976. "type": "string",
  2977. "description": "owner of the repo",
  2978. "name": "owner",
  2979. "in": "path",
  2980. "required": true
  2981. },
  2982. {
  2983. "type": "string",
  2984. "description": "name of the repo",
  2985. "name": "repo",
  2986. "in": "path",
  2987. "required": true
  2988. },
  2989. {
  2990. "type": "integer",
  2991. "description": "this parameter is ignored",
  2992. "name": "index",
  2993. "in": "path",
  2994. "required": true
  2995. },
  2996. {
  2997. "type": "integer",
  2998. "format": "int64",
  2999. "description": "id of comment to delete",
  3000. "name": "id",
  3001. "in": "path",
  3002. "required": true
  3003. }
  3004. ],
  3005. "responses": {
  3006. "204": {
  3007. "$ref": "#/responses/empty"
  3008. }
  3009. }
  3010. },
  3011. "patch": {
  3012. "consumes": [
  3013. "application/json"
  3014. ],
  3015. "produces": [
  3016. "application/json"
  3017. ],
  3018. "tags": [
  3019. "issue"
  3020. ],
  3021. "summary": "Edit a comment",
  3022. "operationId": "issueEditCommentDeprecated",
  3023. "deprecated": true,
  3024. "parameters": [
  3025. {
  3026. "type": "string",
  3027. "description": "owner of the repo",
  3028. "name": "owner",
  3029. "in": "path",
  3030. "required": true
  3031. },
  3032. {
  3033. "type": "string",
  3034. "description": "name of the repo",
  3035. "name": "repo",
  3036. "in": "path",
  3037. "required": true
  3038. },
  3039. {
  3040. "type": "integer",
  3041. "description": "this parameter is ignored",
  3042. "name": "index",
  3043. "in": "path",
  3044. "required": true
  3045. },
  3046. {
  3047. "type": "integer",
  3048. "format": "int64",
  3049. "description": "id of the comment to edit",
  3050. "name": "id",
  3051. "in": "path",
  3052. "required": true
  3053. },
  3054. {
  3055. "name": "body",
  3056. "in": "body",
  3057. "schema": {
  3058. "$ref": "#/definitions/EditIssueCommentOption"
  3059. }
  3060. }
  3061. ],
  3062. "responses": {
  3063. "200": {
  3064. "$ref": "#/responses/Comment"
  3065. }
  3066. }
  3067. }
  3068. },
  3069. "/repos/{owner}/{repo}/issues/{index}/deadline": {
  3070. "post": {
  3071. "consumes": [
  3072. "application/json"
  3073. ],
  3074. "produces": [
  3075. "application/json"
  3076. ],
  3077. "tags": [
  3078. "issue"
  3079. ],
  3080. "summary": "Set an issue deadline. If set to null, the deadline is deleted. If using deadline only the date will be taken into account, and time of day ignored.",
  3081. "operationId": "issueEditIssueDeadline",
  3082. "parameters": [
  3083. {
  3084. "type": "string",
  3085. "description": "owner of the repo",
  3086. "name": "owner",
  3087. "in": "path",
  3088. "required": true
  3089. },
  3090. {
  3091. "type": "string",
  3092. "description": "name of the repo",
  3093. "name": "repo",
  3094. "in": "path",
  3095. "required": true
  3096. },
  3097. {
  3098. "type": "integer",
  3099. "format": "int64",
  3100. "description": "index of the issue to create or update a deadline on",
  3101. "name": "index",
  3102. "in": "path",
  3103. "required": true
  3104. },
  3105. {
  3106. "name": "body",
  3107. "in": "body",
  3108. "schema": {
  3109. "$ref": "#/definitions/EditDeadlineOption"
  3110. }
  3111. }
  3112. ],
  3113. "responses": {
  3114. "201": {
  3115. "$ref": "#/responses/IssueDeadline"
  3116. },
  3117. "403": {
  3118. "description": "Not repo writer"
  3119. },
  3120. "404": {
  3121. "description": "Issue not found"
  3122. }
  3123. }
  3124. }
  3125. },
  3126. "/repos/{owner}/{repo}/issues/{index}/labels": {
  3127. "get": {
  3128. "produces": [
  3129. "application/json"
  3130. ],
  3131. "tags": [
  3132. "issue"
  3133. ],
  3134. "summary": "Get an issue's labels",
  3135. "operationId": "issueGetLabels",
  3136. "parameters": [
  3137. {
  3138. "type": "string",
  3139. "description": "owner of the repo",
  3140. "name": "owner",
  3141. "in": "path",
  3142. "required": true
  3143. },
  3144. {
  3145. "type": "string",
  3146. "description": "name of the repo",
  3147. "name": "repo",
  3148. "in": "path",
  3149. "required": true
  3150. },
  3151. {
  3152. "type": "integer",
  3153. "format": "int64",
  3154. "description": "index of the issue",
  3155. "name": "index",
  3156. "in": "path",
  3157. "required": true
  3158. }
  3159. ],
  3160. "responses": {
  3161. "200": {
  3162. "$ref": "#/responses/LabelList"
  3163. },
  3164. "404": {
  3165. "$ref": "#/responses/notFound"
  3166. }
  3167. }
  3168. },
  3169. "put": {
  3170. "consumes": [
  3171. "application/json"
  3172. ],
  3173. "produces": [
  3174. "application/json"
  3175. ],
  3176. "tags": [
  3177. "issue"
  3178. ],
  3179. "summary": "Replace an issue's labels",
  3180. "operationId": "issueReplaceLabels",
  3181. "parameters": [
  3182. {
  3183. "type": "string",
  3184. "description": "owner of the repo",
  3185. "name": "owner",
  3186. "in": "path",
  3187. "required": true
  3188. },
  3189. {
  3190. "type": "string",
  3191. "description": "name of the repo",
  3192. "name": "repo",
  3193. "in": "path",
  3194. "required": true
  3195. },
  3196. {
  3197. "type": "integer",
  3198. "format": "int64",
  3199. "description": "index of the issue",
  3200. "name": "index",
  3201. "in": "path",
  3202. "required": true
  3203. },
  3204. {
  3205. "name": "body",
  3206. "in": "body",
  3207. "schema": {
  3208. "$ref": "#/definitions/IssueLabelsOption"
  3209. }
  3210. }
  3211. ],
  3212. "responses": {
  3213. "200": {
  3214. "$ref": "#/responses/LabelList"
  3215. }
  3216. }
  3217. },
  3218. "post": {
  3219. "consumes": [
  3220. "application/json"
  3221. ],
  3222. "produces": [
  3223. "application/json"
  3224. ],
  3225. "tags": [
  3226. "issue"
  3227. ],
  3228. "summary": "Add a label to an issue",
  3229. "operationId": "issueAddLabel",
  3230. "parameters": [
  3231. {
  3232. "type": "string",
  3233. "description": "owner of the repo",
  3234. "name": "owner",
  3235. "in": "path",
  3236. "required": true
  3237. },
  3238. {
  3239. "type": "string",
  3240. "description": "name of the repo",
  3241. "name": "repo",
  3242. "in": "path",
  3243. "required": true
  3244. },
  3245. {
  3246. "type": "integer",
  3247. "format": "int64",
  3248. "description": "index of the issue",
  3249. "name": "index",
  3250. "in": "path",
  3251. "required": true
  3252. },
  3253. {
  3254. "name": "body",
  3255. "in": "body",
  3256. "schema": {
  3257. "$ref": "#/definitions/IssueLabelsOption"
  3258. }
  3259. }
  3260. ],
  3261. "responses": {
  3262. "200": {
  3263. "$ref": "#/responses/LabelList"
  3264. }
  3265. }
  3266. },
  3267. "delete": {
  3268. "produces": [
  3269. "application/json"
  3270. ],
  3271. "tags": [
  3272. "issue"
  3273. ],
  3274. "summary": "Remove all labels from an issue",
  3275. "operationId": "issueClearLabels",
  3276. "parameters": [
  3277. {
  3278. "type": "string",
  3279. "description": "owner of the repo",
  3280. "name": "owner",
  3281. "in": "path",
  3282. "required": true
  3283. },
  3284. {
  3285. "type": "string",
  3286. "description": "name of the repo",
  3287. "name": "repo",
  3288. "in": "path",
  3289. "required": true
  3290. },
  3291. {
  3292. "type": "integer",
  3293. "format": "int64",
  3294. "description": "index of the issue",
  3295. "name": "index",
  3296. "in": "path",
  3297. "required": true
  3298. }
  3299. ],
  3300. "responses": {
  3301. "204": {
  3302. "$ref": "#/responses/empty"
  3303. }
  3304. }
  3305. }
  3306. },
  3307. "/repos/{owner}/{repo}/issues/{index}/labels/{id}": {
  3308. "delete": {
  3309. "produces": [
  3310. "application/json"
  3311. ],
  3312. "tags": [
  3313. "issue"
  3314. ],
  3315. "summary": "Remove a label from an issue",
  3316. "operationId": "issueRemoveLabel",
  3317. "parameters": [
  3318. {
  3319. "type": "string",
  3320. "description": "owner of the repo",
  3321. "name": "owner",
  3322. "in": "path",
  3323. "required": true
  3324. },
  3325. {
  3326. "type": "string",
  3327. "description": "name of the repo",
  3328. "name": "repo",
  3329. "in": "path",
  3330. "required": true
  3331. },
  3332. {
  3333. "type": "integer",
  3334. "format": "int64",
  3335. "description": "index of the issue",
  3336. "name": "index",
  3337. "in": "path",
  3338. "required": true
  3339. },
  3340. {
  3341. "type": "integer",
  3342. "format": "int64",
  3343. "description": "id of the label to remove",
  3344. "name": "id",
  3345. "in": "path",
  3346. "required": true
  3347. }
  3348. ],
  3349. "responses": {
  3350. "204": {
  3351. "$ref": "#/responses/empty"
  3352. }
  3353. }
  3354. }
  3355. },
  3356. "/repos/{owner}/{repo}/issues/{index}/stopwatch/start": {
  3357. "post": {
  3358. "consumes": [
  3359. "application/json"
  3360. ],
  3361. "produces": [
  3362. "application/json"
  3363. ],
  3364. "tags": [
  3365. "issue"
  3366. ],
  3367. "summary": "Start stopwatch on an issue.",
  3368. "operationId": "issueStartStopWatch",
  3369. "parameters": [
  3370. {
  3371. "type": "string",
  3372. "description": "owner of the repo",
  3373. "name": "owner",
  3374. "in": "path",
  3375. "required": true
  3376. },
  3377. {
  3378. "type": "string",
  3379. "description": "name of the repo",
  3380. "name": "repo",
  3381. "in": "path",
  3382. "required": true
  3383. },
  3384. {
  3385. "type": "integer",
  3386. "format": "int64",
  3387. "description": "index of the issue to create the stopwatch on",
  3388. "name": "index",
  3389. "in": "path",
  3390. "required": true
  3391. }
  3392. ],
  3393. "responses": {
  3394. "201": {
  3395. "$ref": "#/responses/empty"
  3396. },
  3397. "403": {
  3398. "description": "Not repo writer, user does not have rights to toggle stopwatch"
  3399. },
  3400. "404": {
  3401. "description": "Issue not found"
  3402. },
  3403. "409": {
  3404. "description": "Cannot start a stopwatch again if it already exists"
  3405. }
  3406. }
  3407. }
  3408. },
  3409. "/repos/{owner}/{repo}/issues/{index}/stopwatch/stop": {
  3410. "post": {
  3411. "consumes": [
  3412. "application/json"
  3413. ],
  3414. "produces": [
  3415. "application/json"
  3416. ],
  3417. "tags": [
  3418. "issue"
  3419. ],
  3420. "summary": "Stop an issue's existing stopwatch.",
  3421. "operationId": "issueStopWatch",
  3422. "parameters": [
  3423. {
  3424. "type": "string",
  3425. "description": "owner of the repo",
  3426. "name": "owner",
  3427. "in": "path",
  3428. "required": true
  3429. },
  3430. {
  3431. "type": "string",
  3432. "description": "name of the repo",
  3433. "name": "repo",
  3434. "in": "path",
  3435. "required": true
  3436. },
  3437. {
  3438. "type": "integer",
  3439. "format": "int64",
  3440. "description": "index of the issue to stop the stopwatch on",
  3441. "name": "index",
  3442. "in": "path",
  3443. "required": true
  3444. }
  3445. ],
  3446. "responses": {
  3447. "201": {
  3448. "$ref": "#/responses/empty"
  3449. },
  3450. "403": {
  3451. "description": "Not repo writer, user does not have rights to toggle stopwatch"
  3452. },
  3453. "404": {
  3454. "description": "Issue not found"
  3455. },
  3456. "409": {
  3457. "description": "Cannot stop a non existent stopwatch"
  3458. }
  3459. }
  3460. }
  3461. },
  3462. "/repos/{owner}/{repo}/keys": {
  3463. "get": {
  3464. "produces": [
  3465. "application/json"
  3466. ],
  3467. "tags": [
  3468. "repository"
  3469. ],
  3470. "summary": "List a repository's keys",
  3471. "operationId": "repoListKeys",
  3472. "parameters": [
  3473. {
  3474. "type": "string",
  3475. "description": "owner of the repo",
  3476. "name": "owner",
  3477. "in": "path",
  3478. "required": true
  3479. },
  3480. {
  3481. "type": "string",
  3482. "description": "name of the repo",
  3483. "name": "repo",
  3484. "in": "path",
  3485. "required": true
  3486. },
  3487. {
  3488. "type": "integer",
  3489. "description": "the key_id to search for",
  3490. "name": "key_id",
  3491. "in": "query"
  3492. },
  3493. {
  3494. "type": "string",
  3495. "description": "fingerprint of the key",
  3496. "name": "fingerprint",
  3497. "in": "query"
  3498. }
  3499. ],
  3500. "responses": {
  3501. "200": {
  3502. "$ref": "#/responses/DeployKeyList"
  3503. }
  3504. }
  3505. },
  3506. "post": {
  3507. "consumes": [
  3508. "application/json"
  3509. ],
  3510. "produces": [
  3511. "application/json"
  3512. ],
  3513. "tags": [
  3514. "repository"
  3515. ],
  3516. "summary": "Add a key to a repository",
  3517. "operationId": "repoCreateKey",
  3518. "parameters": [
  3519. {
  3520. "type": "string",
  3521. "description": "owner of the repo",
  3522. "name": "owner",
  3523. "in": "path",
  3524. "required": true
  3525. },
  3526. {
  3527. "type": "string",
  3528. "description": "name of the repo",
  3529. "name": "repo",
  3530. "in": "path",
  3531. "required": true
  3532. },
  3533. {
  3534. "name": "body",
  3535. "in": "body",
  3536. "schema": {
  3537. "$ref": "#/definitions/CreateKeyOption"
  3538. }
  3539. }
  3540. ],
  3541. "responses": {
  3542. "201": {
  3543. "$ref": "#/responses/DeployKey"
  3544. }
  3545. }
  3546. }
  3547. },
  3548. "/repos/{owner}/{repo}/keys/{id}": {
  3549. "get": {
  3550. "produces": [
  3551. "application/json"
  3552. ],
  3553. "tags": [
  3554. "repository"
  3555. ],
  3556. "summary": "Get a repository's key by id",
  3557. "operationId": "repoGetKey",
  3558. "parameters": [
  3559. {
  3560. "type": "string",
  3561. "description": "owner of the repo",
  3562. "name": "owner",
  3563. "in": "path",
  3564. "required": true
  3565. },
  3566. {
  3567. "type": "string",
  3568. "description": "name of the repo",
  3569. "name": "repo",
  3570. "in": "path",
  3571. "required": true
  3572. },
  3573. {
  3574. "type": "integer",
  3575. "format": "int64",
  3576. "description": "id of the key to get",
  3577. "name": "id",
  3578. "in": "path",
  3579. "required": true
  3580. }
  3581. ],
  3582. "responses": {
  3583. "200": {
  3584. "$ref": "#/responses/DeployKey"
  3585. }
  3586. }
  3587. },
  3588. "delete": {
  3589. "tags": [
  3590. "repository"
  3591. ],
  3592. "summary": "Delete a key from a repository",
  3593. "operationId": "repoDeleteKey",
  3594. "parameters": [
  3595. {
  3596. "type": "string",
  3597. "description": "owner of the repo",
  3598. "name": "owner",
  3599. "in": "path",
  3600. "required": true
  3601. },
  3602. {
  3603. "type": "string",
  3604. "description": "name of the repo",
  3605. "name": "repo",
  3606. "in": "path",
  3607. "required": true
  3608. },
  3609. {
  3610. "type": "integer",
  3611. "format": "int64",
  3612. "description": "id of the key to delete",
  3613. "name": "id",
  3614. "in": "path",
  3615. "required": true
  3616. }
  3617. ],
  3618. "responses": {
  3619. "204": {
  3620. "$ref": "#/responses/empty"
  3621. }
  3622. }
  3623. }
  3624. },
  3625. "/repos/{owner}/{repo}/labels": {
  3626. "get": {
  3627. "produces": [
  3628. "application/json"
  3629. ],
  3630. "tags": [
  3631. "issue"
  3632. ],
  3633. "summary": "Get all of a repository's labels",
  3634. "operationId": "issueListLabels",
  3635. "parameters": [
  3636. {
  3637. "type": "string",
  3638. "description": "owner of the repo",
  3639. "name": "owner",
  3640. "in": "path",
  3641. "required": true
  3642. },
  3643. {
  3644. "type": "string",
  3645. "description": "name of the repo",
  3646. "name": "repo",
  3647. "in": "path",
  3648. "required": true
  3649. }
  3650. ],
  3651. "responses": {
  3652. "200": {
  3653. "$ref": "#/responses/LabelList"
  3654. }
  3655. }
  3656. },
  3657. "post": {
  3658. "consumes": [
  3659. "application/json"
  3660. ],
  3661. "produces": [
  3662. "application/json"
  3663. ],
  3664. "tags": [
  3665. "issue"
  3666. ],
  3667. "summary": "Create a label",
  3668. "operationId": "issueCreateLabel",
  3669. "parameters": [
  3670. {
  3671. "type": "string",
  3672. "description": "owner of the repo",
  3673. "name": "owner",
  3674. "in": "path",
  3675. "required": true
  3676. },
  3677. {
  3678. "type": "string",
  3679. "description": "name of the repo",
  3680. "name": "repo",
  3681. "in": "path",
  3682. "required": true
  3683. },
  3684. {
  3685. "name": "body",
  3686. "in": "body",
  3687. "schema": {
  3688. "$ref": "#/definitions/CreateLabelOption"
  3689. }
  3690. }
  3691. ],
  3692. "responses": {
  3693. "201": {
  3694. "$ref": "#/responses/Label"
  3695. }
  3696. }
  3697. }
  3698. },
  3699. "/repos/{owner}/{repo}/labels/{id}": {
  3700. "get": {
  3701. "produces": [
  3702. "application/json"
  3703. ],
  3704. "tags": [
  3705. "issue"
  3706. ],
  3707. "summary": "Get a single label",
  3708. "operationId": "issueGetLabel",
  3709. "parameters": [
  3710. {
  3711. "type": "string",
  3712. "description": "owner of the repo",
  3713. "name": "owner",
  3714. "in": "path",
  3715. "required": true
  3716. },
  3717. {
  3718. "type": "string",
  3719. "description": "name of the repo",
  3720. "name": "repo",
  3721. "in": "path",
  3722. "required": true
  3723. },
  3724. {
  3725. "type": "integer",
  3726. "format": "int64",
  3727. "description": "id of the label to get",
  3728. "name": "id",
  3729. "in": "path",
  3730. "required": true
  3731. }
  3732. ],
  3733. "responses": {
  3734. "200": {
  3735. "$ref": "#/responses/Label"
  3736. }
  3737. }
  3738. },
  3739. "delete": {
  3740. "tags": [
  3741. "issue"
  3742. ],
  3743. "summary": "Delete a label",
  3744. "operationId": "issueDeleteLabel",
  3745. "parameters": [
  3746. {
  3747. "type": "string",
  3748. "description": "owner of the repo",
  3749. "name": "owner",
  3750. "in": "path",
  3751. "required": true
  3752. },
  3753. {
  3754. "type": "string",
  3755. "description": "name of the repo",
  3756. "name": "repo",
  3757. "in": "path",
  3758. "required": true
  3759. },
  3760. {
  3761. "type": "integer",
  3762. "format": "int64",
  3763. "description": "id of the label to delete",
  3764. "name": "id",
  3765. "in": "path",
  3766. "required": true
  3767. }
  3768. ],
  3769. "responses": {
  3770. "204": {
  3771. "$ref": "#/responses/empty"
  3772. }
  3773. }
  3774. },
  3775. "patch": {
  3776. "consumes": [
  3777. "application/json"
  3778. ],
  3779. "produces": [
  3780. "application/json"
  3781. ],
  3782. "tags": [
  3783. "issue"
  3784. ],
  3785. "summary": "Update a label",
  3786. "operationId": "issueEditLabel",
  3787. "parameters": [
  3788. {
  3789. "type": "string",
  3790. "description": "owner of the repo",
  3791. "name": "owner",
  3792. "in": "path",
  3793. "required": true
  3794. },
  3795. {
  3796. "type": "string",
  3797. "description": "name of the repo",
  3798. "name": "repo",
  3799. "in": "path",
  3800. "required": true
  3801. },
  3802. {
  3803. "type": "integer",
  3804. "format": "int64",
  3805. "description": "id of the label to edit",
  3806. "name": "id",
  3807. "in": "path",
  3808. "required": true
  3809. },
  3810. {
  3811. "name": "body",
  3812. "in": "body",
  3813. "schema": {
  3814. "$ref": "#/definitions/EditLabelOption"
  3815. }
  3816. }
  3817. ],
  3818. "responses": {
  3819. "200": {
  3820. "$ref": "#/responses/Label"
  3821. }
  3822. }
  3823. }
  3824. },
  3825. "/repos/{owner}/{repo}/milestones": {
  3826. "get": {
  3827. "produces": [
  3828. "application/json"
  3829. ],
  3830. "tags": [
  3831. "issue"
  3832. ],
  3833. "summary": "Get all of a repository's opened milestones",
  3834. "operationId": "issueGetMilestonesList",
  3835. "parameters": [
  3836. {
  3837. "type": "string",
  3838. "description": "owner of the repo",
  3839. "name": "owner",
  3840. "in": "path",
  3841. "required": true
  3842. },
  3843. {
  3844. "type": "string",
  3845. "description": "name of the repo",
  3846. "name": "repo",
  3847. "in": "path",
  3848. "required": true
  3849. }
  3850. ],
  3851. "responses": {
  3852. "200": {
  3853. "$ref": "#/responses/MilestoneList"
  3854. }
  3855. }
  3856. },
  3857. "post": {
  3858. "consumes": [
  3859. "application/json"
  3860. ],
  3861. "produces": [
  3862. "application/json"
  3863. ],
  3864. "tags": [
  3865. "issue"
  3866. ],
  3867. "summary": "Create a milestone",
  3868. "operationId": "issueCreateMilestone",
  3869. "parameters": [
  3870. {
  3871. "type": "string",
  3872. "description": "owner of the repo",
  3873. "name": "owner",
  3874. "in": "path",
  3875. "required": true
  3876. },
  3877. {
  3878. "type": "string",
  3879. "description": "name of the repo",
  3880. "name": "repo",
  3881. "in": "path",
  3882. "required": true
  3883. },
  3884. {
  3885. "name": "body",
  3886. "in": "body",
  3887. "schema": {
  3888. "$ref": "#/definitions/CreateMilestoneOption"
  3889. }
  3890. }
  3891. ],
  3892. "responses": {
  3893. "201": {
  3894. "$ref": "#/responses/Milestone"
  3895. }
  3896. }
  3897. }
  3898. },
  3899. "/repos/{owner}/{repo}/milestones/{id}": {
  3900. "get": {
  3901. "produces": [
  3902. "application/json"
  3903. ],
  3904. "tags": [
  3905. "issue"
  3906. ],
  3907. "summary": "Get a milestone",
  3908. "operationId": "issueGetMilestone",
  3909. "parameters": [
  3910. {
  3911. "type": "string",
  3912. "description": "owner of the repo",
  3913. "name": "owner",
  3914. "in": "path",
  3915. "required": true
  3916. },
  3917. {
  3918. "type": "string",
  3919. "description": "name of the repo",
  3920. "name": "repo",
  3921. "in": "path",
  3922. "required": true
  3923. },
  3924. {
  3925. "type": "integer",
  3926. "format": "int64",
  3927. "description": "id of the milestone",
  3928. "name": "id",
  3929. "in": "path",
  3930. "required": true
  3931. }
  3932. ],
  3933. "responses": {
  3934. "200": {
  3935. "$ref": "#/responses/Milestone"
  3936. }
  3937. }
  3938. },
  3939. "delete": {
  3940. "tags": [
  3941. "issue"
  3942. ],
  3943. "summary": "Delete a milestone",
  3944. "operationId": "issueDeleteMilestone",
  3945. "parameters": [
  3946. {
  3947. "type": "string",
  3948. "description": "owner of the repo",
  3949. "name": "owner",
  3950. "in": "path",
  3951. "required": true
  3952. },
  3953. {
  3954. "type": "string",
  3955. "description": "name of the repo",
  3956. "name": "repo",
  3957. "in": "path",
  3958. "required": true
  3959. },
  3960. {
  3961. "type": "integer",
  3962. "format": "int64",
  3963. "description": "id of the milestone to delete",
  3964. "name": "id",
  3965. "in": "path",
  3966. "required": true
  3967. }
  3968. ],
  3969. "responses": {
  3970. "204": {
  3971. "$ref": "#/responses/empty"
  3972. }
  3973. }
  3974. },
  3975. "patch": {
  3976. "consumes": [
  3977. "application/json"
  3978. ],
  3979. "produces": [
  3980. "application/json"
  3981. ],
  3982. "tags": [
  3983. "issue"
  3984. ],
  3985. "summary": "Update a milestone",
  3986. "operationId": "issueEditMilestone",
  3987. "parameters": [
  3988. {
  3989. "type": "string",
  3990. "description": "owner of the repo",
  3991. "name": "owner",
  3992. "in": "path",
  3993. "required": true
  3994. },
  3995. {
  3996. "type": "string",
  3997. "description": "name of the repo",
  3998. "name": "repo",
  3999. "in": "path",
  4000. "required": true
  4001. },
  4002. {
  4003. "type": "integer",
  4004. "format": "int64",
  4005. "description": "id of the milestone",
  4006. "name": "id",
  4007. "in": "path",
  4008. "required": true
  4009. },
  4010. {
  4011. "name": "body",
  4012. "in": "body",
  4013. "schema": {
  4014. "$ref": "#/definitions/EditMilestoneOption"
  4015. }
  4016. }
  4017. ],
  4018. "responses": {
  4019. "200": {
  4020. "$ref": "#/responses/Milestone"
  4021. }
  4022. }
  4023. }
  4024. },
  4025. "/repos/{owner}/{repo}/mirror-sync": {
  4026. "post": {
  4027. "produces": [
  4028. "application/json"
  4029. ],
  4030. "tags": [
  4031. "repository"
  4032. ],
  4033. "summary": "Sync a mirrored repository",
  4034. "operationId": "repoMirrorSync",
  4035. "parameters": [
  4036. {
  4037. "type": "string",
  4038. "description": "owner of the repo to sync",
  4039. "name": "owner",
  4040. "in": "path",
  4041. "required": true
  4042. },
  4043. {
  4044. "type": "string",
  4045. "description": "name of the repo to sync",
  4046. "name": "repo",
  4047. "in": "path",
  4048. "required": true
  4049. }
  4050. ],
  4051. "responses": {
  4052. "200": {
  4053. "$ref": "#/responses/empty"
  4054. }
  4055. }
  4056. }
  4057. },
  4058. "/repos/{owner}/{repo}/pulls": {
  4059. "get": {
  4060. "produces": [
  4061. "application/json"
  4062. ],
  4063. "tags": [
  4064. "repository"
  4065. ],
  4066. "summary": "List a repo's pull requests",
  4067. "operationId": "repoListPullRequests",
  4068. "parameters": [
  4069. {
  4070. "type": "string",
  4071. "description": "owner of the repo",
  4072. "name": "owner",
  4073. "in": "path",
  4074. "required": true
  4075. },
  4076. {
  4077. "type": "string",
  4078. "description": "name of the repo",
  4079. "name": "repo",
  4080. "in": "path",
  4081. "required": true
  4082. },
  4083. {
  4084. "type": "integer",
  4085. "description": "Page number",
  4086. "name": "page",
  4087. "in": "query"
  4088. },
  4089. {
  4090. "enum": [
  4091. "closed",
  4092. "open",
  4093. "all"
  4094. ],
  4095. "type": "string",
  4096. "description": "State of pull request: open or closed (optional)",
  4097. "name": "state",
  4098. "in": "query"
  4099. },
  4100. {
  4101. "enum": [
  4102. "oldest",
  4103. "recentupdate",
  4104. "leastupdate",
  4105. "mostcomment",
  4106. "leastcomment",
  4107. "priority"
  4108. ],
  4109. "type": "string",
  4110. "description": "Type of sort",
  4111. "name": "sort",
  4112. "in": "query"
  4113. },
  4114. {
  4115. "type": "integer",
  4116. "format": "int64",
  4117. "description": "ID of the milestone",
  4118. "name": "milestone",
  4119. "in": "query"
  4120. },
  4121. {
  4122. "type": "array",
  4123. "items": {
  4124. "type": "integer",
  4125. "format": "int64"
  4126. },
  4127. "collectionFormat": "multi",
  4128. "description": "Label IDs",
  4129. "name": "labels",
  4130. "in": "query"
  4131. }
  4132. ],
  4133. "responses": {
  4134. "200": {
  4135. "$ref": "#/responses/PullRequestList"
  4136. }
  4137. }
  4138. },
  4139. "post": {
  4140. "consumes": [
  4141. "application/json"
  4142. ],
  4143. "produces": [
  4144. "application/json"
  4145. ],
  4146. "tags": [
  4147. "repository"
  4148. ],
  4149. "summary": "Create a pull request",
  4150. "operationId": "repoCreatePullRequest",
  4151. "parameters": [
  4152. {
  4153. "type": "string",
  4154. "description": "owner of the repo",
  4155. "name": "owner",
  4156. "in": "path",
  4157. "required": true
  4158. },
  4159. {
  4160. "type": "string",
  4161. "description": "name of the repo",
  4162. "name": "repo",
  4163. "in": "path",
  4164. "required": true
  4165. },
  4166. {
  4167. "name": "body",
  4168. "in": "body",
  4169. "schema": {
  4170. "$ref": "#/definitions/CreatePullRequestOption"
  4171. }
  4172. }
  4173. ],
  4174. "responses": {
  4175. "201": {
  4176. "$ref": "#/responses/PullRequest"
  4177. }
  4178. }
  4179. }
  4180. },
  4181. "/repos/{owner}/{repo}/pulls/{index}": {
  4182. "get": {
  4183. "produces": [
  4184. "application/json"
  4185. ],
  4186. "tags": [
  4187. "repository"
  4188. ],
  4189. "summary": "Get a pull request",
  4190. "operationId": "repoGetPullRequest",
  4191. "parameters": [
  4192. {
  4193. "type": "string",
  4194. "description": "owner of the repo",
  4195. "name": "owner",
  4196. "in": "path",
  4197. "required": true
  4198. },
  4199. {
  4200. "type": "string",
  4201. "description": "name of the repo",
  4202. "name": "repo",
  4203. "in": "path",
  4204. "required": true
  4205. },
  4206. {
  4207. "type": "integer",
  4208. "format": "int64",
  4209. "description": "index of the pull request to get",
  4210. "name": "index",
  4211. "in": "path",
  4212. "required": true
  4213. }
  4214. ],
  4215. "responses": {
  4216. "200": {
  4217. "$ref": "#/responses/PullRequest"
  4218. }
  4219. }
  4220. },
  4221. "patch": {
  4222. "consumes": [
  4223. "application/json"
  4224. ],
  4225. "produces": [
  4226. "application/json"
  4227. ],
  4228. "tags": [
  4229. "repository"
  4230. ],
  4231. "summary": "Update a pull request",
  4232. "operationId": "repoEditPullRequest",
  4233. "parameters": [
  4234. {
  4235. "type": "string",
  4236. "description": "owner of the repo",
  4237. "name": "owner",
  4238. "in": "path",
  4239. "required": true
  4240. },
  4241. {
  4242. "type": "string",
  4243. "description": "name of the repo",
  4244. "name": "repo",
  4245. "in": "path",
  4246. "required": true
  4247. },
  4248. {
  4249. "type": "integer",
  4250. "format": "int64",
  4251. "description": "index of the pull request to edit",
  4252. "name": "index",
  4253. "in": "path",
  4254. "required": true
  4255. },
  4256. {
  4257. "name": "body",
  4258. "in": "body",
  4259. "schema": {
  4260. "$ref": "#/definitions/EditPullRequestOption"
  4261. }
  4262. }
  4263. ],
  4264. "responses": {
  4265. "201": {
  4266. "$ref": "#/responses/PullRequest"
  4267. }
  4268. }
  4269. }
  4270. },
  4271. "/repos/{owner}/{repo}/pulls/{index}/merge": {
  4272. "get": {
  4273. "produces": [
  4274. "application/json"
  4275. ],
  4276. "tags": [
  4277. "repository"
  4278. ],
  4279. "summary": "Check if a pull request has been merged",
  4280. "operationId": "repoPullRequestIsMerged",
  4281. "parameters": [
  4282. {
  4283. "type": "string",
  4284. "description": "owner of the repo",
  4285. "name": "owner",
  4286. "in": "path",
  4287. "required": true
  4288. },
  4289. {
  4290. "type": "string",
  4291. "description": "name of the repo",
  4292. "name": "repo",
  4293. "in": "path",
  4294. "required": true
  4295. },
  4296. {
  4297. "type": "integer",
  4298. "format": "int64",
  4299. "description": "index of the pull request",
  4300. "name": "index",
  4301. "in": "path",
  4302. "required": true
  4303. }
  4304. ],
  4305. "responses": {
  4306. "204": {
  4307. "description": "pull request has been merged"
  4308. },
  4309. "404": {
  4310. "description": "pull request has not been merged"
  4311. }
  4312. }
  4313. },
  4314. "post": {
  4315. "produces": [
  4316. "application/json"
  4317. ],
  4318. "tags": [
  4319. "repository"
  4320. ],
  4321. "summary": "Merge a pull request",
  4322. "operationId": "repoMergePullRequest",
  4323. "parameters": [
  4324. {
  4325. "type": "string",
  4326. "description": "owner of the repo",
  4327. "name": "owner",
  4328. "in": "path",
  4329. "required": true
  4330. },
  4331. {
  4332. "type": "string",
  4333. "description": "name of the repo",
  4334. "name": "repo",
  4335. "in": "path",
  4336. "required": true
  4337. },
  4338. {
  4339. "type": "integer",
  4340. "format": "int64",
  4341. "description": "index of the pull request to merge",
  4342. "name": "index",
  4343. "in": "path",
  4344. "required": true
  4345. },
  4346. {
  4347. "name": "body",
  4348. "in": "body",
  4349. "schema": {
  4350. "$ref": "#/definitions/MergePullRequestOption"
  4351. }
  4352. }
  4353. ],
  4354. "responses": {
  4355. "200": {
  4356. "$ref": "#/responses/empty"
  4357. },
  4358. "405": {
  4359. "$ref": "#/responses/empty"
  4360. }
  4361. }
  4362. }
  4363. },
  4364. "/repos/{owner}/{repo}/raw/{filepath}": {
  4365. "get": {
  4366. "produces": [
  4367. "application/json"
  4368. ],
  4369. "tags": [
  4370. "repository"
  4371. ],
  4372. "summary": "Get a file from a repository",
  4373. "operationId": "repoGetRawFile",
  4374. "parameters": [
  4375. {
  4376. "type": "string",
  4377. "description": "owner of the repo",
  4378. "name": "owner",
  4379. "in": "path",
  4380. "required": true
  4381. },
  4382. {
  4383. "type": "string",
  4384. "description": "name of the repo",
  4385. "name": "repo",
  4386. "in": "path",
  4387. "required": true
  4388. },
  4389. {
  4390. "type": "string",
  4391. "description": "filepath of the file to get",
  4392. "name": "filepath",
  4393. "in": "path",
  4394. "required": true
  4395. }
  4396. ],
  4397. "responses": {
  4398. "200": {
  4399. "description": "success"
  4400. }
  4401. }
  4402. }
  4403. },
  4404. "/repos/{owner}/{repo}/releases": {
  4405. "get": {
  4406. "produces": [
  4407. "application/json"
  4408. ],
  4409. "tags": [
  4410. "repository"
  4411. ],
  4412. "summary": "List a repo's releases",
  4413. "operationId": "repoListReleases",
  4414. "parameters": [
  4415. {
  4416. "type": "string",
  4417. "description": "owner of the repo",
  4418. "name": "owner",
  4419. "in": "path",
  4420. "required": true
  4421. },
  4422. {
  4423. "type": "string",
  4424. "description": "name of the repo",
  4425. "name": "repo",
  4426. "in": "path",
  4427. "required": true
  4428. },
  4429. {
  4430. "type": "integer",
  4431. "description": "page wants to load",
  4432. "name": "page",
  4433. "in": "query"
  4434. },
  4435. {
  4436. "type": "integer",
  4437. "description": "items count every page wants to load",
  4438. "name": "per_page",
  4439. "in": "query"
  4440. }
  4441. ],
  4442. "responses": {
  4443. "200": {
  4444. "$ref": "#/responses/ReleaseList"
  4445. }
  4446. }
  4447. },
  4448. "post": {
  4449. "consumes": [
  4450. "application/json"
  4451. ],
  4452. "produces": [
  4453. "application/json"
  4454. ],
  4455. "tags": [
  4456. "repository"
  4457. ],
  4458. "summary": "Create a release",
  4459. "operationId": "repoCreateRelease",
  4460. "parameters": [
  4461. {
  4462. "type": "string",
  4463. "description": "owner of the repo",
  4464. "name": "owner",
  4465. "in": "path",
  4466. "required": true
  4467. },
  4468. {
  4469. "type": "string",
  4470. "description": "name of the repo",
  4471. "name": "repo",
  4472. "in": "path",
  4473. "required": true
  4474. },
  4475. {
  4476. "name": "body",
  4477. "in": "body",
  4478. "schema": {
  4479. "$ref": "#/definitions/CreateReleaseOption"
  4480. }
  4481. }
  4482. ],
  4483. "responses": {
  4484. "201": {
  4485. "$ref": "#/responses/Release"
  4486. }
  4487. }
  4488. }
  4489. },
  4490. "/repos/{owner}/{repo}/releases/{id}": {
  4491. "get": {
  4492. "produces": [
  4493. "application/json"
  4494. ],
  4495. "tags": [
  4496. "repository"
  4497. ],
  4498. "summary": "Get a release",
  4499. "operationId": "repoGetRelease",
  4500. "parameters": [
  4501. {
  4502. "type": "string",
  4503. "description": "owner of the repo",
  4504. "name": "owner",
  4505. "in": "path",
  4506. "required": true
  4507. },
  4508. {
  4509. "type": "string",
  4510. "description": "name of the repo",
  4511. "name": "repo",
  4512. "in": "path",
  4513. "required": true
  4514. },
  4515. {
  4516. "type": "integer",
  4517. "format": "int64",
  4518. "description": "id of the release to get",
  4519. "name": "id",
  4520. "in": "path",
  4521. "required": true
  4522. }
  4523. ],
  4524. "responses": {
  4525. "200": {
  4526. "$ref": "#/responses/Release"
  4527. }
  4528. }
  4529. },
  4530. "delete": {
  4531. "tags": [
  4532. "repository"
  4533. ],
  4534. "summary": "Delete a release",
  4535. "operationId": "repoDeleteRelease",
  4536. "parameters": [
  4537. {
  4538. "type": "string",
  4539. "description": "owner of the repo",
  4540. "name": "owner",
  4541. "in": "path",
  4542. "required": true
  4543. },
  4544. {
  4545. "type": "string",
  4546. "description": "name of the repo",
  4547. "name": "repo",
  4548. "in": "path",
  4549. "required": true
  4550. },
  4551. {
  4552. "type": "integer",
  4553. "format": "int64",
  4554. "description": "id of the release to delete",
  4555. "name": "id",
  4556. "in": "path",
  4557. "required": true
  4558. }
  4559. ],
  4560. "responses": {
  4561. "204": {
  4562. "$ref": "#/responses/empty"
  4563. }
  4564. }
  4565. },
  4566. "patch": {
  4567. "consumes": [
  4568. "application/json"
  4569. ],
  4570. "produces": [
  4571. "application/json"
  4572. ],
  4573. "tags": [
  4574. "repository"
  4575. ],
  4576. "summary": "Update a release",
  4577. "operationId": "repoEditRelease",
  4578. "parameters": [
  4579. {
  4580. "type": "string",
  4581. "description": "owner of the repo",
  4582. "name": "owner",
  4583. "in": "path",
  4584. "required": true
  4585. },
  4586. {
  4587. "type": "string",
  4588. "description": "name of the repo",
  4589. "name": "repo",
  4590. "in": "path",
  4591. "required": true
  4592. },
  4593. {
  4594. "type": "integer",
  4595. "format": "int64",
  4596. "description": "id of the release to edit",
  4597. "name": "id",
  4598. "in": "path",
  4599. "required": true
  4600. },
  4601. {
  4602. "name": "body",
  4603. "in": "body",
  4604. "schema": {
  4605. "$ref": "#/definitions/EditReleaseOption"
  4606. }
  4607. }
  4608. ],
  4609. "responses": {
  4610. "200": {
  4611. "$ref": "#/responses/Release"
  4612. }
  4613. }
  4614. }
  4615. },
  4616. "/repos/{owner}/{repo}/releases/{id}/assets": {
  4617. "get": {
  4618. "produces": [
  4619. "application/json"
  4620. ],
  4621. "tags": [
  4622. "repository"
  4623. ],
  4624. "summary": "List release's attachments",
  4625. "operationId": "repoListReleaseAttachments",
  4626. "parameters": [
  4627. {
  4628. "type": "string",
  4629. "description": "owner of the repo",
  4630. "name": "owner",
  4631. "in": "path",
  4632. "required": true
  4633. },
  4634. {
  4635. "type": "string",
  4636. "description": "name of the repo",
  4637. "name": "repo",
  4638. "in": "path",
  4639. "required": true
  4640. },
  4641. {
  4642. "type": "integer",
  4643. "format": "int64",
  4644. "description": "id of the release",
  4645. "name": "id",
  4646. "in": "path",
  4647. "required": true
  4648. }
  4649. ],
  4650. "responses": {
  4651. "200": {
  4652. "$ref": "#/responses/AttachmentList"
  4653. }
  4654. }
  4655. },
  4656. "post": {
  4657. "consumes": [
  4658. "multipart/form-data"
  4659. ],
  4660. "produces": [
  4661. "application/json"
  4662. ],
  4663. "tags": [
  4664. "repository"
  4665. ],
  4666. "summary": "Create a release attachment",
  4667. "operationId": "repoCreateReleaseAttachment",
  4668. "parameters": [
  4669. {
  4670. "type": "string",
  4671. "description": "owner of the repo",
  4672. "name": "owner",
  4673. "in": "path",
  4674. "required": true
  4675. },
  4676. {
  4677. "type": "string",
  4678. "description": "name of the repo",
  4679. "name": "repo",
  4680. "in": "path",
  4681. "required": true
  4682. },
  4683. {
  4684. "type": "integer",
  4685. "format": "int64",
  4686. "description": "id of the release",
  4687. "name": "id",
  4688. "in": "path",
  4689. "required": true
  4690. },
  4691. {
  4692. "type": "string",
  4693. "description": "name of the attachment",
  4694. "name": "name",
  4695. "in": "query"
  4696. },
  4697. {
  4698. "type": "file",
  4699. "description": "attachment to upload",
  4700. "name": "attachment",
  4701. "in": "formData",
  4702. "required": true
  4703. }
  4704. ],
  4705. "responses": {
  4706. "201": {
  4707. "$ref": "#/responses/Attachment"
  4708. }
  4709. }
  4710. }
  4711. },
  4712. "/repos/{owner}/{repo}/releases/{id}/assets/{attachment_id}": {
  4713. "get": {
  4714. "produces": [
  4715. "application/json"
  4716. ],
  4717. "tags": [
  4718. "repository"
  4719. ],
  4720. "summary": "Get a release attachment",
  4721. "operationId": "repoGetReleaseAttachment",
  4722. "parameters": [
  4723. {
  4724. "type": "string",
  4725. "description": "owner of the repo",
  4726. "name": "owner",
  4727. "in": "path",
  4728. "required": true
  4729. },
  4730. {
  4731. "type": "string",
  4732. "description": "name of the repo",
  4733. "name": "repo",
  4734. "in": "path",
  4735. "required": true
  4736. },
  4737. {
  4738. "type": "integer",
  4739. "format": "int64",
  4740. "description": "id of the release",
  4741. "name": "id",
  4742. "in": "path",
  4743. "required": true
  4744. },
  4745. {
  4746. "type": "integer",
  4747. "format": "int64",
  4748. "description": "id of the attachment to get",
  4749. "name": "attachment_id",
  4750. "in": "path",
  4751. "required": true
  4752. }
  4753. ],
  4754. "responses": {
  4755. "200": {
  4756. "$ref": "#/responses/Attachment"
  4757. }
  4758. }
  4759. },
  4760. "delete": {
  4761. "produces": [
  4762. "application/json"
  4763. ],
  4764. "tags": [
  4765. "repository"
  4766. ],
  4767. "summary": "Delete a release attachment",
  4768. "operationId": "repoDeleteReleaseAttachment",
  4769. "parameters": [
  4770. {
  4771. "type": "string",
  4772. "description": "owner of the repo",
  4773. "name": "owner",
  4774. "in": "path",
  4775. "required": true
  4776. },
  4777. {
  4778. "type": "string",
  4779. "description": "name of the repo",
  4780. "name": "repo",
  4781. "in": "path",
  4782. "required": true
  4783. },
  4784. {
  4785. "type": "integer",
  4786. "format": "int64",
  4787. "description": "id of the release",
  4788. "name": "id",
  4789. "in": "path",
  4790. "required": true
  4791. },
  4792. {
  4793. "type": "integer",
  4794. "format": "int64",
  4795. "description": "id of the attachment to delete",
  4796. "name": "attachment_id",
  4797. "in": "path",
  4798. "required": true
  4799. }
  4800. ],
  4801. "responses": {
  4802. "204": {
  4803. "$ref": "#/responses/empty"
  4804. }
  4805. }
  4806. },
  4807. "patch": {
  4808. "consumes": [
  4809. "application/json"
  4810. ],
  4811. "produces": [
  4812. "application/json"
  4813. ],
  4814. "tags": [
  4815. "repository"
  4816. ],
  4817. "summary": "Edit a release attachment",
  4818. "operationId": "repoEditReleaseAttachment",
  4819. "parameters": [
  4820. {
  4821. "type": "string",
  4822. "description": "owner of the repo",
  4823. "name": "owner",
  4824. "in": "path",
  4825. "required": true
  4826. },
  4827. {
  4828. "type": "string",
  4829. "description": "name of the repo",
  4830. "name": "repo",
  4831. "in": "path",
  4832. "required": true
  4833. },
  4834. {
  4835. "type": "integer",
  4836. "format": "int64",
  4837. "description": "id of the release",
  4838. "name": "id",
  4839. "in": "path",
  4840. "required": true
  4841. },
  4842. {
  4843. "type": "integer",
  4844. "format": "int64",
  4845. "description": "id of the attachment to edit",
  4846. "name": "attachment_id",
  4847. "in": "path",
  4848. "required": true
  4849. },
  4850. {
  4851. "name": "body",
  4852. "in": "body",
  4853. "schema": {
  4854. "$ref": "#/definitions/EditAttachmentOptions"
  4855. }
  4856. }
  4857. ],
  4858. "responses": {
  4859. "201": {
  4860. "$ref": "#/responses/Attachment"
  4861. }
  4862. }
  4863. }
  4864. },
  4865. "/repos/{owner}/{repo}/stargazers": {
  4866. "get": {
  4867. "produces": [
  4868. "application/json"
  4869. ],
  4870. "tags": [
  4871. "repository"
  4872. ],
  4873. "summary": "List a repo's stargazers",
  4874. "operationId": "repoListStargazers",
  4875. "parameters": [
  4876. {
  4877. "type": "string",
  4878. "description": "owner of the repo",
  4879. "name": "owner",
  4880. "in": "path",
  4881. "required": true
  4882. },
  4883. {
  4884. "type": "string",
  4885. "description": "name of the repo",
  4886. "name": "repo",
  4887. "in": "path",
  4888. "required": true
  4889. }
  4890. ],
  4891. "responses": {
  4892. "200": {
  4893. "$ref": "#/responses/UserList"
  4894. }
  4895. }
  4896. }
  4897. },
  4898. "/repos/{owner}/{repo}/statuses/{sha}": {
  4899. "get": {
  4900. "produces": [
  4901. "application/json"
  4902. ],
  4903. "tags": [
  4904. "repository"
  4905. ],
  4906. "summary": "Get a commit's statuses",
  4907. "operationId": "repoListStatuses",
  4908. "parameters": [
  4909. {
  4910. "type": "string",
  4911. "description": "owner of the repo",
  4912. "name": "owner",
  4913. "in": "path",
  4914. "required": true
  4915. },
  4916. {
  4917. "type": "string",
  4918. "description": "name of the repo",
  4919. "name": "repo",
  4920. "in": "path",
  4921. "required": true
  4922. },
  4923. {
  4924. "type": "string",
  4925. "description": "sha of the commit",
  4926. "name": "sha",
  4927. "in": "path",
  4928. "required": true
  4929. }
  4930. ],
  4931. "responses": {
  4932. "200": {
  4933. "$ref": "#/responses/StatusList"
  4934. }
  4935. }
  4936. },
  4937. "post": {
  4938. "produces": [
  4939. "application/json"
  4940. ],
  4941. "tags": [
  4942. "repository"
  4943. ],
  4944. "summary": "Create a commit status",
  4945. "operationId": "repoCreateStatus",
  4946. "parameters": [
  4947. {
  4948. "type": "string",
  4949. "description": "owner of the repo",
  4950. "name": "owner",
  4951. "in": "path",
  4952. "required": true
  4953. },
  4954. {
  4955. "type": "string",
  4956. "description": "name of the repo",
  4957. "name": "repo",
  4958. "in": "path",
  4959. "required": true
  4960. },
  4961. {
  4962. "type": "string",
  4963. "description": "sha of the commit",
  4964. "name": "sha",
  4965. "in": "path",
  4966. "required": true
  4967. },
  4968. {
  4969. "name": "body",
  4970. "in": "body",
  4971. "schema": {
  4972. "$ref": "#/definitions/CreateStatusOption"
  4973. }
  4974. }
  4975. ],
  4976. "responses": {
  4977. "200": {
  4978. "$ref": "#/responses/StatusList"
  4979. }
  4980. }
  4981. }
  4982. },
  4983. "/repos/{owner}/{repo}/subscribers": {
  4984. "get": {
  4985. "produces": [
  4986. "application/json"
  4987. ],
  4988. "tags": [
  4989. "repository"
  4990. ],
  4991. "summary": "List a repo's watchers",
  4992. "operationId": "repoListSubscribers",
  4993. "parameters": [
  4994. {
  4995. "type": "string",
  4996. "description": "owner of the repo",
  4997. "name": "owner",
  4998. "in": "path",
  4999. "required": true
  5000. },
  5001. {
  5002. "type": "string",
  5003. "description": "name of the repo",
  5004. "name": "repo",
  5005. "in": "path",
  5006. "required": true
  5007. }
  5008. ],
  5009. "responses": {
  5010. "200": {
  5011. "$ref": "#/responses/UserList"
  5012. }
  5013. }
  5014. }
  5015. },
  5016. "/repos/{owner}/{repo}/subscription": {
  5017. "get": {
  5018. "tags": [
  5019. "repository"
  5020. ],
  5021. "summary": "Check if the current user is watching a repo",
  5022. "operationId": "userCurrentCheckSubscription",
  5023. "parameters": [
  5024. {
  5025. "type": "string",
  5026. "description": "owner of the repo",
  5027. "name": "owner",
  5028. "in": "path",
  5029. "required": true
  5030. },
  5031. {
  5032. "type": "string",
  5033. "description": "name of the repo",
  5034. "name": "repo",
  5035. "in": "path",
  5036. "required": true
  5037. }
  5038. ],
  5039. "responses": {
  5040. "200": {
  5041. "$ref": "#/responses/WatchInfo"
  5042. }
  5043. }
  5044. },
  5045. "put": {
  5046. "tags": [
  5047. "repository"
  5048. ],
  5049. "summary": "Watch a repo",
  5050. "operationId": "userCurrentPutSubscription",
  5051. "parameters": [
  5052. {
  5053. "type": "string",
  5054. "description": "owner of the repo",
  5055. "name": "owner",
  5056. "in": "path",
  5057. "required": true
  5058. },
  5059. {
  5060. "type": "string",
  5061. "description": "name of the repo",
  5062. "name": "repo",
  5063. "in": "path",
  5064. "required": true
  5065. }
  5066. ],
  5067. "responses": {
  5068. "200": {
  5069. "$ref": "#/responses/WatchInfo"
  5070. }
  5071. }
  5072. },
  5073. "delete": {
  5074. "tags": [
  5075. "repository"
  5076. ],
  5077. "summary": "Unwatch a repo",
  5078. "operationId": "userCurrentDeleteSubscription",
  5079. "parameters": [
  5080. {
  5081. "type": "string",
  5082. "description": "owner of the repo",
  5083. "name": "owner",
  5084. "in": "path",
  5085. "required": true
  5086. },
  5087. {
  5088. "type": "string",
  5089. "description": "name of the repo",
  5090. "name": "repo",
  5091. "in": "path",
  5092. "required": true
  5093. }
  5094. ],
  5095. "responses": {
  5096. "204": {
  5097. "$ref": "#/responses/empty"
  5098. }
  5099. }
  5100. }
  5101. },
  5102. "/repos/{owner}/{repo}/tags": {
  5103. "get": {
  5104. "produces": [
  5105. "application/json"
  5106. ],
  5107. "tags": [
  5108. "repository"
  5109. ],
  5110. "summary": "List a repository's tags",
  5111. "operationId": "repoListTags",
  5112. "parameters": [
  5113. {
  5114. "type": "string",
  5115. "description": "owner of the repo",
  5116. "name": "owner",
  5117. "in": "path",
  5118. "required": true
  5119. },
  5120. {
  5121. "type": "string",
  5122. "description": "name of the repo",
  5123. "name": "repo",
  5124. "in": "path",
  5125. "required": true
  5126. }
  5127. ],
  5128. "responses": {
  5129. "200": {
  5130. "$ref": "#/responses/TagList"
  5131. }
  5132. }
  5133. }
  5134. },
  5135. "/repos/{owner}/{repo}/times": {
  5136. "get": {
  5137. "produces": [
  5138. "application/json"
  5139. ],
  5140. "tags": [
  5141. "repository"
  5142. ],
  5143. "summary": "List a repo's tracked times",
  5144. "operationId": "repoTrackedTimes",
  5145. "parameters": [
  5146. {
  5147. "type": "string",
  5148. "description": "owner of the repo",
  5149. "name": "owner",
  5150. "in": "path",
  5151. "required": true
  5152. },
  5153. {
  5154. "type": "string",
  5155. "description": "name of the repo",
  5156. "name": "repo",
  5157. "in": "path",
  5158. "required": true
  5159. }
  5160. ],
  5161. "responses": {
  5162. "200": {
  5163. "$ref": "#/responses/TrackedTimeList"
  5164. }
  5165. }
  5166. }
  5167. },
  5168. "/repos/{owner}/{repo}/times/{user}": {
  5169. "get": {
  5170. "produces": [
  5171. "application/json"
  5172. ],
  5173. "tags": [
  5174. "user"
  5175. ],
  5176. "summary": "List a user's tracked times in a repo",
  5177. "operationId": "userTrackedTimes",
  5178. "parameters": [
  5179. {
  5180. "type": "string",
  5181. "description": "owner of the repo",
  5182. "name": "owner",
  5183. "in": "path",
  5184. "required": true
  5185. },
  5186. {
  5187. "type": "string",
  5188. "description": "name of the repo",
  5189. "name": "repo",
  5190. "in": "path",
  5191. "required": true
  5192. },
  5193. {
  5194. "type": "string",
  5195. "description": "username of user",
  5196. "name": "user",
  5197. "in": "path",
  5198. "required": true
  5199. }
  5200. ],
  5201. "responses": {
  5202. "200": {
  5203. "$ref": "#/responses/TrackedTimeList"
  5204. }
  5205. }
  5206. }
  5207. },
  5208. "/repositories/{id}": {
  5209. "get": {
  5210. "produces": [
  5211. "application/json"
  5212. ],
  5213. "tags": [
  5214. "repository"
  5215. ],
  5216. "summary": "Get a repository by id",
  5217. "operationId": "repoGetByID",
  5218. "parameters": [
  5219. {
  5220. "type": "integer",
  5221. "format": "int64",
  5222. "description": "id of the repo to get",
  5223. "name": "id",
  5224. "in": "path",
  5225. "required": true
  5226. }
  5227. ],
  5228. "responses": {
  5229. "200": {
  5230. "$ref": "#/responses/Repository"
  5231. }
  5232. }
  5233. }
  5234. },
  5235. "/teams/{id}": {
  5236. "get": {
  5237. "produces": [
  5238. "application/json"
  5239. ],
  5240. "tags": [
  5241. "organization"
  5242. ],
  5243. "summary": "Get a team",
  5244. "operationId": "orgGetTeam",
  5245. "parameters": [
  5246. {
  5247. "type": "integer",
  5248. "format": "int64",
  5249. "description": "id of the team to get",
  5250. "name": "id",
  5251. "in": "path",
  5252. "required": true
  5253. }
  5254. ],
  5255. "responses": {
  5256. "200": {
  5257. "$ref": "#/responses/Team"
  5258. }
  5259. }
  5260. },
  5261. "delete": {
  5262. "tags": [
  5263. "organization"
  5264. ],
  5265. "summary": "Delete a team",
  5266. "operationId": "orgDeleteTeam",
  5267. "parameters": [
  5268. {
  5269. "type": "integer",
  5270. "format": "int64",
  5271. "description": "id of the team to delete",
  5272. "name": "id",
  5273. "in": "path",
  5274. "required": true
  5275. }
  5276. ],
  5277. "responses": {
  5278. "204": {
  5279. "description": "team deleted"
  5280. }
  5281. }
  5282. },
  5283. "patch": {
  5284. "consumes": [
  5285. "application/json"
  5286. ],
  5287. "produces": [
  5288. "application/json"
  5289. ],
  5290. "tags": [
  5291. "organization"
  5292. ],
  5293. "summary": "Edit a team",
  5294. "operationId": "orgEditTeam",
  5295. "parameters": [
  5296. {
  5297. "type": "integer",
  5298. "description": "id of the team to edit",
  5299. "name": "id",
  5300. "in": "path",
  5301. "required": true
  5302. },
  5303. {
  5304. "name": "body",
  5305. "in": "body",
  5306. "schema": {
  5307. "$ref": "#/definitions/EditTeamOption"
  5308. }
  5309. }
  5310. ],
  5311. "responses": {
  5312. "200": {
  5313. "$ref": "#/responses/Team"
  5314. }
  5315. }
  5316. }
  5317. },
  5318. "/teams/{id}/members": {
  5319. "get": {
  5320. "produces": [
  5321. "application/json"
  5322. ],
  5323. "tags": [
  5324. "organization"
  5325. ],
  5326. "summary": "List a team's members",
  5327. "operationId": "orgListTeamMembers",
  5328. "parameters": [
  5329. {
  5330. "type": "integer",
  5331. "format": "int64",
  5332. "description": "id of the team",
  5333. "name": "id",
  5334. "in": "path",
  5335. "required": true
  5336. }
  5337. ],
  5338. "responses": {
  5339. "200": {
  5340. "$ref": "#/responses/UserList"
  5341. }
  5342. }
  5343. }
  5344. },
  5345. "/teams/{id}/members/{username}": {
  5346. "get": {
  5347. "produces": [
  5348. "application/json"
  5349. ],
  5350. "tags": [
  5351. "organization"
  5352. ],
  5353. "summary": "List a particular member of team",
  5354. "operationId": "orgListTeamMember",
  5355. "parameters": [
  5356. {
  5357. "type": "integer",
  5358. "format": "int64",
  5359. "description": "id of the team",
  5360. "name": "id",
  5361. "in": "path",
  5362. "required": true
  5363. },
  5364. {
  5365. "type": "string",
  5366. "description": "username of the member to list",
  5367. "name": "username",
  5368. "in": "path",
  5369. "required": true
  5370. }
  5371. ],
  5372. "responses": {
  5373. "200": {
  5374. "$ref": "#/responses/User"
  5375. }
  5376. }
  5377. },
  5378. "put": {
  5379. "produces": [
  5380. "application/json"
  5381. ],
  5382. "tags": [
  5383. "organization"
  5384. ],
  5385. "summary": "Add a team member",
  5386. "operationId": "orgAddTeamMember",
  5387. "parameters": [
  5388. {
  5389. "type": "integer",
  5390. "format": "int64",
  5391. "description": "id of the team",
  5392. "name": "id",
  5393. "in": "path",
  5394. "required": true
  5395. },
  5396. {
  5397. "type": "string",
  5398. "description": "username of the user to add",
  5399. "name": "username",
  5400. "in": "path",
  5401. "required": true
  5402. }
  5403. ],
  5404. "responses": {
  5405. "204": {
  5406. "$ref": "#/responses/empty"
  5407. }
  5408. }
  5409. },
  5410. "delete": {
  5411. "produces": [
  5412. "application/json"
  5413. ],
  5414. "tags": [
  5415. "organization"
  5416. ],
  5417. "summary": "Remove a team member",
  5418. "operationId": "orgRemoveTeamMember",
  5419. "parameters": [
  5420. {
  5421. "type": "integer",
  5422. "format": "int64",
  5423. "description": "id of the team",
  5424. "name": "id",
  5425. "in": "path",
  5426. "required": true
  5427. },
  5428. {
  5429. "type": "string",
  5430. "description": "username of the user to remove",
  5431. "name": "username",
  5432. "in": "path",
  5433. "required": true
  5434. }
  5435. ],
  5436. "responses": {
  5437. "204": {
  5438. "$ref": "#/responses/empty"
  5439. }
  5440. }
  5441. }
  5442. },
  5443. "/teams/{id}/repos": {
  5444. "get": {
  5445. "produces": [
  5446. "application/json"
  5447. ],
  5448. "tags": [
  5449. "organization"
  5450. ],
  5451. "summary": "List a team's repos",
  5452. "operationId": "orgListTeamRepos",
  5453. "parameters": [
  5454. {
  5455. "type": "integer",
  5456. "format": "int64",
  5457. "description": "id of the team",
  5458. "name": "id",
  5459. "in": "path",
  5460. "required": true
  5461. }
  5462. ],
  5463. "responses": {
  5464. "200": {
  5465. "$ref": "#/responses/RepositoryList"
  5466. }
  5467. }
  5468. }
  5469. },
  5470. "/teams/{id}/repos/{org}/{repo}": {
  5471. "put": {
  5472. "produces": [
  5473. "application/json"
  5474. ],
  5475. "tags": [
  5476. "organization"
  5477. ],
  5478. "summary": "Add a repository to a team",
  5479. "operationId": "orgAddTeamRepository",
  5480. "parameters": [
  5481. {
  5482. "type": "integer",
  5483. "format": "int64",
  5484. "description": "id of the team",
  5485. "name": "id",
  5486. "in": "path",
  5487. "required": true
  5488. },
  5489. {
  5490. "type": "string",
  5491. "description": "organization that owns the repo to add",
  5492. "name": "org",
  5493. "in": "path",
  5494. "required": true
  5495. },
  5496. {
  5497. "type": "string",
  5498. "description": "name of the repo to add",
  5499. "name": "repo",
  5500. "in": "path",
  5501. "required": true
  5502. }
  5503. ],
  5504. "responses": {
  5505. "204": {
  5506. "$ref": "#/responses/empty"
  5507. }
  5508. }
  5509. },
  5510. "delete": {
  5511. "description": "This does not delete the repository, it only removes the repository from the team.",
  5512. "produces": [
  5513. "application/json"
  5514. ],
  5515. "tags": [
  5516. "organization"
  5517. ],
  5518. "summary": "Remove a repository from a team",
  5519. "operationId": "orgRemoveTeamRepository",
  5520. "parameters": [
  5521. {
  5522. "type": "integer",
  5523. "format": "int64",
  5524. "description": "id of the team",
  5525. "name": "id",
  5526. "in": "path",
  5527. "required": true
  5528. },
  5529. {
  5530. "type": "string",
  5531. "description": "organization that owns the repo to remove",
  5532. "name": "org",
  5533. "in": "path",
  5534. "required": true
  5535. },
  5536. {
  5537. "type": "string",
  5538. "description": "name of the repo to remove",
  5539. "name": "repo",
  5540. "in": "path",
  5541. "required": true
  5542. }
  5543. ],
  5544. "responses": {
  5545. "204": {
  5546. "$ref": "#/responses/empty"
  5547. }
  5548. }
  5549. }
  5550. },
  5551. "/topics/search": {
  5552. "get": {
  5553. "produces": [
  5554. "application/json"
  5555. ],
  5556. "tags": [
  5557. "repository"
  5558. ],
  5559. "summary": "search topics via keyword",
  5560. "operationId": "topicSearch",
  5561. "parameters": [
  5562. {
  5563. "type": "string",
  5564. "description": "keywords to search",
  5565. "name": "q",
  5566. "in": "query",
  5567. "required": true
  5568. }
  5569. ],
  5570. "responses": {
  5571. "200": {
  5572. "$ref": "#/responses/Repository"
  5573. }
  5574. }
  5575. }
  5576. },
  5577. "/user": {
  5578. "get": {
  5579. "produces": [
  5580. "application/json"
  5581. ],
  5582. "tags": [
  5583. "user"
  5584. ],
  5585. "summary": "Get the authenticated user",
  5586. "operationId": "userGetCurrent",
  5587. "responses": {
  5588. "200": {
  5589. "$ref": "#/responses/User"
  5590. }
  5591. }
  5592. }
  5593. },
  5594. "/user/emails": {
  5595. "get": {
  5596. "produces": [
  5597. "application/json"
  5598. ],
  5599. "tags": [
  5600. "user"
  5601. ],
  5602. "summary": "List the authenticated user's email addresses",
  5603. "operationId": "userListEmails",
  5604. "responses": {
  5605. "200": {
  5606. "$ref": "#/responses/EmailList"
  5607. }
  5608. }
  5609. },
  5610. "post": {
  5611. "produces": [
  5612. "application/json"
  5613. ],
  5614. "tags": [
  5615. "user"
  5616. ],
  5617. "summary": "Add email addresses",
  5618. "operationId": "userAddEmail",
  5619. "parameters": [
  5620. {
  5621. "name": "body",
  5622. "in": "body",
  5623. "schema": {
  5624. "$ref": "#/definitions/CreateEmailOption"
  5625. }
  5626. }
  5627. ],
  5628. "responses": {
  5629. "201": {
  5630. "$ref": "#/responses/EmailList"
  5631. }
  5632. }
  5633. },
  5634. "delete": {
  5635. "produces": [
  5636. "application/json"
  5637. ],
  5638. "tags": [
  5639. "user"
  5640. ],
  5641. "summary": "Delete email addresses",
  5642. "operationId": "userDeleteEmail",
  5643. "parameters": [
  5644. {
  5645. "name": "body",
  5646. "in": "body",
  5647. "schema": {
  5648. "$ref": "#/definitions/DeleteEmailOption"
  5649. }
  5650. }
  5651. ],
  5652. "responses": {
  5653. "204": {
  5654. "$ref": "#/responses/empty"
  5655. }
  5656. }
  5657. }
  5658. },
  5659. "/user/followers": {
  5660. "get": {
  5661. "produces": [
  5662. "application/json"
  5663. ],
  5664. "tags": [
  5665. "user"
  5666. ],
  5667. "summary": "List the authenticated user's followers",
  5668. "operationId": "userCurrentListFollowers",
  5669. "responses": {
  5670. "200": {
  5671. "$ref": "#/responses/UserList"
  5672. }
  5673. }
  5674. }
  5675. },
  5676. "/user/following": {
  5677. "get": {
  5678. "produces": [
  5679. "application/json"
  5680. ],
  5681. "tags": [
  5682. "user"
  5683. ],
  5684. "summary": "List the users that the authenticated user is following",
  5685. "operationId": "userCurrentListFollowing",
  5686. "responses": {
  5687. "200": {
  5688. "$ref": "#/responses/UserList"
  5689. }
  5690. }
  5691. }
  5692. },
  5693. "/user/following/{username}": {
  5694. "get": {
  5695. "tags": [
  5696. "user"
  5697. ],
  5698. "summary": "Check whether a user is followed by the authenticated user",
  5699. "operationId": "userCurrentCheckFollowing",
  5700. "parameters": [
  5701. {
  5702. "type": "string",
  5703. "description": "username of followed user",
  5704. "name": "username",
  5705. "in": "path",
  5706. "required": true
  5707. }
  5708. ],
  5709. "responses": {
  5710. "204": {
  5711. "$ref": "#/responses/empty"
  5712. },
  5713. "404": {
  5714. "$ref": "#/responses/notFound"
  5715. }
  5716. }
  5717. },
  5718. "put": {
  5719. "tags": [
  5720. "user"
  5721. ],
  5722. "summary": "Follow a user",
  5723. "operationId": "userCurrentPutFollow",
  5724. "parameters": [
  5725. {
  5726. "type": "string",
  5727. "description": "username of user to follow",
  5728. "name": "username",
  5729. "in": "path",
  5730. "required": true
  5731. }
  5732. ],
  5733. "responses": {
  5734. "204": {
  5735. "$ref": "#/responses/empty"
  5736. }
  5737. }
  5738. },
  5739. "delete": {
  5740. "tags": [
  5741. "user"
  5742. ],
  5743. "summary": "Unfollow a user",
  5744. "operationId": "userCurrentDeleteFollow",
  5745. "parameters": [
  5746. {
  5747. "type": "string",
  5748. "description": "username of user to unfollow",
  5749. "name": "username",
  5750. "in": "path",
  5751. "required": true
  5752. }
  5753. ],
  5754. "responses": {
  5755. "204": {
  5756. "$ref": "#/responses/empty"
  5757. }
  5758. }
  5759. }
  5760. },
  5761. "/user/gpg_keys": {
  5762. "get": {
  5763. "produces": [
  5764. "application/json"
  5765. ],
  5766. "tags": [
  5767. "user"
  5768. ],
  5769. "summary": "List the authenticated user's GPG keys",
  5770. "operationId": "userCurrentListGPGKeys",
  5771. "responses": {
  5772. "200": {
  5773. "$ref": "#/responses/GPGKeyList"
  5774. }
  5775. }
  5776. },
  5777. "post": {
  5778. "consumes": [
  5779. "application/json"
  5780. ],
  5781. "produces": [
  5782. "application/json"
  5783. ],
  5784. "tags": [
  5785. "user"
  5786. ],
  5787. "summary": "Create a GPG key",
  5788. "operationId": "userCurrentPostGPGKey",
  5789. "parameters": [
  5790. {
  5791. "name": "Form",
  5792. "in": "body",
  5793. "schema": {
  5794. "$ref": "#/definitions/CreateGPGKeyOption"
  5795. }
  5796. }
  5797. ],
  5798. "responses": {
  5799. "201": {
  5800. "$ref": "#/responses/GPGKey"
  5801. },
  5802. "422": {
  5803. "$ref": "#/responses/validationError"
  5804. }
  5805. }
  5806. }
  5807. },
  5808. "/user/gpg_keys/{id}": {
  5809. "get": {
  5810. "produces": [
  5811. "application/json"
  5812. ],
  5813. "tags": [
  5814. "user"
  5815. ],
  5816. "summary": "Get a GPG key",
  5817. "operationId": "userCurrentGetGPGKey",
  5818. "parameters": [
  5819. {
  5820. "type": "integer",
  5821. "format": "int64",
  5822. "description": "id of key to get",
  5823. "name": "id",
  5824. "in": "path",
  5825. "required": true
  5826. }
  5827. ],
  5828. "responses": {
  5829. "200": {
  5830. "$ref": "#/responses/GPGKey"
  5831. },
  5832. "404": {
  5833. "$ref": "#/responses/notFound"
  5834. }
  5835. }
  5836. },
  5837. "delete": {
  5838. "produces": [
  5839. "application/json"
  5840. ],
  5841. "tags": [
  5842. "user"
  5843. ],
  5844. "summary": "Remove a GPG key",
  5845. "operationId": "userCurrentDeleteGPGKey",
  5846. "parameters": [
  5847. {
  5848. "type": "integer",
  5849. "format": "int64",
  5850. "description": "id of key to delete",
  5851. "name": "id",
  5852. "in": "path",
  5853. "required": true
  5854. }
  5855. ],
  5856. "responses": {
  5857. "204": {
  5858. "$ref": "#/responses/empty"
  5859. },
  5860. "403": {
  5861. "$ref": "#/responses/forbidden"
  5862. }
  5863. }
  5864. }
  5865. },
  5866. "/user/keys": {
  5867. "get": {
  5868. "produces": [
  5869. "application/json"
  5870. ],
  5871. "tags": [
  5872. "user"
  5873. ],
  5874. "summary": "List the authenticated user's public keys",
  5875. "operationId": "userCurrentListKeys",
  5876. "parameters": [
  5877. {
  5878. "type": "string",
  5879. "description": "fingerprint of the key",
  5880. "name": "fingerprint",
  5881. "in": "query"
  5882. }
  5883. ],
  5884. "responses": {
  5885. "200": {
  5886. "$ref": "#/responses/PublicKeyList"
  5887. }
  5888. }
  5889. },
  5890. "post": {
  5891. "consumes": [
  5892. "application/json"
  5893. ],
  5894. "produces": [
  5895. "application/json"
  5896. ],
  5897. "tags": [
  5898. "user"
  5899. ],
  5900. "summary": "Create a public key",
  5901. "operationId": "userCurrentPostKey",
  5902. "parameters": [
  5903. {
  5904. "name": "body",
  5905. "in": "body",
  5906. "schema": {
  5907. "$ref": "#/definitions/CreateKeyOption"
  5908. }
  5909. }
  5910. ],
  5911. "responses": {
  5912. "201": {
  5913. "$ref": "#/responses/PublicKey"
  5914. },
  5915. "422": {
  5916. "$ref": "#/responses/validationError"
  5917. }
  5918. }
  5919. }
  5920. },
  5921. "/user/keys/{id}": {
  5922. "get": {
  5923. "produces": [
  5924. "application/json"
  5925. ],
  5926. "tags": [
  5927. "user"
  5928. ],
  5929. "summary": "Get a public key",
  5930. "operationId": "userCurrentGetKey",
  5931. "parameters": [
  5932. {
  5933. "type": "integer",
  5934. "format": "int64",
  5935. "description": "id of key to get",
  5936. "name": "id",
  5937. "in": "path",
  5938. "required": true
  5939. }
  5940. ],
  5941. "responses": {
  5942. "200": {
  5943. "$ref": "#/responses/PublicKey"
  5944. },
  5945. "404": {
  5946. "$ref": "#/responses/notFound"
  5947. }
  5948. }
  5949. },
  5950. "delete": {
  5951. "produces": [
  5952. "application/json"
  5953. ],
  5954. "tags": [
  5955. "user"
  5956. ],
  5957. "summary": "Delete a public key",
  5958. "operationId": "userCurrentDeleteKey",
  5959. "parameters": [
  5960. {
  5961. "type": "integer",
  5962. "format": "int64",
  5963. "description": "id of key to delete",
  5964. "name": "id",
  5965. "in": "path",
  5966. "required": true
  5967. }
  5968. ],
  5969. "responses": {
  5970. "204": {
  5971. "$ref": "#/responses/empty"
  5972. },
  5973. "403": {
  5974. "$ref": "#/responses/forbidden"
  5975. },
  5976. "404": {
  5977. "$ref": "#/responses/notFound"
  5978. }
  5979. }
  5980. }
  5981. },
  5982. "/user/orgs": {
  5983. "get": {
  5984. "produces": [
  5985. "application/json"
  5986. ],
  5987. "tags": [
  5988. "organization"
  5989. ],
  5990. "summary": "List the current user's organizations",
  5991. "operationId": "orgListCurrentUserOrgs",
  5992. "responses": {
  5993. "200": {
  5994. "$ref": "#/responses/OrganizationList"
  5995. }
  5996. }
  5997. }
  5998. },
  5999. "/user/repos": {
  6000. "get": {
  6001. "produces": [
  6002. "application/json"
  6003. ],
  6004. "tags": [
  6005. "user"
  6006. ],
  6007. "summary": "List the repos that the authenticated user owns or has access to",
  6008. "operationId": "userCurrentListRepos",
  6009. "responses": {
  6010. "200": {
  6011. "$ref": "#/responses/RepositoryList"
  6012. }
  6013. }
  6014. },
  6015. "post": {
  6016. "consumes": [
  6017. "application/json"
  6018. ],
  6019. "produces": [
  6020. "application/json"
  6021. ],
  6022. "tags": [
  6023. "repository",
  6024. "user"
  6025. ],
  6026. "summary": "Create a repository",
  6027. "operationId": "createCurrentUserRepo",
  6028. "parameters": [
  6029. {
  6030. "name": "body",
  6031. "in": "body",
  6032. "schema": {
  6033. "$ref": "#/definitions/CreateRepoOption"
  6034. }
  6035. }
  6036. ],
  6037. "responses": {
  6038. "201": {
  6039. "$ref": "#/responses/Repository"
  6040. }
  6041. }
  6042. }
  6043. },
  6044. "/user/starred": {
  6045. "get": {
  6046. "produces": [
  6047. "application/json"
  6048. ],
  6049. "tags": [
  6050. "user"
  6051. ],
  6052. "summary": "The repos that the authenticated user has starred",
  6053. "operationId": "userCurrentListStarred",
  6054. "responses": {
  6055. "200": {
  6056. "$ref": "#/responses/RepositoryList"
  6057. }
  6058. }
  6059. }
  6060. },
  6061. "/user/starred/{owner}/{repo}": {
  6062. "get": {
  6063. "tags": [
  6064. "user"
  6065. ],
  6066. "summary": "Whether the authenticated is starring the repo",
  6067. "operationId": "userCurrentCheckStarring",
  6068. "parameters": [
  6069. {
  6070. "type": "string",
  6071. "description": "owner of the repo",
  6072. "name": "owner",
  6073. "in": "path",
  6074. "required": true
  6075. },
  6076. {
  6077. "type": "string",
  6078. "description": "name of the repo",
  6079. "name": "repo",
  6080. "in": "path",
  6081. "required": true
  6082. }
  6083. ],
  6084. "responses": {
  6085. "204": {
  6086. "$ref": "#/responses/empty"
  6087. },
  6088. "404": {
  6089. "$ref": "#/responses/notFound"
  6090. }
  6091. }
  6092. },
  6093. "put": {
  6094. "tags": [
  6095. "user"
  6096. ],
  6097. "summary": "Star the given repo",
  6098. "operationId": "userCurrentPutStar",
  6099. "parameters": [
  6100. {
  6101. "type": "string",
  6102. "description": "owner of the repo to star",
  6103. "name": "owner",
  6104. "in": "path",
  6105. "required": true
  6106. },
  6107. {
  6108. "type": "string",
  6109. "description": "name of the repo to star",
  6110. "name": "repo",
  6111. "in": "path",
  6112. "required": true
  6113. }
  6114. ],
  6115. "responses": {
  6116. "204": {
  6117. "$ref": "#/responses/empty"
  6118. }
  6119. }
  6120. },
  6121. "delete": {
  6122. "tags": [
  6123. "user"
  6124. ],
  6125. "summary": "Unstar the given repo",
  6126. "operationId": "userCurrentDeleteStar",
  6127. "parameters": [
  6128. {
  6129. "type": "string",
  6130. "description": "owner of the repo to unstar",
  6131. "name": "owner",
  6132. "in": "path",
  6133. "required": true
  6134. },
  6135. {
  6136. "type": "string",
  6137. "description": "name of the repo to unstar",
  6138. "name": "repo",
  6139. "in": "path",
  6140. "required": true
  6141. }
  6142. ],
  6143. "responses": {
  6144. "204": {
  6145. "$ref": "#/responses/empty"
  6146. }
  6147. }
  6148. }
  6149. },
  6150. "/user/subscriptions": {
  6151. "get": {
  6152. "produces": [
  6153. "application/json"
  6154. ],
  6155. "tags": [
  6156. "user"
  6157. ],
  6158. "summary": "List repositories watched by the authenticated user",
  6159. "operationId": "userCurrentListSubscriptions",
  6160. "responses": {
  6161. "200": {
  6162. "$ref": "#/responses/RepositoryList"
  6163. }
  6164. }
  6165. }
  6166. },
  6167. "/user/teams": {
  6168. "get": {
  6169. "produces": [
  6170. "application/json"
  6171. ],
  6172. "tags": [
  6173. "user"
  6174. ],
  6175. "summary": "List all the teams a user belongs to",
  6176. "operationId": "userListTeams",
  6177. "responses": {
  6178. "200": {
  6179. "$ref": "#/responses/TeamList"
  6180. }
  6181. }
  6182. }
  6183. },
  6184. "/user/times": {
  6185. "get": {
  6186. "produces": [
  6187. "application/json"
  6188. ],
  6189. "tags": [
  6190. "user"
  6191. ],
  6192. "summary": "List the current user's tracked times",
  6193. "operationId": "userCurrentTrackedTimes",
  6194. "responses": {
  6195. "200": {
  6196. "$ref": "#/responses/TrackedTimeList"
  6197. }
  6198. }
  6199. }
  6200. },
  6201. "/users/search": {
  6202. "get": {
  6203. "produces": [
  6204. "application/json"
  6205. ],
  6206. "tags": [
  6207. "user"
  6208. ],
  6209. "summary": "Search for users",
  6210. "operationId": "userSearch",
  6211. "parameters": [
  6212. {
  6213. "type": "string",
  6214. "description": "keyword",
  6215. "name": "q",
  6216. "in": "query"
  6217. },
  6218. {
  6219. "type": "integer",
  6220. "format": "int64",
  6221. "description": "ID of the user to search for",
  6222. "name": "uid",
  6223. "in": "query"
  6224. },
  6225. {
  6226. "type": "integer",
  6227. "description": "maximum number of users to return",
  6228. "name": "limit",
  6229. "in": "query"
  6230. }
  6231. ],
  6232. "responses": {
  6233. "200": {
  6234. "description": "SearchResults of a successful search",
  6235. "schema": {
  6236. "type": "object",
  6237. "properties": {
  6238. "data": {
  6239. "type": "array",
  6240. "items": {
  6241. "$ref": "#/definitions/User"
  6242. }
  6243. },
  6244. "ok": {
  6245. "type": "boolean"
  6246. }
  6247. }
  6248. }
  6249. }
  6250. }
  6251. }
  6252. },
  6253. "/users/{follower}/following/{followee}": {
  6254. "get": {
  6255. "tags": [
  6256. "user"
  6257. ],
  6258. "summary": "Check if one user is following another user",
  6259. "operationId": "userCheckFollowing",
  6260. "parameters": [
  6261. {
  6262. "type": "string",
  6263. "description": "username of following user",
  6264. "name": "follower",
  6265. "in": "path",
  6266. "required": true
  6267. },
  6268. {
  6269. "type": "string",
  6270. "description": "username of followed user",
  6271. "name": "followee",
  6272. "in": "path",
  6273. "required": true
  6274. }
  6275. ],
  6276. "responses": {
  6277. "204": {
  6278. "$ref": "#/responses/empty"
  6279. },
  6280. "404": {
  6281. "$ref": "#/responses/notFound"
  6282. }
  6283. }
  6284. }
  6285. },
  6286. "/users/{username}": {
  6287. "get": {
  6288. "produces": [
  6289. "application/json"
  6290. ],
  6291. "tags": [
  6292. "user"
  6293. ],
  6294. "summary": "Get a user",
  6295. "operationId": "userGet",
  6296. "parameters": [
  6297. {
  6298. "type": "string",
  6299. "description": "username of user to get",
  6300. "name": "username",
  6301. "in": "path",
  6302. "required": true
  6303. }
  6304. ],
  6305. "responses": {
  6306. "200": {
  6307. "$ref": "#/responses/User"
  6308. },
  6309. "404": {
  6310. "$ref": "#/responses/notFound"
  6311. }
  6312. }
  6313. }
  6314. },
  6315. "/users/{username}/followers": {
  6316. "get": {
  6317. "produces": [
  6318. "application/json"
  6319. ],
  6320. "tags": [
  6321. "user"
  6322. ],
  6323. "summary": "List the given user's followers",
  6324. "operationId": "userListFollowers",
  6325. "parameters": [
  6326. {
  6327. "type": "string",
  6328. "description": "username of user",
  6329. "name": "username",
  6330. "in": "path",
  6331. "required": true
  6332. }
  6333. ],
  6334. "responses": {
  6335. "200": {
  6336. "$ref": "#/responses/UserList"
  6337. }
  6338. }
  6339. }
  6340. },
  6341. "/users/{username}/following": {
  6342. "get": {
  6343. "produces": [
  6344. "application/json"
  6345. ],
  6346. "tags": [
  6347. "user"
  6348. ],
  6349. "summary": "List the users that the given user is following",
  6350. "operationId": "userListFollowing",
  6351. "parameters": [
  6352. {
  6353. "type": "string",
  6354. "description": "username of user",
  6355. "name": "username",
  6356. "in": "path",
  6357. "required": true
  6358. }
  6359. ],
  6360. "responses": {
  6361. "200": {
  6362. "$ref": "#/responses/UserList"
  6363. }
  6364. }
  6365. }
  6366. },
  6367. "/users/{username}/gpg_keys": {
  6368. "get": {
  6369. "produces": [
  6370. "application/json"
  6371. ],
  6372. "tags": [
  6373. "user"
  6374. ],
  6375. "summary": "List the given user's GPG keys",
  6376. "operationId": "userListGPGKeys",
  6377. "parameters": [
  6378. {
  6379. "type": "string",
  6380. "description": "username of user",
  6381. "name": "username",
  6382. "in": "path",
  6383. "required": true
  6384. }
  6385. ],
  6386. "responses": {
  6387. "200": {
  6388. "$ref": "#/responses/GPGKeyList"
  6389. }
  6390. }
  6391. }
  6392. },
  6393. "/users/{username}/heatmap": {
  6394. "get": {
  6395. "produces": [
  6396. "application/json"
  6397. ],
  6398. "tags": [
  6399. "user"
  6400. ],
  6401. "summary": "Get a user's heatmap",
  6402. "operationId": "userGetHeatmapData",
  6403. "parameters": [
  6404. {
  6405. "type": "string",
  6406. "description": "username of user to get",
  6407. "name": "username",
  6408. "in": "path",
  6409. "required": true
  6410. }
  6411. ],
  6412. "responses": {
  6413. "200": {
  6414. "$ref": "#/responses/UserHeatmapData"
  6415. },
  6416. "404": {
  6417. "$ref": "#/responses/notFound"
  6418. }
  6419. }
  6420. }
  6421. },
  6422. "/users/{username}/keys": {
  6423. "get": {
  6424. "produces": [
  6425. "application/json"
  6426. ],
  6427. "tags": [
  6428. "user"
  6429. ],
  6430. "summary": "List the given user's public keys",
  6431. "operationId": "userListKeys",
  6432. "parameters": [
  6433. {
  6434. "type": "string",
  6435. "description": "username of user",
  6436. "name": "username",
  6437. "in": "path",
  6438. "required": true
  6439. },
  6440. {
  6441. "type": "string",
  6442. "description": "fingerprint of the key",
  6443. "name": "fingerprint",
  6444. "in": "query"
  6445. }
  6446. ],
  6447. "responses": {
  6448. "200": {
  6449. "$ref": "#/responses/PublicKeyList"
  6450. }
  6451. }
  6452. }
  6453. },
  6454. "/users/{username}/orgs": {
  6455. "get": {
  6456. "produces": [
  6457. "application/json"
  6458. ],
  6459. "tags": [
  6460. "organization"
  6461. ],
  6462. "summary": "List a user's organizations",
  6463. "operationId": "orgListUserOrgs",
  6464. "parameters": [
  6465. {
  6466. "type": "string",
  6467. "description": "username of user",
  6468. "name": "username",
  6469. "in": "path",
  6470. "required": true
  6471. }
  6472. ],
  6473. "responses": {
  6474. "200": {
  6475. "$ref": "#/responses/OrganizationList"
  6476. }
  6477. }
  6478. }
  6479. },
  6480. "/users/{username}/repos": {
  6481. "get": {
  6482. "produces": [
  6483. "application/json"
  6484. ],
  6485. "tags": [
  6486. "user"
  6487. ],
  6488. "summary": "List the repos owned by the given user",
  6489. "operationId": "userListRepos",
  6490. "parameters": [
  6491. {
  6492. "type": "string",
  6493. "description": "username of user",
  6494. "name": "username",
  6495. "in": "path",
  6496. "required": true
  6497. }
  6498. ],
  6499. "responses": {
  6500. "200": {
  6501. "$ref": "#/responses/RepositoryList"
  6502. }
  6503. }
  6504. }
  6505. },
  6506. "/users/{username}/starred": {
  6507. "get": {
  6508. "produces": [
  6509. "application/json"
  6510. ],
  6511. "tags": [
  6512. "user"
  6513. ],
  6514. "summary": "The repos that the given user has starred",
  6515. "operationId": "userListStarred",
  6516. "parameters": [
  6517. {
  6518. "type": "string",
  6519. "description": "username of user",
  6520. "name": "username",
  6521. "in": "path",
  6522. "required": true
  6523. }
  6524. ],
  6525. "responses": {
  6526. "200": {
  6527. "$ref": "#/responses/RepositoryList"
  6528. }
  6529. }
  6530. }
  6531. },
  6532. "/users/{username}/subscriptions": {
  6533. "get": {
  6534. "produces": [
  6535. "application/json"
  6536. ],
  6537. "tags": [
  6538. "user"
  6539. ],
  6540. "summary": "List the repositories watched by a user",
  6541. "operationId": "userListSubscriptions",
  6542. "parameters": [
  6543. {
  6544. "type": "string",
  6545. "description": "username of the user",
  6546. "name": "username",
  6547. "in": "path",
  6548. "required": true
  6549. }
  6550. ],
  6551. "responses": {
  6552. "200": {
  6553. "$ref": "#/responses/RepositoryList"
  6554. }
  6555. }
  6556. }
  6557. },
  6558. "/users/{username}/tokens": {
  6559. "get": {
  6560. "produces": [
  6561. "application/json"
  6562. ],
  6563. "tags": [
  6564. "user"
  6565. ],
  6566. "summary": "List the authenticated user's access tokens",
  6567. "operationId": "userGetTokens",
  6568. "parameters": [
  6569. {
  6570. "type": "string",
  6571. "description": "username of user",
  6572. "name": "username",
  6573. "in": "path",
  6574. "required": true
  6575. }
  6576. ],
  6577. "responses": {
  6578. "200": {
  6579. "$ref": "#/responses/AccessTokenList"
  6580. }
  6581. }
  6582. },
  6583. "post": {
  6584. "consumes": [
  6585. "application/json"
  6586. ],
  6587. "produces": [
  6588. "application/json"
  6589. ],
  6590. "tags": [
  6591. "user"
  6592. ],
  6593. "summary": "Create an access token",
  6594. "operationId": "userCreateToken",
  6595. "parameters": [
  6596. {
  6597. "type": "string",
  6598. "x-go-name": "Name",
  6599. "description": "username of user",
  6600. "name": "username",
  6601. "in": "path",
  6602. "required": true
  6603. },
  6604. {
  6605. "name": "accessToken",
  6606. "in": "body",
  6607. "schema": {
  6608. "type": "object",
  6609. "required": [
  6610. "name"
  6611. ],
  6612. "properties": {
  6613. "name": {
  6614. "type": "string"
  6615. }
  6616. }
  6617. }
  6618. }
  6619. ],
  6620. "responses": {
  6621. "200": {
  6622. "$ref": "#/responses/AccessToken"
  6623. }
  6624. }
  6625. }
  6626. },
  6627. "/users/{username}/tokens/{token}": {
  6628. "delete": {
  6629. "produces": [
  6630. "application/json"
  6631. ],
  6632. "tags": [
  6633. "user"
  6634. ],
  6635. "summary": "delete an access token",
  6636. "operationId": "userDeleteAccessToken",
  6637. "parameters": [
  6638. {
  6639. "type": "string",
  6640. "description": "username of user",
  6641. "name": "username",
  6642. "in": "path",
  6643. "required": true
  6644. },
  6645. {
  6646. "type": "integer",
  6647. "format": "int64",
  6648. "description": "token to be deleted",
  6649. "name": "token",
  6650. "in": "path",
  6651. "required": true
  6652. }
  6653. ],
  6654. "responses": {
  6655. "204": {
  6656. "$ref": "#/responses/empty"
  6657. }
  6658. }
  6659. }
  6660. },
  6661. "/version": {
  6662. "get": {
  6663. "produces": [
  6664. "application/json"
  6665. ],
  6666. "tags": [
  6667. "miscellaneous"
  6668. ],
  6669. "summary": "Returns the version of the Gitea application",
  6670. "operationId": "getVersion",
  6671. "responses": {
  6672. "200": {
  6673. "$ref": "#/responses/ServerVersion"
  6674. }
  6675. }
  6676. }
  6677. }
  6678. },
  6679. "definitions": {
  6680. "AddCollaboratorOption": {
  6681. "description": "AddCollaboratorOption options when adding a user as a collaborator of a repository",
  6682. "type": "object",
  6683. "properties": {
  6684. "permission": {
  6685. "type": "string",
  6686. "x-go-name": "Permission"
  6687. }
  6688. },
  6689. "x-go-package": "code.gitea.io/gitea/modules/structs"
  6690. },
  6691. "AddTimeOption": {
  6692. "description": "AddTimeOption options for adding time to an issue",
  6693. "type": "object",
  6694. "required": [
  6695. "time"
  6696. ],
  6697. "properties": {
  6698. "time": {
  6699. "description": "time in seconds",
  6700. "type": "integer",
  6701. "format": "int64",
  6702. "x-go-name": "Time"
  6703. }
  6704. },
  6705. "x-go-package": "code.gitea.io/gitea/modules/structs"
  6706. },
  6707. "Attachment": {
  6708. "description": "Attachment a generic attachment",
  6709. "type": "object",
  6710. "properties": {
  6711. "browser_download_url": {
  6712. "type": "string",
  6713. "x-go-name": "DownloadURL"
  6714. },
  6715. "created_at": {
  6716. "type": "string",
  6717. "format": "date-time",
  6718. "x-go-name": "Created"
  6719. },
  6720. "download_count": {
  6721. "type": "integer",
  6722. "format": "int64",
  6723. "x-go-name": "DownloadCount"
  6724. },
  6725. "id": {
  6726. "type": "integer",
  6727. "format": "int64",
  6728. "x-go-name": "ID"
  6729. },
  6730. "name": {
  6731. "type": "string",
  6732. "x-go-name": "Name"
  6733. },
  6734. "size": {
  6735. "type": "integer",
  6736. "format": "int64",
  6737. "x-go-name": "Size"
  6738. },
  6739. "uuid": {
  6740. "type": "string",
  6741. "x-go-name": "UUID"
  6742. }
  6743. },
  6744. "x-go-package": "code.gitea.io/gitea/modules/structs"
  6745. },
  6746. "Branch": {
  6747. "description": "Branch represents a repository branch",
  6748. "type": "object",
  6749. "properties": {
  6750. "commit": {
  6751. "$ref": "#/definitions/PayloadCommit"
  6752. },
  6753. "name": {
  6754. "type": "string",
  6755. "x-go-name": "Name"
  6756. }
  6757. },
  6758. "x-go-package": "code.gitea.io/gitea/modules/structs"
  6759. },
  6760. "Comment": {
  6761. "description": "Comment represents a comment on a commit or issue",
  6762. "type": "object",
  6763. "properties": {
  6764. "body": {
  6765. "type": "string",
  6766. "x-go-name": "Body"
  6767. },
  6768. "created_at": {
  6769. "type": "string",
  6770. "format": "date-time",
  6771. "x-go-name": "Created"
  6772. },
  6773. "html_url": {
  6774. "type": "string",
  6775. "x-go-name": "HTMLURL"
  6776. },
  6777. "id": {
  6778. "type": "integer",
  6779. "format": "int64",
  6780. "x-go-name": "ID"
  6781. },
  6782. "issue_url": {
  6783. "type": "string",
  6784. "x-go-name": "IssueURL"
  6785. },
  6786. "pull_request_url": {
  6787. "type": "string",
  6788. "x-go-name": "PRURL"
  6789. },
  6790. "updated_at": {
  6791. "type": "string",
  6792. "format": "date-time",
  6793. "x-go-name": "Updated"
  6794. },
  6795. "user": {
  6796. "$ref": "#/definitions/User"
  6797. }
  6798. },
  6799. "x-go-package": "code.gitea.io/gitea/modules/structs"
  6800. },
  6801. "Commit": {
  6802. "type": "object",
  6803. "title": "Commit contains information generated from a Git commit.",
  6804. "properties": {
  6805. "author": {
  6806. "$ref": "#/definitions/User"
  6807. },
  6808. "commit": {
  6809. "$ref": "#/definitions/RepoCommit"
  6810. },
  6811. "committer": {
  6812. "$ref": "#/definitions/User"
  6813. },
  6814. "html_url": {
  6815. "type": "string",
  6816. "x-go-name": "HTMLURL"
  6817. },
  6818. "parents": {
  6819. "type": "array",
  6820. "items": {
  6821. "$ref": "#/definitions/CommitMeta"
  6822. },
  6823. "x-go-name": "Parents"
  6824. },
  6825. "sha": {
  6826. "type": "string",
  6827. "x-go-name": "SHA"
  6828. },
  6829. "url": {
  6830. "type": "string",
  6831. "x-go-name": "URL"
  6832. }
  6833. },
  6834. "x-go-package": "code.gitea.io/gitea/modules/structs"
  6835. },
  6836. "CommitMeta": {
  6837. "type": "object",
  6838. "title": "CommitMeta contains meta information of a commit in terms of API.",
  6839. "properties": {
  6840. "sha": {
  6841. "type": "string",
  6842. "x-go-name": "SHA"
  6843. },
  6844. "url": {
  6845. "type": "string",
  6846. "x-go-name": "URL"
  6847. }
  6848. },
  6849. "x-go-package": "code.gitea.io/gitea/modules/structs"
  6850. },
  6851. "CommitUser": {
  6852. "type": "object",
  6853. "title": "CommitUser contains information of a user in the context of a commit.",
  6854. "properties": {
  6855. "date": {
  6856. "type": "string",
  6857. "x-go-name": "Date"
  6858. },
  6859. "email": {
  6860. "type": "string",
  6861. "format": "email",
  6862. "x-go-name": "Email"
  6863. },
  6864. "name": {
  6865. "type": "string",
  6866. "x-go-name": "Name"
  6867. }
  6868. },
  6869. "x-go-package": "code.gitea.io/gitea/modules/structs"
  6870. },
  6871. "CreateEmailOption": {
  6872. "description": "CreateEmailOption options when creating email addresses",
  6873. "type": "object",
  6874. "properties": {
  6875. "emails": {
  6876. "description": "email addresses to add",
  6877. "type": "array",
  6878. "items": {
  6879. "type": "string"
  6880. },
  6881. "x-go-name": "Emails"
  6882. }
  6883. },
  6884. "x-go-package": "code.gitea.io/gitea/modules/structs"
  6885. },
  6886. "CreateFileOptions": {
  6887. "description": "CreateFileOptions options for creating files",
  6888. "type": "object",
  6889. "properties": {
  6890. "author": {
  6891. "$ref": "#/definitions/Identity"
  6892. },
  6893. "branch": {
  6894. "type": "string",
  6895. "x-go-name": "BranchName"
  6896. },
  6897. "committer": {
  6898. "$ref": "#/definitions/Identity"
  6899. },
  6900. "content": {
  6901. "type": "string",
  6902. "x-go-name": "Content"
  6903. },
  6904. "message": {
  6905. "type": "string",
  6906. "x-go-name": "Message"
  6907. },
  6908. "new_branch": {
  6909. "type": "string",
  6910. "x-go-name": "NewBranchName"
  6911. }
  6912. },
  6913. "x-go-package": "code.gitea.io/gitea/modules/structs"
  6914. },
  6915. "CreateForkOption": {
  6916. "description": "CreateForkOption options for creating a fork",
  6917. "type": "object",
  6918. "properties": {
  6919. "organization": {
  6920. "description": "organization name, if forking into an organization",
  6921. "type": "string",
  6922. "x-go-name": "Organization"
  6923. }
  6924. },
  6925. "x-go-package": "code.gitea.io/gitea/modules/structs"
  6926. },
  6927. "CreateGPGKeyOption": {
  6928. "description": "CreateGPGKeyOption options create user GPG key",
  6929. "type": "object",
  6930. "required": [
  6931. "armored_public_key"
  6932. ],
  6933. "properties": {
  6934. "armored_public_key": {
  6935. "description": "An armored GPG key to add",
  6936. "type": "string",
  6937. "uniqueItems": true,
  6938. "x-go-name": "ArmoredKey"
  6939. }
  6940. },
  6941. "x-go-package": "code.gitea.io/gitea/modules/structs"
  6942. },
  6943. "CreateHookOption": {
  6944. "description": "CreateHookOption options when create a hook",
  6945. "type": "object",
  6946. "required": [
  6947. "type",
  6948. "config"
  6949. ],
  6950. "properties": {
  6951. "active": {
  6952. "type": "boolean",
  6953. "default": false,
  6954. "x-go-name": "Active"
  6955. },
  6956. "config": {
  6957. "type": "object",
  6958. "additionalProperties": {
  6959. "type": "string"
  6960. },
  6961. "x-go-name": "Config"
  6962. },
  6963. "events": {
  6964. "type": "array",
  6965. "items": {
  6966. "type": "string"
  6967. },
  6968. "x-go-name": "Events"
  6969. },
  6970. "type": {
  6971. "type": "string",
  6972. "enum": [
  6973. "gitea",
  6974. "gogs",
  6975. "slack",
  6976. "discord"
  6977. ],
  6978. "x-go-name": "Type"
  6979. }
  6980. },
  6981. "x-go-package": "code.gitea.io/gitea/modules/structs"
  6982. },
  6983. "CreateIssueCommentOption": {
  6984. "description": "CreateIssueCommentOption options for creating a comment on an issue",
  6985. "type": "object",
  6986. "required": [
  6987. "body"
  6988. ],
  6989. "properties": {
  6990. "body": {
  6991. "type": "string",
  6992. "x-go-name": "Body"
  6993. }
  6994. },
  6995. "x-go-package": "code.gitea.io/gitea/modules/structs"
  6996. },
  6997. "CreateIssueOption": {
  6998. "description": "CreateIssueOption options to create one issue",
  6999. "type": "object",
  7000. "required": [
  7001. "title"
  7002. ],
  7003. "properties": {
  7004. "assignee": {
  7005. "description": "username of assignee",
  7006. "type": "string",
  7007. "x-go-name": "Assignee"
  7008. },
  7009. "assignees": {
  7010. "type": "array",
  7011. "items": {
  7012. "type": "string"
  7013. },
  7014. "x-go-name": "Assignees"
  7015. },
  7016. "body": {
  7017. "type": "string",
  7018. "x-go-name": "Body"
  7019. },
  7020. "closed": {
  7021. "type": "boolean",
  7022. "x-go-name": "Closed"
  7023. },
  7024. "due_date": {
  7025. "type": "string",
  7026. "format": "date-time",
  7027. "x-go-name": "Deadline"
  7028. },
  7029. "labels": {
  7030. "description": "list of label ids",
  7031. "type": "array",
  7032. "items": {
  7033. "type": "integer",
  7034. "format": "int64"
  7035. },
  7036. "x-go-name": "Labels"
  7037. },
  7038. "milestone": {
  7039. "description": "milestone id",
  7040. "type": "integer",
  7041. "format": "int64",
  7042. "x-go-name": "Milestone"
  7043. },
  7044. "title": {
  7045. "type": "string",
  7046. "x-go-name": "Title"
  7047. }
  7048. },
  7049. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7050. },
  7051. "CreateKeyOption": {
  7052. "description": "CreateKeyOption options when creating a key",
  7053. "type": "object",
  7054. "required": [
  7055. "title",
  7056. "key"
  7057. ],
  7058. "properties": {
  7059. "key": {
  7060. "description": "An armored SSH key to add",
  7061. "type": "string",
  7062. "uniqueItems": true,
  7063. "x-go-name": "Key"
  7064. },
  7065. "read_only": {
  7066. "description": "Describe if the key has only read access or read/write",
  7067. "type": "boolean",
  7068. "x-go-name": "ReadOnly"
  7069. },
  7070. "title": {
  7071. "description": "Title of the key to add",
  7072. "type": "string",
  7073. "uniqueItems": true,
  7074. "x-go-name": "Title"
  7075. }
  7076. },
  7077. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7078. },
  7079. "CreateLabelOption": {
  7080. "description": "CreateLabelOption options for creating a label",
  7081. "type": "object",
  7082. "required": [
  7083. "name",
  7084. "color"
  7085. ],
  7086. "properties": {
  7087. "color": {
  7088. "type": "string",
  7089. "x-go-name": "Color",
  7090. "example": "#00aabb"
  7091. },
  7092. "name": {
  7093. "type": "string",
  7094. "x-go-name": "Name"
  7095. }
  7096. },
  7097. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7098. },
  7099. "CreateMilestoneOption": {
  7100. "description": "CreateMilestoneOption options for creating a milestone",
  7101. "type": "object",
  7102. "properties": {
  7103. "description": {
  7104. "type": "string",
  7105. "x-go-name": "Description"
  7106. },
  7107. "due_on": {
  7108. "type": "string",
  7109. "format": "date-time",
  7110. "x-go-name": "Deadline"
  7111. },
  7112. "title": {
  7113. "type": "string",
  7114. "x-go-name": "Title"
  7115. }
  7116. },
  7117. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7118. },
  7119. "CreateOrgOption": {
  7120. "description": "CreateOrgOption options for creating an organization",
  7121. "type": "object",
  7122. "required": [
  7123. "username"
  7124. ],
  7125. "properties": {
  7126. "description": {
  7127. "type": "string",
  7128. "x-go-name": "Description"
  7129. },
  7130. "full_name": {
  7131. "type": "string",
  7132. "x-go-name": "FullName"
  7133. },
  7134. "location": {
  7135. "type": "string",
  7136. "x-go-name": "Location"
  7137. },
  7138. "username": {
  7139. "type": "string",
  7140. "x-go-name": "UserName"
  7141. },
  7142. "visibility": {
  7143. "$ref": "#/definitions/VisibleType"
  7144. },
  7145. "website": {
  7146. "type": "string",
  7147. "x-go-name": "Website"
  7148. }
  7149. },
  7150. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7151. },
  7152. "CreatePullRequestOption": {
  7153. "description": "CreatePullRequestOption options when creating a pull request",
  7154. "type": "object",
  7155. "properties": {
  7156. "assignee": {
  7157. "type": "string",
  7158. "x-go-name": "Assignee"
  7159. },
  7160. "assignees": {
  7161. "type": "array",
  7162. "items": {
  7163. "type": "string"
  7164. },
  7165. "x-go-name": "Assignees"
  7166. },
  7167. "base": {
  7168. "type": "string",
  7169. "x-go-name": "Base"
  7170. },
  7171. "body": {
  7172. "type": "string",
  7173. "x-go-name": "Body"
  7174. },
  7175. "due_date": {
  7176. "type": "string",
  7177. "format": "date-time",
  7178. "x-go-name": "Deadline"
  7179. },
  7180. "head": {
  7181. "type": "string",
  7182. "x-go-name": "Head"
  7183. },
  7184. "labels": {
  7185. "type": "array",
  7186. "items": {
  7187. "type": "integer",
  7188. "format": "int64"
  7189. },
  7190. "x-go-name": "Labels"
  7191. },
  7192. "milestone": {
  7193. "type": "integer",
  7194. "format": "int64",
  7195. "x-go-name": "Milestone"
  7196. },
  7197. "title": {
  7198. "type": "string",
  7199. "x-go-name": "Title"
  7200. }
  7201. },
  7202. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7203. },
  7204. "CreateReleaseOption": {
  7205. "description": "CreateReleaseOption options when creating a release",
  7206. "type": "object",
  7207. "required": [
  7208. "tag_name"
  7209. ],
  7210. "properties": {
  7211. "body": {
  7212. "type": "string",
  7213. "x-go-name": "Note"
  7214. },
  7215. "draft": {
  7216. "type": "boolean",
  7217. "x-go-name": "IsDraft"
  7218. },
  7219. "name": {
  7220. "type": "string",
  7221. "x-go-name": "Title"
  7222. },
  7223. "prerelease": {
  7224. "type": "boolean",
  7225. "x-go-name": "IsPrerelease"
  7226. },
  7227. "tag_name": {
  7228. "type": "string",
  7229. "x-go-name": "TagName"
  7230. },
  7231. "target_commitish": {
  7232. "type": "string",
  7233. "x-go-name": "Target"
  7234. }
  7235. },
  7236. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7237. },
  7238. "CreateRepoOption": {
  7239. "description": "CreateRepoOption options when creating repository",
  7240. "type": "object",
  7241. "required": [
  7242. "name"
  7243. ],
  7244. "properties": {
  7245. "auto_init": {
  7246. "description": "Whether the repository should be auto-intialized?",
  7247. "type": "boolean",
  7248. "x-go-name": "AutoInit"
  7249. },
  7250. "description": {
  7251. "description": "Description of the repository to create",
  7252. "type": "string",
  7253. "x-go-name": "Description"
  7254. },
  7255. "gitignores": {
  7256. "description": "Gitignores to use",
  7257. "type": "string",
  7258. "x-go-name": "Gitignores"
  7259. },
  7260. "license": {
  7261. "description": "License to use",
  7262. "type": "string",
  7263. "x-go-name": "License"
  7264. },
  7265. "name": {
  7266. "description": "Name of the repository to create",
  7267. "type": "string",
  7268. "uniqueItems": true,
  7269. "x-go-name": "Name"
  7270. },
  7271. "private": {
  7272. "description": "Whether the repository is private",
  7273. "type": "boolean",
  7274. "x-go-name": "Private"
  7275. },
  7276. "readme": {
  7277. "description": "Readme of the repository to create",
  7278. "type": "string",
  7279. "x-go-name": "Readme"
  7280. }
  7281. },
  7282. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7283. },
  7284. "CreateStatusOption": {
  7285. "description": "CreateStatusOption holds the information needed to create a new Status for a Commit",
  7286. "type": "object",
  7287. "properties": {
  7288. "context": {
  7289. "type": "string",
  7290. "x-go-name": "Context"
  7291. },
  7292. "description": {
  7293. "type": "string",
  7294. "x-go-name": "Description"
  7295. },
  7296. "state": {
  7297. "$ref": "#/definitions/StatusState"
  7298. },
  7299. "target_url": {
  7300. "type": "string",
  7301. "x-go-name": "TargetURL"
  7302. }
  7303. },
  7304. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7305. },
  7306. "CreateTeamOption": {
  7307. "description": "CreateTeamOption options for creating a team",
  7308. "type": "object",
  7309. "required": [
  7310. "name"
  7311. ],
  7312. "properties": {
  7313. "description": {
  7314. "type": "string",
  7315. "x-go-name": "Description"
  7316. },
  7317. "name": {
  7318. "type": "string",
  7319. "x-go-name": "Name"
  7320. },
  7321. "permission": {
  7322. "type": "string",
  7323. "enum": [
  7324. "read",
  7325. "write",
  7326. "admin"
  7327. ],
  7328. "x-go-name": "Permission"
  7329. },
  7330. "units": {
  7331. "type": "array",
  7332. "enum": [
  7333. "repo.code",
  7334. "repo.issues",
  7335. "repo.ext_issues",
  7336. "repo.wiki",
  7337. "repo.pulls",
  7338. "repo.releases",
  7339. "repo.ext_wiki"
  7340. ],
  7341. "items": {
  7342. "type": "string"
  7343. },
  7344. "x-go-name": "Units"
  7345. }
  7346. },
  7347. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7348. },
  7349. "CreateUserOption": {
  7350. "description": "CreateUserOption create user options",
  7351. "type": "object",
  7352. "required": [
  7353. "username",
  7354. "email",
  7355. "password"
  7356. ],
  7357. "properties": {
  7358. "email": {
  7359. "type": "string",
  7360. "format": "email",
  7361. "x-go-name": "Email"
  7362. },
  7363. "full_name": {
  7364. "type": "string",
  7365. "x-go-name": "FullName"
  7366. },
  7367. "login_name": {
  7368. "type": "string",
  7369. "x-go-name": "LoginName"
  7370. },
  7371. "must_change_password": {
  7372. "type": "boolean",
  7373. "x-go-name": "MustChangePassword"
  7374. },
  7375. "password": {
  7376. "type": "string",
  7377. "x-go-name": "Password"
  7378. },
  7379. "send_notify": {
  7380. "type": "boolean",
  7381. "x-go-name": "SendNotify"
  7382. },
  7383. "source_id": {
  7384. "type": "integer",
  7385. "format": "int64",
  7386. "x-go-name": "SourceID"
  7387. },
  7388. "username": {
  7389. "type": "string",
  7390. "x-go-name": "Username"
  7391. }
  7392. },
  7393. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7394. },
  7395. "DeleteEmailOption": {
  7396. "description": "DeleteEmailOption options when deleting email addresses",
  7397. "type": "object",
  7398. "properties": {
  7399. "emails": {
  7400. "description": "email addresses to delete",
  7401. "type": "array",
  7402. "items": {
  7403. "type": "string"
  7404. },
  7405. "x-go-name": "Emails"
  7406. }
  7407. },
  7408. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7409. },
  7410. "DeleteFileOptions": {
  7411. "description": "DeleteFileOptions options for deleting files (used for other File structs below)",
  7412. "type": "object",
  7413. "properties": {
  7414. "author": {
  7415. "$ref": "#/definitions/Identity"
  7416. },
  7417. "branch": {
  7418. "type": "string",
  7419. "x-go-name": "BranchName"
  7420. },
  7421. "committer": {
  7422. "$ref": "#/definitions/Identity"
  7423. },
  7424. "message": {
  7425. "type": "string",
  7426. "x-go-name": "Message"
  7427. },
  7428. "new_branch": {
  7429. "type": "string",
  7430. "x-go-name": "NewBranchName"
  7431. },
  7432. "sha": {
  7433. "type": "string",
  7434. "x-go-name": "SHA"
  7435. }
  7436. },
  7437. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7438. },
  7439. "DeployKey": {
  7440. "description": "DeployKey a deploy key",
  7441. "type": "object",
  7442. "properties": {
  7443. "created_at": {
  7444. "type": "string",
  7445. "format": "date-time",
  7446. "x-go-name": "Created"
  7447. },
  7448. "fingerprint": {
  7449. "type": "string",
  7450. "x-go-name": "Fingerprint"
  7451. },
  7452. "id": {
  7453. "type": "integer",
  7454. "format": "int64",
  7455. "x-go-name": "ID"
  7456. },
  7457. "key": {
  7458. "type": "string",
  7459. "x-go-name": "Key"
  7460. },
  7461. "key_id": {
  7462. "type": "integer",
  7463. "format": "int64",
  7464. "x-go-name": "KeyID"
  7465. },
  7466. "read_only": {
  7467. "type": "boolean",
  7468. "x-go-name": "ReadOnly"
  7469. },
  7470. "repository": {
  7471. "$ref": "#/definitions/Repository"
  7472. },
  7473. "title": {
  7474. "type": "string",
  7475. "x-go-name": "Title"
  7476. },
  7477. "url": {
  7478. "type": "string",
  7479. "x-go-name": "URL"
  7480. }
  7481. },
  7482. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7483. },
  7484. "EditAttachmentOptions": {
  7485. "description": "EditAttachmentOptions options for editing attachments",
  7486. "type": "object",
  7487. "properties": {
  7488. "name": {
  7489. "type": "string",
  7490. "x-go-name": "Name"
  7491. }
  7492. },
  7493. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7494. },
  7495. "EditDeadlineOption": {
  7496. "description": "EditDeadlineOption options for creating a deadline",
  7497. "type": "object",
  7498. "required": [
  7499. "due_date"
  7500. ],
  7501. "properties": {
  7502. "due_date": {
  7503. "type": "string",
  7504. "format": "date-time",
  7505. "x-go-name": "Deadline"
  7506. }
  7507. },
  7508. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7509. },
  7510. "EditGitHookOption": {
  7511. "description": "EditGitHookOption options when modifying one Git hook",
  7512. "type": "object",
  7513. "properties": {
  7514. "content": {
  7515. "type": "string",
  7516. "x-go-name": "Content"
  7517. }
  7518. },
  7519. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7520. },
  7521. "EditHookOption": {
  7522. "description": "EditHookOption options when modify one hook",
  7523. "type": "object",
  7524. "properties": {
  7525. "active": {
  7526. "type": "boolean",
  7527. "x-go-name": "Active"
  7528. },
  7529. "config": {
  7530. "type": "object",
  7531. "additionalProperties": {
  7532. "type": "string"
  7533. },
  7534. "x-go-name": "Config"
  7535. },
  7536. "events": {
  7537. "type": "array",
  7538. "items": {
  7539. "type": "string"
  7540. },
  7541. "x-go-name": "Events"
  7542. }
  7543. },
  7544. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7545. },
  7546. "EditIssueCommentOption": {
  7547. "description": "EditIssueCommentOption options for editing a comment",
  7548. "type": "object",
  7549. "required": [
  7550. "body"
  7551. ],
  7552. "properties": {
  7553. "body": {
  7554. "type": "string",
  7555. "x-go-name": "Body"
  7556. }
  7557. },
  7558. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7559. },
  7560. "EditIssueOption": {
  7561. "description": "EditIssueOption options for editing an issue",
  7562. "type": "object",
  7563. "properties": {
  7564. "assignee": {
  7565. "type": "string",
  7566. "x-go-name": "Assignee"
  7567. },
  7568. "assignees": {
  7569. "type": "array",
  7570. "items": {
  7571. "type": "string"
  7572. },
  7573. "x-go-name": "Assignees"
  7574. },
  7575. "body": {
  7576. "type": "string",
  7577. "x-go-name": "Body"
  7578. },
  7579. "due_date": {
  7580. "type": "string",
  7581. "format": "date-time",
  7582. "x-go-name": "Deadline"
  7583. },
  7584. "milestone": {
  7585. "type": "integer",
  7586. "format": "int64",
  7587. "x-go-name": "Milestone"
  7588. },
  7589. "state": {
  7590. "type": "string",
  7591. "x-go-name": "State"
  7592. },
  7593. "title": {
  7594. "type": "string",
  7595. "x-go-name": "Title"
  7596. }
  7597. },
  7598. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7599. },
  7600. "EditLabelOption": {
  7601. "description": "EditLabelOption options for editing a label",
  7602. "type": "object",
  7603. "properties": {
  7604. "color": {
  7605. "type": "string",
  7606. "x-go-name": "Color"
  7607. },
  7608. "name": {
  7609. "type": "string",
  7610. "x-go-name": "Name"
  7611. }
  7612. },
  7613. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7614. },
  7615. "EditMilestoneOption": {
  7616. "description": "EditMilestoneOption options for editing a milestone",
  7617. "type": "object",
  7618. "properties": {
  7619. "description": {
  7620. "type": "string",
  7621. "x-go-name": "Description"
  7622. },
  7623. "due_on": {
  7624. "type": "string",
  7625. "format": "date-time",
  7626. "x-go-name": "Deadline"
  7627. },
  7628. "state": {
  7629. "type": "string",
  7630. "x-go-name": "State"
  7631. },
  7632. "title": {
  7633. "type": "string",
  7634. "x-go-name": "Title"
  7635. }
  7636. },
  7637. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7638. },
  7639. "EditOrgOption": {
  7640. "description": "EditOrgOption options for editing an organization",
  7641. "type": "object",
  7642. "properties": {
  7643. "description": {
  7644. "type": "string",
  7645. "x-go-name": "Description"
  7646. },
  7647. "full_name": {
  7648. "type": "string",
  7649. "x-go-name": "FullName"
  7650. },
  7651. "location": {
  7652. "type": "string",
  7653. "x-go-name": "Location"
  7654. },
  7655. "website": {
  7656. "type": "string",
  7657. "x-go-name": "Website"
  7658. }
  7659. },
  7660. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7661. },
  7662. "EditPullRequestOption": {
  7663. "description": "EditPullRequestOption options when modify pull request",
  7664. "type": "object",
  7665. "properties": {
  7666. "assignee": {
  7667. "type": "string",
  7668. "x-go-name": "Assignee"
  7669. },
  7670. "assignees": {
  7671. "type": "array",
  7672. "items": {
  7673. "type": "string"
  7674. },
  7675. "x-go-name": "Assignees"
  7676. },
  7677. "body": {
  7678. "type": "string",
  7679. "x-go-name": "Body"
  7680. },
  7681. "due_date": {
  7682. "type": "string",
  7683. "format": "date-time",
  7684. "x-go-name": "Deadline"
  7685. },
  7686. "labels": {
  7687. "type": "array",
  7688. "items": {
  7689. "type": "integer",
  7690. "format": "int64"
  7691. },
  7692. "x-go-name": "Labels"
  7693. },
  7694. "milestone": {
  7695. "type": "integer",
  7696. "format": "int64",
  7697. "x-go-name": "Milestone"
  7698. },
  7699. "state": {
  7700. "type": "string",
  7701. "x-go-name": "State"
  7702. },
  7703. "title": {
  7704. "type": "string",
  7705. "x-go-name": "Title"
  7706. }
  7707. },
  7708. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7709. },
  7710. "EditReleaseOption": {
  7711. "description": "EditReleaseOption options when editing a release",
  7712. "type": "object",
  7713. "properties": {
  7714. "body": {
  7715. "type": "string",
  7716. "x-go-name": "Note"
  7717. },
  7718. "draft": {
  7719. "type": "boolean",
  7720. "x-go-name": "IsDraft"
  7721. },
  7722. "name": {
  7723. "type": "string",
  7724. "x-go-name": "Title"
  7725. },
  7726. "prerelease": {
  7727. "type": "boolean",
  7728. "x-go-name": "IsPrerelease"
  7729. },
  7730. "tag_name": {
  7731. "type": "string",
  7732. "x-go-name": "TagName"
  7733. },
  7734. "target_commitish": {
  7735. "type": "string",
  7736. "x-go-name": "Target"
  7737. }
  7738. },
  7739. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7740. },
  7741. "EditTeamOption": {
  7742. "description": "EditTeamOption options for editing a team",
  7743. "type": "object",
  7744. "required": [
  7745. "name"
  7746. ],
  7747. "properties": {
  7748. "description": {
  7749. "type": "string",
  7750. "x-go-name": "Description"
  7751. },
  7752. "name": {
  7753. "type": "string",
  7754. "x-go-name": "Name"
  7755. },
  7756. "permission": {
  7757. "type": "string",
  7758. "enum": [
  7759. "read",
  7760. "write",
  7761. "admin"
  7762. ],
  7763. "x-go-name": "Permission"
  7764. },
  7765. "units": {
  7766. "type": "array",
  7767. "enum": [
  7768. "repo.code",
  7769. "repo.issues",
  7770. "repo.ext_issues",
  7771. "repo.wiki",
  7772. "repo.pulls",
  7773. "repo.releases",
  7774. "repo.ext_wiki"
  7775. ],
  7776. "items": {
  7777. "type": "string"
  7778. },
  7779. "x-go-name": "Units"
  7780. }
  7781. },
  7782. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7783. },
  7784. "EditUserOption": {
  7785. "description": "EditUserOption edit user options",
  7786. "type": "object",
  7787. "required": [
  7788. "email"
  7789. ],
  7790. "properties": {
  7791. "active": {
  7792. "type": "boolean",
  7793. "x-go-name": "Active"
  7794. },
  7795. "admin": {
  7796. "type": "boolean",
  7797. "x-go-name": "Admin"
  7798. },
  7799. "allow_create_organization": {
  7800. "type": "boolean",
  7801. "x-go-name": "AllowCreateOrganization"
  7802. },
  7803. "allow_git_hook": {
  7804. "type": "boolean",
  7805. "x-go-name": "AllowGitHook"
  7806. },
  7807. "allow_import_local": {
  7808. "type": "boolean",
  7809. "x-go-name": "AllowImportLocal"
  7810. },
  7811. "email": {
  7812. "type": "string",
  7813. "format": "email",
  7814. "x-go-name": "Email"
  7815. },
  7816. "full_name": {
  7817. "type": "string",
  7818. "x-go-name": "FullName"
  7819. },
  7820. "location": {
  7821. "type": "string",
  7822. "x-go-name": "Location"
  7823. },
  7824. "login_name": {
  7825. "type": "string",
  7826. "x-go-name": "LoginName"
  7827. },
  7828. "max_repo_creation": {
  7829. "type": "integer",
  7830. "format": "int64",
  7831. "x-go-name": "MaxRepoCreation"
  7832. },
  7833. "must_change_password": {
  7834. "type": "boolean",
  7835. "x-go-name": "MustChangePassword"
  7836. },
  7837. "password": {
  7838. "type": "string",
  7839. "x-go-name": "Password"
  7840. },
  7841. "prohibit_login": {
  7842. "type": "boolean",
  7843. "x-go-name": "ProhibitLogin"
  7844. },
  7845. "source_id": {
  7846. "type": "integer",
  7847. "format": "int64",
  7848. "x-go-name": "SourceID"
  7849. },
  7850. "website": {
  7851. "type": "string",
  7852. "x-go-name": "Website"
  7853. }
  7854. },
  7855. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7856. },
  7857. "Email": {
  7858. "description": "Email an email address belonging to a user",
  7859. "type": "object",
  7860. "properties": {
  7861. "email": {
  7862. "type": "string",
  7863. "format": "email",
  7864. "x-go-name": "Email"
  7865. },
  7866. "primary": {
  7867. "type": "boolean",
  7868. "x-go-name": "Primary"
  7869. },
  7870. "verified": {
  7871. "type": "boolean",
  7872. "x-go-name": "Verified"
  7873. }
  7874. },
  7875. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7876. },
  7877. "FileCommitResponse": {
  7878. "type": "object",
  7879. "title": "FileCommitResponse contains information generated from a Git commit for a repo's file.",
  7880. "properties": {
  7881. "author": {
  7882. "$ref": "#/definitions/CommitUser"
  7883. },
  7884. "committer": {
  7885. "$ref": "#/definitions/CommitUser"
  7886. },
  7887. "html_url": {
  7888. "type": "string",
  7889. "x-go-name": "HTMLURL"
  7890. },
  7891. "message": {
  7892. "type": "string",
  7893. "x-go-name": "Message"
  7894. },
  7895. "parents": {
  7896. "type": "array",
  7897. "items": {
  7898. "$ref": "#/definitions/CommitMeta"
  7899. },
  7900. "x-go-name": "Parents"
  7901. },
  7902. "sha": {
  7903. "type": "string",
  7904. "x-go-name": "SHA"
  7905. },
  7906. "tree": {
  7907. "$ref": "#/definitions/CommitMeta"
  7908. },
  7909. "url": {
  7910. "type": "string",
  7911. "x-go-name": "URL"
  7912. }
  7913. },
  7914. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7915. },
  7916. "FileContentResponse": {
  7917. "description": "FileContentResponse contains information about a repo's file stats and content",
  7918. "type": "object",
  7919. "properties": {
  7920. "_links": {
  7921. "$ref": "#/definitions/FileLinksResponse"
  7922. },
  7923. "download_url": {
  7924. "type": "string",
  7925. "x-go-name": "DownloadURL"
  7926. },
  7927. "git_url": {
  7928. "type": "string",
  7929. "x-go-name": "GitURL"
  7930. },
  7931. "html_url": {
  7932. "type": "string",
  7933. "x-go-name": "HTMLURL"
  7934. },
  7935. "name": {
  7936. "type": "string",
  7937. "x-go-name": "Name"
  7938. },
  7939. "path": {
  7940. "type": "string",
  7941. "x-go-name": "Path"
  7942. },
  7943. "sha": {
  7944. "type": "string",
  7945. "x-go-name": "SHA"
  7946. },
  7947. "size": {
  7948. "type": "integer",
  7949. "format": "int64",
  7950. "x-go-name": "Size"
  7951. },
  7952. "type": {
  7953. "type": "string",
  7954. "x-go-name": "Type"
  7955. },
  7956. "url": {
  7957. "type": "string",
  7958. "x-go-name": "URL"
  7959. }
  7960. },
  7961. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7962. },
  7963. "FileDeleteResponse": {
  7964. "description": "FileDeleteResponse contains information about a repo's file that was deleted",
  7965. "type": "object",
  7966. "properties": {
  7967. "commit": {
  7968. "$ref": "#/definitions/FileCommitResponse"
  7969. },
  7970. "content": {
  7971. "type": "object",
  7972. "x-go-name": "Content"
  7973. },
  7974. "verification": {
  7975. "$ref": "#/definitions/PayloadCommitVerification"
  7976. }
  7977. },
  7978. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7979. },
  7980. "FileLinksResponse": {
  7981. "description": "FileLinksResponse contains the links for a repo's file",
  7982. "type": "object",
  7983. "properties": {
  7984. "git_url": {
  7985. "type": "string",
  7986. "x-go-name": "GitURL"
  7987. },
  7988. "html_url": {
  7989. "type": "string",
  7990. "x-go-name": "HTMLURL"
  7991. },
  7992. "url": {
  7993. "type": "string",
  7994. "x-go-name": "Self"
  7995. }
  7996. },
  7997. "x-go-package": "code.gitea.io/gitea/modules/structs"
  7998. },
  7999. "FileResponse": {
  8000. "description": "FileResponse contains information about a repo's file",
  8001. "type": "object",
  8002. "properties": {
  8003. "commit": {
  8004. "$ref": "#/definitions/FileCommitResponse"
  8005. },
  8006. "content": {
  8007. "$ref": "#/definitions/FileContentResponse"
  8008. },
  8009. "verification": {
  8010. "$ref": "#/definitions/PayloadCommitVerification"
  8011. }
  8012. },
  8013. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8014. },
  8015. "GPGKey": {
  8016. "description": "GPGKey a user GPG key to sign commit and tag in repository",
  8017. "type": "object",
  8018. "properties": {
  8019. "can_certify": {
  8020. "type": "boolean",
  8021. "x-go-name": "CanCertify"
  8022. },
  8023. "can_encrypt_comms": {
  8024. "type": "boolean",
  8025. "x-go-name": "CanEncryptComms"
  8026. },
  8027. "can_encrypt_storage": {
  8028. "type": "boolean",
  8029. "x-go-name": "CanEncryptStorage"
  8030. },
  8031. "can_sign": {
  8032. "type": "boolean",
  8033. "x-go-name": "CanSign"
  8034. },
  8035. "created_at": {
  8036. "type": "string",
  8037. "format": "date-time",
  8038. "x-go-name": "Created"
  8039. },
  8040. "emails": {
  8041. "type": "array",
  8042. "items": {
  8043. "$ref": "#/definitions/GPGKeyEmail"
  8044. },
  8045. "x-go-name": "Emails"
  8046. },
  8047. "expires_at": {
  8048. "type": "string",
  8049. "format": "date-time",
  8050. "x-go-name": "Expires"
  8051. },
  8052. "id": {
  8053. "type": "integer",
  8054. "format": "int64",
  8055. "x-go-name": "ID"
  8056. },
  8057. "key_id": {
  8058. "type": "string",
  8059. "x-go-name": "KeyID"
  8060. },
  8061. "primary_key_id": {
  8062. "type": "string",
  8063. "x-go-name": "PrimaryKeyID"
  8064. },
  8065. "public_key": {
  8066. "type": "string",
  8067. "x-go-name": "PublicKey"
  8068. },
  8069. "subkeys": {
  8070. "type": "array",
  8071. "items": {
  8072. "$ref": "#/definitions/GPGKey"
  8073. },
  8074. "x-go-name": "SubsKey"
  8075. }
  8076. },
  8077. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8078. },
  8079. "GPGKeyEmail": {
  8080. "description": "GPGKeyEmail an email attached to a GPGKey",
  8081. "type": "object",
  8082. "properties": {
  8083. "email": {
  8084. "type": "string",
  8085. "x-go-name": "Email"
  8086. },
  8087. "verified": {
  8088. "type": "boolean",
  8089. "x-go-name": "Verified"
  8090. }
  8091. },
  8092. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8093. },
  8094. "GitBlobResponse": {
  8095. "description": "GitBlobResponse represents a git blob",
  8096. "type": "object",
  8097. "properties": {
  8098. "content": {
  8099. "type": "string",
  8100. "x-go-name": "Content"
  8101. },
  8102. "encoding": {
  8103. "type": "string",
  8104. "x-go-name": "Encoding"
  8105. },
  8106. "sha": {
  8107. "type": "string",
  8108. "x-go-name": "SHA"
  8109. },
  8110. "size": {
  8111. "type": "integer",
  8112. "format": "int64",
  8113. "x-go-name": "Size"
  8114. },
  8115. "url": {
  8116. "type": "string",
  8117. "x-go-name": "URL"
  8118. }
  8119. },
  8120. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8121. },
  8122. "GitEntry": {
  8123. "description": "GitEntry represents a git tree",
  8124. "type": "object",
  8125. "properties": {
  8126. "mode": {
  8127. "type": "string",
  8128. "x-go-name": "Mode"
  8129. },
  8130. "path": {
  8131. "type": "string",
  8132. "x-go-name": "Path"
  8133. },
  8134. "sha": {
  8135. "type": "string",
  8136. "x-go-name": "SHA"
  8137. },
  8138. "size": {
  8139. "type": "integer",
  8140. "format": "int64",
  8141. "x-go-name": "Size"
  8142. },
  8143. "type": {
  8144. "type": "string",
  8145. "x-go-name": "Type"
  8146. },
  8147. "url": {
  8148. "type": "string",
  8149. "x-go-name": "URL"
  8150. }
  8151. },
  8152. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8153. },
  8154. "GitHook": {
  8155. "description": "GitHook represents a Git repository hook",
  8156. "type": "object",
  8157. "properties": {
  8158. "content": {
  8159. "type": "string",
  8160. "x-go-name": "Content"
  8161. },
  8162. "is_active": {
  8163. "type": "boolean",
  8164. "x-go-name": "IsActive"
  8165. },
  8166. "name": {
  8167. "type": "string",
  8168. "x-go-name": "Name"
  8169. }
  8170. },
  8171. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8172. },
  8173. "GitObject": {
  8174. "type": "object",
  8175. "title": "GitObject represents a Git object.",
  8176. "properties": {
  8177. "sha": {
  8178. "type": "string",
  8179. "x-go-name": "SHA"
  8180. },
  8181. "type": {
  8182. "type": "string",
  8183. "x-go-name": "Type"
  8184. },
  8185. "url": {
  8186. "type": "string",
  8187. "x-go-name": "URL"
  8188. }
  8189. },
  8190. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8191. },
  8192. "GitTreeResponse": {
  8193. "description": "GitTreeResponse returns a git tree",
  8194. "type": "object",
  8195. "properties": {
  8196. "page": {
  8197. "type": "integer",
  8198. "format": "int64",
  8199. "x-go-name": "Page"
  8200. },
  8201. "sha": {
  8202. "type": "string",
  8203. "x-go-name": "SHA"
  8204. },
  8205. "total_count": {
  8206. "type": "integer",
  8207. "format": "int64",
  8208. "x-go-name": "TotalCount"
  8209. },
  8210. "tree": {
  8211. "type": "array",
  8212. "items": {
  8213. "$ref": "#/definitions/GitEntry"
  8214. },
  8215. "x-go-name": "Entries"
  8216. },
  8217. "truncated": {
  8218. "type": "boolean",
  8219. "x-go-name": "Truncated"
  8220. },
  8221. "url": {
  8222. "type": "string",
  8223. "x-go-name": "URL"
  8224. }
  8225. },
  8226. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8227. },
  8228. "Hook": {
  8229. "description": "Hook a hook is a web hook when one repository changed",
  8230. "type": "object",
  8231. "properties": {
  8232. "active": {
  8233. "type": "boolean",
  8234. "x-go-name": "Active"
  8235. },
  8236. "config": {
  8237. "type": "object",
  8238. "additionalProperties": {
  8239. "type": "string"
  8240. },
  8241. "x-go-name": "Config"
  8242. },
  8243. "created_at": {
  8244. "type": "string",
  8245. "format": "date-time",
  8246. "x-go-name": "Created"
  8247. },
  8248. "events": {
  8249. "type": "array",
  8250. "items": {
  8251. "type": "string"
  8252. },
  8253. "x-go-name": "Events"
  8254. },
  8255. "id": {
  8256. "type": "integer",
  8257. "format": "int64",
  8258. "x-go-name": "ID"
  8259. },
  8260. "type": {
  8261. "type": "string",
  8262. "x-go-name": "Type"
  8263. },
  8264. "updated_at": {
  8265. "type": "string",
  8266. "format": "date-time",
  8267. "x-go-name": "Updated"
  8268. }
  8269. },
  8270. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8271. },
  8272. "Identity": {
  8273. "description": "Identity for a person's identity like an author or committer",
  8274. "type": "object",
  8275. "properties": {
  8276. "email": {
  8277. "type": "string",
  8278. "format": "email",
  8279. "x-go-name": "Email"
  8280. },
  8281. "name": {
  8282. "type": "string",
  8283. "x-go-name": "Name"
  8284. }
  8285. },
  8286. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8287. },
  8288. "Issue": {
  8289. "description": "Issue represents an issue in a repository",
  8290. "type": "object",
  8291. "properties": {
  8292. "assignee": {
  8293. "$ref": "#/definitions/User"
  8294. },
  8295. "assignees": {
  8296. "type": "array",
  8297. "items": {
  8298. "$ref": "#/definitions/User"
  8299. },
  8300. "x-go-name": "Assignees"
  8301. },
  8302. "body": {
  8303. "type": "string",
  8304. "x-go-name": "Body"
  8305. },
  8306. "closed_at": {
  8307. "type": "string",
  8308. "format": "date-time",
  8309. "x-go-name": "Closed"
  8310. },
  8311. "comments": {
  8312. "type": "integer",
  8313. "format": "int64",
  8314. "x-go-name": "Comments"
  8315. },
  8316. "created_at": {
  8317. "type": "string",
  8318. "format": "date-time",
  8319. "x-go-name": "Created"
  8320. },
  8321. "due_date": {
  8322. "type": "string",
  8323. "format": "date-time",
  8324. "x-go-name": "Deadline"
  8325. },
  8326. "id": {
  8327. "type": "integer",
  8328. "format": "int64",
  8329. "x-go-name": "ID"
  8330. },
  8331. "labels": {
  8332. "type": "array",
  8333. "items": {
  8334. "$ref": "#/definitions/Label"
  8335. },
  8336. "x-go-name": "Labels"
  8337. },
  8338. "milestone": {
  8339. "$ref": "#/definitions/Milestone"
  8340. },
  8341. "number": {
  8342. "type": "integer",
  8343. "format": "int64",
  8344. "x-go-name": "Index"
  8345. },
  8346. "pull_request": {
  8347. "$ref": "#/definitions/PullRequestMeta"
  8348. },
  8349. "state": {
  8350. "$ref": "#/definitions/StateType"
  8351. },
  8352. "title": {
  8353. "type": "string",
  8354. "x-go-name": "Title"
  8355. },
  8356. "updated_at": {
  8357. "type": "string",
  8358. "format": "date-time",
  8359. "x-go-name": "Updated"
  8360. },
  8361. "url": {
  8362. "type": "string",
  8363. "x-go-name": "URL"
  8364. },
  8365. "user": {
  8366. "$ref": "#/definitions/User"
  8367. }
  8368. },
  8369. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8370. },
  8371. "IssueDeadline": {
  8372. "description": "IssueDeadline represents an issue deadline",
  8373. "type": "object",
  8374. "properties": {
  8375. "due_date": {
  8376. "type": "string",
  8377. "format": "date-time",
  8378. "x-go-name": "Deadline"
  8379. }
  8380. },
  8381. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8382. },
  8383. "IssueLabelsOption": {
  8384. "description": "IssueLabelsOption a collection of labels",
  8385. "type": "object",
  8386. "properties": {
  8387. "labels": {
  8388. "description": "list of label IDs",
  8389. "type": "array",
  8390. "items": {
  8391. "type": "integer",
  8392. "format": "int64"
  8393. },
  8394. "x-go-name": "Labels"
  8395. }
  8396. },
  8397. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8398. },
  8399. "Label": {
  8400. "description": "Label a label to an issue or a pr",
  8401. "type": "object",
  8402. "properties": {
  8403. "color": {
  8404. "type": "string",
  8405. "x-go-name": "Color",
  8406. "example": "00aabb"
  8407. },
  8408. "id": {
  8409. "type": "integer",
  8410. "format": "int64",
  8411. "x-go-name": "ID"
  8412. },
  8413. "name": {
  8414. "type": "string",
  8415. "x-go-name": "Name"
  8416. },
  8417. "url": {
  8418. "type": "string",
  8419. "x-go-name": "URL"
  8420. }
  8421. },
  8422. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8423. },
  8424. "MarkdownOption": {
  8425. "description": "MarkdownOption markdown options",
  8426. "type": "object",
  8427. "properties": {
  8428. "Context": {
  8429. "description": "Context to render\n\nin: body",
  8430. "type": "string"
  8431. },
  8432. "Mode": {
  8433. "description": "Mode to render\n\nin: body",
  8434. "type": "string"
  8435. },
  8436. "Text": {
  8437. "description": "Text markdown to render\n\nin: body",
  8438. "type": "string"
  8439. },
  8440. "Wiki": {
  8441. "description": "Is it a wiki page ?\n\nin: body",
  8442. "type": "boolean"
  8443. }
  8444. },
  8445. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8446. },
  8447. "MergePullRequestOption": {
  8448. "description": "MergePullRequestForm form for merging Pull Request",
  8449. "type": "object",
  8450. "required": [
  8451. "Do"
  8452. ],
  8453. "properties": {
  8454. "Do": {
  8455. "type": "string",
  8456. "enum": [
  8457. "merge",
  8458. "rebase",
  8459. "rebase-merge",
  8460. "squash"
  8461. ]
  8462. },
  8463. "MergeMessageField": {
  8464. "type": "string"
  8465. },
  8466. "MergeTitleField": {
  8467. "type": "string"
  8468. }
  8469. },
  8470. "x-go-name": "MergePullRequestForm",
  8471. "x-go-package": "code.gitea.io/gitea/modules/auth"
  8472. },
  8473. "MigrateRepoForm": {
  8474. "description": "MigrateRepoForm form for migrating repository",
  8475. "type": "object",
  8476. "required": [
  8477. "clone_addr",
  8478. "uid",
  8479. "repo_name"
  8480. ],
  8481. "properties": {
  8482. "auth_password": {
  8483. "type": "string",
  8484. "x-go-name": "AuthPassword"
  8485. },
  8486. "auth_username": {
  8487. "type": "string",
  8488. "x-go-name": "AuthUsername"
  8489. },
  8490. "clone_addr": {
  8491. "type": "string",
  8492. "x-go-name": "CloneAddr"
  8493. },
  8494. "description": {
  8495. "type": "string",
  8496. "x-go-name": "Description"
  8497. },
  8498. "issues": {
  8499. "type": "boolean",
  8500. "x-go-name": "Issues"
  8501. },
  8502. "labels": {
  8503. "type": "boolean",
  8504. "x-go-name": "Labels"
  8505. },
  8506. "milestones": {
  8507. "type": "boolean",
  8508. "x-go-name": "Milestones"
  8509. },
  8510. "mirror": {
  8511. "type": "boolean",
  8512. "x-go-name": "Mirror"
  8513. },
  8514. "private": {
  8515. "type": "boolean",
  8516. "x-go-name": "Private"
  8517. },
  8518. "pull_requests": {
  8519. "type": "boolean",
  8520. "x-go-name": "PullRequests"
  8521. },
  8522. "releases": {
  8523. "type": "boolean",
  8524. "x-go-name": "Releases"
  8525. },
  8526. "repo_name": {
  8527. "type": "string",
  8528. "x-go-name": "RepoName"
  8529. },
  8530. "uid": {
  8531. "type": "integer",
  8532. "format": "int64",
  8533. "x-go-name": "UID"
  8534. },
  8535. "wiki": {
  8536. "type": "boolean",
  8537. "x-go-name": "Wiki"
  8538. }
  8539. },
  8540. "x-go-package": "code.gitea.io/gitea/modules/auth"
  8541. },
  8542. "Milestone": {
  8543. "description": "Milestone milestone is a collection of issues on one repository",
  8544. "type": "object",
  8545. "properties": {
  8546. "closed_at": {
  8547. "type": "string",
  8548. "format": "date-time",
  8549. "x-go-name": "Closed"
  8550. },
  8551. "closed_issues": {
  8552. "type": "integer",
  8553. "format": "int64",
  8554. "x-go-name": "ClosedIssues"
  8555. },
  8556. "description": {
  8557. "type": "string",
  8558. "x-go-name": "Description"
  8559. },
  8560. "due_on": {
  8561. "type": "string",
  8562. "format": "date-time",
  8563. "x-go-name": "Deadline"
  8564. },
  8565. "id": {
  8566. "type": "integer",
  8567. "format": "int64",
  8568. "x-go-name": "ID"
  8569. },
  8570. "open_issues": {
  8571. "type": "integer",
  8572. "format": "int64",
  8573. "x-go-name": "OpenIssues"
  8574. },
  8575. "state": {
  8576. "$ref": "#/definitions/StateType"
  8577. },
  8578. "title": {
  8579. "type": "string",
  8580. "x-go-name": "Title"
  8581. }
  8582. },
  8583. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8584. },
  8585. "Organization": {
  8586. "description": "Organization represents an organization",
  8587. "type": "object",
  8588. "properties": {
  8589. "avatar_url": {
  8590. "type": "string",
  8591. "x-go-name": "AvatarURL"
  8592. },
  8593. "description": {
  8594. "type": "string",
  8595. "x-go-name": "Description"
  8596. },
  8597. "full_name": {
  8598. "type": "string",
  8599. "x-go-name": "FullName"
  8600. },
  8601. "id": {
  8602. "type": "integer",
  8603. "format": "int64",
  8604. "x-go-name": "ID"
  8605. },
  8606. "location": {
  8607. "type": "string",
  8608. "x-go-name": "Location"
  8609. },
  8610. "username": {
  8611. "type": "string",
  8612. "x-go-name": "UserName"
  8613. },
  8614. "visibility": {
  8615. "$ref": "#/definitions/VisibleType"
  8616. },
  8617. "website": {
  8618. "type": "string",
  8619. "x-go-name": "Website"
  8620. }
  8621. },
  8622. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8623. },
  8624. "PRBranchInfo": {
  8625. "description": "PRBranchInfo information about a branch",
  8626. "type": "object",
  8627. "properties": {
  8628. "label": {
  8629. "type": "string",
  8630. "x-go-name": "Name"
  8631. },
  8632. "ref": {
  8633. "type": "string",
  8634. "x-go-name": "Ref"
  8635. },
  8636. "repo": {
  8637. "$ref": "#/definitions/Repository"
  8638. },
  8639. "repo_id": {
  8640. "type": "integer",
  8641. "format": "int64",
  8642. "x-go-name": "RepoID"
  8643. },
  8644. "sha": {
  8645. "type": "string",
  8646. "x-go-name": "Sha"
  8647. }
  8648. },
  8649. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8650. },
  8651. "PayloadCommit": {
  8652. "description": "PayloadCommit represents a commit",
  8653. "type": "object",
  8654. "properties": {
  8655. "added": {
  8656. "type": "array",
  8657. "items": {
  8658. "type": "string"
  8659. },
  8660. "x-go-name": "Added"
  8661. },
  8662. "author": {
  8663. "$ref": "#/definitions/PayloadUser"
  8664. },
  8665. "committer": {
  8666. "$ref": "#/definitions/PayloadUser"
  8667. },
  8668. "id": {
  8669. "description": "sha1 hash of the commit",
  8670. "type": "string",
  8671. "x-go-name": "ID"
  8672. },
  8673. "message": {
  8674. "type": "string",
  8675. "x-go-name": "Message"
  8676. },
  8677. "modified": {
  8678. "type": "array",
  8679. "items": {
  8680. "type": "string"
  8681. },
  8682. "x-go-name": "Modified"
  8683. },
  8684. "removed": {
  8685. "type": "array",
  8686. "items": {
  8687. "type": "string"
  8688. },
  8689. "x-go-name": "Removed"
  8690. },
  8691. "timestamp": {
  8692. "type": "string",
  8693. "format": "date-time",
  8694. "x-go-name": "Timestamp"
  8695. },
  8696. "url": {
  8697. "type": "string",
  8698. "x-go-name": "URL"
  8699. },
  8700. "verification": {
  8701. "$ref": "#/definitions/PayloadCommitVerification"
  8702. }
  8703. },
  8704. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8705. },
  8706. "PayloadCommitVerification": {
  8707. "description": "PayloadCommitVerification represents the GPG verification of a commit",
  8708. "type": "object",
  8709. "properties": {
  8710. "payload": {
  8711. "type": "string",
  8712. "x-go-name": "Payload"
  8713. },
  8714. "reason": {
  8715. "type": "string",
  8716. "x-go-name": "Reason"
  8717. },
  8718. "signature": {
  8719. "type": "string",
  8720. "x-go-name": "Signature"
  8721. },
  8722. "verified": {
  8723. "type": "boolean",
  8724. "x-go-name": "Verified"
  8725. }
  8726. },
  8727. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8728. },
  8729. "PayloadUser": {
  8730. "description": "PayloadUser represents the author or committer of a commit",
  8731. "type": "object",
  8732. "properties": {
  8733. "email": {
  8734. "type": "string",
  8735. "format": "email",
  8736. "x-go-name": "Email"
  8737. },
  8738. "name": {
  8739. "description": "Full name of the commit author",
  8740. "type": "string",
  8741. "x-go-name": "Name"
  8742. },
  8743. "username": {
  8744. "type": "string",
  8745. "x-go-name": "UserName"
  8746. }
  8747. },
  8748. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8749. },
  8750. "Permission": {
  8751. "description": "Permission represents a set of permissions",
  8752. "type": "object",
  8753. "properties": {
  8754. "admin": {
  8755. "type": "boolean",
  8756. "x-go-name": "Admin"
  8757. },
  8758. "pull": {
  8759. "type": "boolean",
  8760. "x-go-name": "Pull"
  8761. },
  8762. "push": {
  8763. "type": "boolean",
  8764. "x-go-name": "Push"
  8765. }
  8766. },
  8767. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8768. },
  8769. "PublicKey": {
  8770. "description": "PublicKey publickey is a user key to push code to repository",
  8771. "type": "object",
  8772. "properties": {
  8773. "created_at": {
  8774. "type": "string",
  8775. "format": "date-time",
  8776. "x-go-name": "Created"
  8777. },
  8778. "fingerprint": {
  8779. "type": "string",
  8780. "x-go-name": "Fingerprint"
  8781. },
  8782. "id": {
  8783. "type": "integer",
  8784. "format": "int64",
  8785. "x-go-name": "ID"
  8786. },
  8787. "key": {
  8788. "type": "string",
  8789. "x-go-name": "Key"
  8790. },
  8791. "key_type": {
  8792. "type": "string",
  8793. "x-go-name": "KeyType"
  8794. },
  8795. "read_only": {
  8796. "type": "boolean",
  8797. "x-go-name": "ReadOnly"
  8798. },
  8799. "title": {
  8800. "type": "string",
  8801. "x-go-name": "Title"
  8802. },
  8803. "url": {
  8804. "type": "string",
  8805. "x-go-name": "URL"
  8806. },
  8807. "user": {
  8808. "$ref": "#/definitions/User"
  8809. }
  8810. },
  8811. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8812. },
  8813. "PullRequest": {
  8814. "description": "PullRequest represents a pull request",
  8815. "type": "object",
  8816. "properties": {
  8817. "assignee": {
  8818. "$ref": "#/definitions/User"
  8819. },
  8820. "assignees": {
  8821. "type": "array",
  8822. "items": {
  8823. "$ref": "#/definitions/User"
  8824. },
  8825. "x-go-name": "Assignees"
  8826. },
  8827. "base": {
  8828. "$ref": "#/definitions/PRBranchInfo"
  8829. },
  8830. "body": {
  8831. "type": "string",
  8832. "x-go-name": "Body"
  8833. },
  8834. "closed_at": {
  8835. "type": "string",
  8836. "format": "date-time",
  8837. "x-go-name": "Closed"
  8838. },
  8839. "comments": {
  8840. "type": "integer",
  8841. "format": "int64",
  8842. "x-go-name": "Comments"
  8843. },
  8844. "created_at": {
  8845. "type": "string",
  8846. "format": "date-time",
  8847. "x-go-name": "Created"
  8848. },
  8849. "diff_url": {
  8850. "type": "string",
  8851. "x-go-name": "DiffURL"
  8852. },
  8853. "due_date": {
  8854. "type": "string",
  8855. "format": "date-time",
  8856. "x-go-name": "Deadline"
  8857. },
  8858. "head": {
  8859. "$ref": "#/definitions/PRBranchInfo"
  8860. },
  8861. "html_url": {
  8862. "type": "string",
  8863. "x-go-name": "HTMLURL"
  8864. },
  8865. "id": {
  8866. "type": "integer",
  8867. "format": "int64",
  8868. "x-go-name": "ID"
  8869. },
  8870. "labels": {
  8871. "type": "array",
  8872. "items": {
  8873. "$ref": "#/definitions/Label"
  8874. },
  8875. "x-go-name": "Labels"
  8876. },
  8877. "merge_base": {
  8878. "type": "string",
  8879. "x-go-name": "MergeBase"
  8880. },
  8881. "merge_commit_sha": {
  8882. "type": "string",
  8883. "x-go-name": "MergedCommitID"
  8884. },
  8885. "mergeable": {
  8886. "type": "boolean",
  8887. "x-go-name": "Mergeable"
  8888. },
  8889. "merged": {
  8890. "type": "boolean",
  8891. "x-go-name": "HasMerged"
  8892. },
  8893. "merged_at": {
  8894. "type": "string",
  8895. "format": "date-time",
  8896. "x-go-name": "Merged"
  8897. },
  8898. "merged_by": {
  8899. "$ref": "#/definitions/User"
  8900. },
  8901. "milestone": {
  8902. "$ref": "#/definitions/Milestone"
  8903. },
  8904. "number": {
  8905. "type": "integer",
  8906. "format": "int64",
  8907. "x-go-name": "Index"
  8908. },
  8909. "patch_url": {
  8910. "type": "string",
  8911. "x-go-name": "PatchURL"
  8912. },
  8913. "state": {
  8914. "$ref": "#/definitions/StateType"
  8915. },
  8916. "title": {
  8917. "type": "string",
  8918. "x-go-name": "Title"
  8919. },
  8920. "updated_at": {
  8921. "type": "string",
  8922. "format": "date-time",
  8923. "x-go-name": "Updated"
  8924. },
  8925. "url": {
  8926. "type": "string",
  8927. "x-go-name": "URL"
  8928. },
  8929. "user": {
  8930. "$ref": "#/definitions/User"
  8931. }
  8932. },
  8933. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8934. },
  8935. "PullRequestMeta": {
  8936. "description": "PullRequestMeta PR info if an issue is a PR",
  8937. "type": "object",
  8938. "properties": {
  8939. "merged": {
  8940. "type": "boolean",
  8941. "x-go-name": "HasMerged"
  8942. },
  8943. "merged_at": {
  8944. "type": "string",
  8945. "format": "date-time",
  8946. "x-go-name": "Merged"
  8947. }
  8948. },
  8949. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8950. },
  8951. "Reference": {
  8952. "type": "object",
  8953. "title": "Reference represents a Git reference.",
  8954. "properties": {
  8955. "object": {
  8956. "$ref": "#/definitions/GitObject"
  8957. },
  8958. "ref": {
  8959. "type": "string",
  8960. "x-go-name": "Ref"
  8961. },
  8962. "url": {
  8963. "type": "string",
  8964. "x-go-name": "URL"
  8965. }
  8966. },
  8967. "x-go-package": "code.gitea.io/gitea/modules/structs"
  8968. },
  8969. "Release": {
  8970. "description": "Release represents a repository release",
  8971. "type": "object",
  8972. "properties": {
  8973. "assets": {
  8974. "type": "array",
  8975. "items": {
  8976. "$ref": "#/definitions/Attachment"
  8977. },
  8978. "x-go-name": "Attachments"
  8979. },
  8980. "author": {
  8981. "$ref": "#/definitions/User"
  8982. },
  8983. "body": {
  8984. "type": "string",
  8985. "x-go-name": "Note"
  8986. },
  8987. "created_at": {
  8988. "type": "string",
  8989. "format": "date-time",
  8990. "x-go-name": "CreatedAt"
  8991. },
  8992. "draft": {
  8993. "type": "boolean",
  8994. "x-go-name": "IsDraft"
  8995. },
  8996. "id": {
  8997. "type": "integer",
  8998. "format": "int64",
  8999. "x-go-name": "ID"
  9000. },
  9001. "name": {
  9002. "type": "string",
  9003. "x-go-name": "Title"
  9004. },
  9005. "prerelease": {
  9006. "type": "boolean",
  9007. "x-go-name": "IsPrerelease"
  9008. },
  9009. "published_at": {
  9010. "type": "string",
  9011. "format": "date-time",
  9012. "x-go-name": "PublishedAt"
  9013. },
  9014. "tag_name": {
  9015. "type": "string",
  9016. "x-go-name": "TagName"
  9017. },
  9018. "tarball_url": {
  9019. "type": "string",
  9020. "x-go-name": "TarURL"
  9021. },
  9022. "target_commitish": {
  9023. "type": "string",
  9024. "x-go-name": "Target"
  9025. },
  9026. "url": {
  9027. "type": "string",
  9028. "x-go-name": "URL"
  9029. },
  9030. "zipball_url": {
  9031. "type": "string",
  9032. "x-go-name": "ZipURL"
  9033. }
  9034. },
  9035. "x-go-package": "code.gitea.io/gitea/modules/structs"
  9036. },
  9037. "RepoCommit": {
  9038. "type": "object",
  9039. "title": "RepoCommit contains information of a commit in the context of a repository.",
  9040. "properties": {
  9041. "author": {
  9042. "$ref": "#/definitions/CommitUser"
  9043. },
  9044. "committer": {
  9045. "$ref": "#/definitions/CommitUser"
  9046. },
  9047. "message": {
  9048. "type": "string",
  9049. "x-go-name": "Message"
  9050. },
  9051. "tree": {
  9052. "$ref": "#/definitions/CommitMeta"
  9053. },
  9054. "url": {
  9055. "type": "string",
  9056. "x-go-name": "URL"
  9057. }
  9058. },
  9059. "x-go-package": "code.gitea.io/gitea/modules/structs"
  9060. },
  9061. "Repository": {
  9062. "description": "Repository represents a repository",
  9063. "type": "object",
  9064. "properties": {
  9065. "archived": {
  9066. "type": "boolean",
  9067. "x-go-name": "Archived"
  9068. },
  9069. "avatar_url": {
  9070. "type": "string",
  9071. "x-go-name": "AvatarURL"
  9072. },
  9073. "clone_url": {
  9074. "type": "string",
  9075. "x-go-name": "CloneURL"
  9076. },
  9077. "created_at": {
  9078. "type": "string",
  9079. "format": "date-time",
  9080. "x-go-name": "Created"
  9081. },
  9082. "default_branch": {
  9083. "type": "string",
  9084. "x-go-name": "DefaultBranch"
  9085. },
  9086. "description": {
  9087. "type": "string",
  9088. "x-go-name": "Description"
  9089. },
  9090. "empty": {
  9091. "type": "boolean",
  9092. "x-go-name": "Empty"
  9093. },
  9094. "fork": {
  9095. "type": "boolean",
  9096. "x-go-name": "Fork"
  9097. },
  9098. "forks_count": {
  9099. "type": "integer",
  9100. "format": "int64",
  9101. "x-go-name": "Forks"
  9102. },
  9103. "full_name": {
  9104. "type": "string",
  9105. "x-go-name": "FullName"
  9106. },
  9107. "html_url": {
  9108. "type": "string",
  9109. "x-go-name": "HTMLURL"
  9110. },
  9111. "id": {
  9112. "type": "integer",
  9113. "format": "int64",
  9114. "x-go-name": "ID"
  9115. },
  9116. "mirror": {
  9117. "type": "boolean",
  9118. "x-go-name": "Mirror"
  9119. },
  9120. "name": {
  9121. "type": "string",
  9122. "x-go-name": "Name"
  9123. },
  9124. "open_issues_count": {
  9125. "type": "integer",
  9126. "format": "int64",
  9127. "x-go-name": "OpenIssues"
  9128. },
  9129. "owner": {
  9130. "$ref": "#/definitions/User"
  9131. },
  9132. "parent": {
  9133. "$ref": "#/definitions/Repository"
  9134. },
  9135. "permissions": {
  9136. "$ref": "#/definitions/Permission"
  9137. },
  9138. "private": {
  9139. "type": "boolean",
  9140. "x-go-name": "Private"
  9141. },
  9142. "size": {
  9143. "type": "integer",
  9144. "format": "int64",
  9145. "x-go-name": "Size"
  9146. },
  9147. "ssh_url": {
  9148. "type": "string",
  9149. "x-go-name": "SSHURL"
  9150. },
  9151. "stars_count": {
  9152. "type": "integer",
  9153. "format": "int64",
  9154. "x-go-name": "Stars"
  9155. },
  9156. "updated_at": {
  9157. "type": "string",
  9158. "format": "date-time",
  9159. "x-go-name": "Updated"
  9160. },
  9161. "watchers_count": {
  9162. "type": "integer",
  9163. "format": "int64",
  9164. "x-go-name": "Watchers"
  9165. },
  9166. "website": {
  9167. "type": "string",
  9168. "x-go-name": "Website"
  9169. }
  9170. },
  9171. "x-go-package": "code.gitea.io/gitea/modules/structs"
  9172. },
  9173. "SearchResults": {
  9174. "description": "SearchResults results of a successful search",
  9175. "type": "object",
  9176. "properties": {
  9177. "data": {
  9178. "type": "array",
  9179. "items": {
  9180. "$ref": "#/definitions/Repository"
  9181. },
  9182. "x-go-name": "Data"
  9183. },
  9184. "ok": {
  9185. "type": "boolean",
  9186. "x-go-name": "OK"
  9187. }
  9188. },
  9189. "x-go-package": "code.gitea.io/gitea/modules/structs"
  9190. },
  9191. "ServerVersion": {
  9192. "description": "ServerVersion wraps the version of the server",
  9193. "type": "object",
  9194. "properties": {
  9195. "version": {
  9196. "type": "string",
  9197. "x-go-name": "Version"
  9198. }
  9199. },
  9200. "x-go-package": "code.gitea.io/gitea/modules/structs"
  9201. },
  9202. "StateType": {
  9203. "description": "StateType issue state type",
  9204. "type": "string",
  9205. "x-go-package": "code.gitea.io/gitea/modules/structs"
  9206. },
  9207. "Status": {
  9208. "description": "Status holds a single Status of a single Commit",
  9209. "type": "object",
  9210. "properties": {
  9211. "context": {
  9212. "type": "string",
  9213. "x-go-name": "Context"
  9214. },
  9215. "created_at": {
  9216. "type": "string",
  9217. "format": "date-time",
  9218. "x-go-name": "Created"
  9219. },
  9220. "creator": {
  9221. "$ref": "#/definitions/User"
  9222. },
  9223. "description": {
  9224. "type": "string",
  9225. "x-go-name": "Description"
  9226. },
  9227. "id": {
  9228. "type": "integer",
  9229. "format": "int64",
  9230. "x-go-name": "ID"
  9231. },
  9232. "status": {
  9233. "$ref": "#/definitions/StatusState"
  9234. },
  9235. "target_url": {
  9236. "type": "string",
  9237. "x-go-name": "TargetURL"
  9238. },
  9239. "updated_at": {
  9240. "type": "string",
  9241. "format": "date-time",
  9242. "x-go-name": "Updated"
  9243. },
  9244. "url": {
  9245. "type": "string",
  9246. "x-go-name": "URL"
  9247. }
  9248. },
  9249. "x-go-package": "code.gitea.io/gitea/modules/structs"
  9250. },
  9251. "StatusState": {
  9252. "description": "StatusState holds the state of a Status\nIt can be \"pending\", \"success\", \"error\", \"failure\", and \"warning\"",
  9253. "type": "string",
  9254. "x-go-package": "code.gitea.io/gitea/modules/structs"
  9255. },
  9256. "Tag": {
  9257. "description": "Tag represents a repository tag",
  9258. "type": "object",
  9259. "properties": {
  9260. "commit": {
  9261. "type": "object",
  9262. "properties": {
  9263. "sha": {
  9264. "type": "string",
  9265. "x-go-name": "SHA"
  9266. },
  9267. "url": {
  9268. "type": "string",
  9269. "x-go-name": "URL"
  9270. }
  9271. },
  9272. "x-go-name": "Commit"
  9273. },
  9274. "name": {
  9275. "type": "string",
  9276. "x-go-name": "Name"
  9277. },
  9278. "tarball_url": {
  9279. "type": "string",
  9280. "x-go-name": "TarballURL"
  9281. },
  9282. "zipball_url": {
  9283. "type": "string",
  9284. "x-go-name": "ZipballURL"
  9285. }
  9286. },
  9287. "x-go-package": "code.gitea.io/gitea/modules/structs"
  9288. },
  9289. "Team": {
  9290. "description": "Team represents a team in an organization",
  9291. "type": "object",
  9292. "properties": {
  9293. "description": {
  9294. "type": "string",
  9295. "x-go-name": "Description"
  9296. },
  9297. "id": {
  9298. "type": "integer",
  9299. "format": "int64",
  9300. "x-go-name": "ID"
  9301. },
  9302. "name": {
  9303. "type": "string",
  9304. "x-go-name": "Name"
  9305. },
  9306. "organization": {
  9307. "$ref": "#/definitions/Organization"
  9308. },
  9309. "permission": {
  9310. "type": "string",
  9311. "enum": [
  9312. "none",
  9313. "read",
  9314. "write",
  9315. "admin",
  9316. "owner"
  9317. ],
  9318. "x-go-name": "Permission"
  9319. },
  9320. "units": {
  9321. "type": "array",
  9322. "enum": [
  9323. "repo.code",
  9324. "repo.issues",
  9325. "repo.ext_issues",
  9326. "repo.wiki",
  9327. "repo.pulls",
  9328. "repo.releases",
  9329. "repo.ext_wiki"
  9330. ],
  9331. "items": {
  9332. "type": "string"
  9333. },
  9334. "x-go-name": "Units"
  9335. }
  9336. },
  9337. "x-go-package": "code.gitea.io/gitea/modules/structs"
  9338. },
  9339. "TimeStamp": {
  9340. "description": "TimeStamp defines a timestamp",
  9341. "type": "integer",
  9342. "format": "int64",
  9343. "x-go-package": "code.gitea.io/gitea/modules/util"
  9344. },
  9345. "TrackedTime": {
  9346. "description": "TrackedTime worked time for an issue / pr",
  9347. "type": "object",
  9348. "properties": {
  9349. "created": {
  9350. "type": "string",
  9351. "format": "date-time",
  9352. "x-go-name": "Created"
  9353. },
  9354. "id": {
  9355. "type": "integer",
  9356. "format": "int64",
  9357. "x-go-name": "ID"
  9358. },
  9359. "issue_id": {
  9360. "type": "integer",
  9361. "format": "int64",
  9362. "x-go-name": "IssueID"
  9363. },
  9364. "time": {
  9365. "description": "Time in seconds",
  9366. "type": "integer",
  9367. "format": "int64",
  9368. "x-go-name": "Time"
  9369. },
  9370. "user_id": {
  9371. "type": "integer",
  9372. "format": "int64",
  9373. "x-go-name": "UserID"
  9374. }
  9375. },
  9376. "x-go-package": "code.gitea.io/gitea/modules/structs"
  9377. },
  9378. "UpdateFileOptions": {
  9379. "description": "UpdateFileOptions options for updating files",
  9380. "type": "object",
  9381. "properties": {
  9382. "author": {
  9383. "$ref": "#/definitions/Identity"
  9384. },
  9385. "branch": {
  9386. "type": "string",
  9387. "x-go-name": "BranchName"
  9388. },
  9389. "committer": {
  9390. "$ref": "#/definitions/Identity"
  9391. },
  9392. "content": {
  9393. "type": "string",
  9394. "x-go-name": "Content"
  9395. },
  9396. "from_path": {
  9397. "type": "string",
  9398. "x-go-name": "FromPath"
  9399. },
  9400. "message": {
  9401. "type": "string",
  9402. "x-go-name": "Message"
  9403. },
  9404. "new_branch": {
  9405. "type": "string",
  9406. "x-go-name": "NewBranchName"
  9407. },
  9408. "sha": {
  9409. "type": "string",
  9410. "x-go-name": "SHA"
  9411. }
  9412. },
  9413. "x-go-package": "code.gitea.io/gitea/modules/structs"
  9414. },
  9415. "User": {
  9416. "description": "User represents a user",
  9417. "type": "object",
  9418. "properties": {
  9419. "avatar_url": {
  9420. "description": "URL to the user's avatar",
  9421. "type": "string",
  9422. "x-go-name": "AvatarURL"
  9423. },
  9424. "email": {
  9425. "type": "string",
  9426. "format": "email",
  9427. "x-go-name": "Email"
  9428. },
  9429. "full_name": {
  9430. "description": "the user's full name",
  9431. "type": "string",
  9432. "x-go-name": "FullName"
  9433. },
  9434. "id": {
  9435. "description": "the user's id",
  9436. "type": "integer",
  9437. "format": "int64",
  9438. "x-go-name": "ID"
  9439. },
  9440. "is_admin": {
  9441. "description": "Is the user an administrator",
  9442. "type": "boolean",
  9443. "x-go-name": "IsAdmin"
  9444. },
  9445. "language": {
  9446. "description": "User locale",
  9447. "type": "string",
  9448. "x-go-name": "Language"
  9449. },
  9450. "login": {
  9451. "description": "the user's username",
  9452. "type": "string",
  9453. "x-go-name": "UserName"
  9454. }
  9455. },
  9456. "x-go-package": "code.gitea.io/gitea/modules/structs"
  9457. },
  9458. "UserHeatmapData": {
  9459. "description": "UserHeatmapData represents the data needed to create a heatmap",
  9460. "type": "object",
  9461. "properties": {
  9462. "contributions": {
  9463. "type": "integer",
  9464. "format": "int64",
  9465. "x-go-name": "Contributions"
  9466. },
  9467. "timestamp": {
  9468. "$ref": "#/definitions/TimeStamp"
  9469. }
  9470. },
  9471. "x-go-package": "code.gitea.io/gitea/models"
  9472. },
  9473. "VisibleType": {
  9474. "description": "VisibleType defines the visibility (Organization only)",
  9475. "type": "integer",
  9476. "format": "int64",
  9477. "x-go-package": "code.gitea.io/gitea/modules/structs"
  9478. },
  9479. "WatchInfo": {
  9480. "description": "WatchInfo represents an API watch status of one repository",
  9481. "type": "object",
  9482. "properties": {
  9483. "created_at": {
  9484. "type": "string",
  9485. "format": "date-time",
  9486. "x-go-name": "CreatedAt"
  9487. },
  9488. "ignored": {
  9489. "type": "boolean",
  9490. "x-go-name": "Ignored"
  9491. },
  9492. "reason": {
  9493. "type": "object",
  9494. "x-go-name": "Reason"
  9495. },
  9496. "repository_url": {
  9497. "type": "string",
  9498. "x-go-name": "RepositoryURL"
  9499. },
  9500. "subscribed": {
  9501. "type": "boolean",
  9502. "x-go-name": "Subscribed"
  9503. },
  9504. "url": {
  9505. "type": "string",
  9506. "x-go-name": "URL"
  9507. }
  9508. },
  9509. "x-go-package": "code.gitea.io/gitea/modules/structs"
  9510. }
  9511. },
  9512. "responses": {
  9513. "AccessToken": {
  9514. "description": "AccessToken represents an API access token.",
  9515. "headers": {
  9516. "id": {
  9517. "type": "integer",
  9518. "format": "int64"
  9519. },
  9520. "name": {
  9521. "type": "string"
  9522. },
  9523. "sha1": {
  9524. "type": "string"
  9525. },
  9526. "token_last_eight": {
  9527. "type": "string"
  9528. }
  9529. }
  9530. },
  9531. "AccessTokenList": {
  9532. "description": "AccessTokenList represents a list of API access token."
  9533. },
  9534. "Attachment": {
  9535. "description": "Attachment",
  9536. "schema": {
  9537. "$ref": "#/definitions/Attachment"
  9538. }
  9539. },
  9540. "AttachmentList": {
  9541. "description": "AttachmentList",
  9542. "schema": {
  9543. "type": "array",
  9544. "items": {
  9545. "$ref": "#/definitions/Attachment"
  9546. }
  9547. }
  9548. },
  9549. "Branch": {
  9550. "description": "Branch",
  9551. "schema": {
  9552. "$ref": "#/definitions/Branch"
  9553. }
  9554. },
  9555. "BranchList": {
  9556. "description": "BranchList",
  9557. "schema": {
  9558. "type": "array",
  9559. "items": {
  9560. "$ref": "#/definitions/Branch"
  9561. }
  9562. }
  9563. },
  9564. "Comment": {
  9565. "description": "Comment",
  9566. "schema": {
  9567. "$ref": "#/definitions/Comment"
  9568. }
  9569. },
  9570. "CommentList": {
  9571. "description": "CommentList",
  9572. "schema": {
  9573. "type": "array",
  9574. "items": {
  9575. "$ref": "#/definitions/Comment"
  9576. }
  9577. }
  9578. },
  9579. "Commit": {
  9580. "description": "Commit",
  9581. "schema": {
  9582. "$ref": "#/definitions/Commit"
  9583. }
  9584. },
  9585. "DeployKey": {
  9586. "description": "DeployKey",
  9587. "schema": {
  9588. "$ref": "#/definitions/DeployKey"
  9589. }
  9590. },
  9591. "DeployKeyList": {
  9592. "description": "DeployKeyList",
  9593. "schema": {
  9594. "type": "array",
  9595. "items": {
  9596. "$ref": "#/definitions/DeployKey"
  9597. }
  9598. }
  9599. },
  9600. "EmailList": {
  9601. "description": "EmailList",
  9602. "schema": {
  9603. "type": "array",
  9604. "items": {
  9605. "$ref": "#/definitions/Email"
  9606. }
  9607. }
  9608. },
  9609. "FileContentResponse": {
  9610. "description": "FileContentResponse",
  9611. "schema": {
  9612. "$ref": "#/definitions/FileContentResponse"
  9613. }
  9614. },
  9615. "FileDeleteResponse": {
  9616. "description": "FileDeleteResponse",
  9617. "schema": {
  9618. "$ref": "#/definitions/FileDeleteResponse"
  9619. }
  9620. },
  9621. "FileResponse": {
  9622. "description": "FileResponse",
  9623. "schema": {
  9624. "$ref": "#/definitions/FileResponse"
  9625. }
  9626. },
  9627. "GPGKey": {
  9628. "description": "GPGKey",
  9629. "schema": {
  9630. "$ref": "#/definitions/GPGKey"
  9631. }
  9632. },
  9633. "GPGKeyList": {
  9634. "description": "GPGKeyList",
  9635. "schema": {
  9636. "type": "array",
  9637. "items": {
  9638. "$ref": "#/definitions/GPGKey"
  9639. }
  9640. }
  9641. },
  9642. "GitBlobResponse": {
  9643. "description": "GitBlobResponse",
  9644. "schema": {
  9645. "$ref": "#/definitions/GitBlobResponse"
  9646. }
  9647. },
  9648. "GitHook": {
  9649. "description": "GitHook",
  9650. "schema": {
  9651. "$ref": "#/definitions/GitHook"
  9652. }
  9653. },
  9654. "GitHookList": {
  9655. "description": "GitHookList",
  9656. "schema": {
  9657. "type": "array",
  9658. "items": {
  9659. "$ref": "#/definitions/GitHook"
  9660. }
  9661. }
  9662. },
  9663. "GitTreeResponse": {
  9664. "description": "GitTreeResponse",
  9665. "schema": {
  9666. "$ref": "#/definitions/GitTreeResponse"
  9667. }
  9668. },
  9669. "Hook": {
  9670. "description": "Hook",
  9671. "schema": {
  9672. "$ref": "#/definitions/Hook"
  9673. }
  9674. },
  9675. "HookList": {
  9676. "description": "HookList",
  9677. "schema": {
  9678. "type": "array",
  9679. "items": {
  9680. "$ref": "#/definitions/Hook"
  9681. }
  9682. }
  9683. },
  9684. "Issue": {
  9685. "description": "Issue",
  9686. "schema": {
  9687. "$ref": "#/definitions/Issue"
  9688. }
  9689. },
  9690. "IssueDeadline": {
  9691. "description": "IssueDeadline",
  9692. "schema": {
  9693. "$ref": "#/definitions/IssueDeadline"
  9694. }
  9695. },
  9696. "IssueList": {
  9697. "description": "IssueList",
  9698. "schema": {
  9699. "type": "array",
  9700. "items": {
  9701. "$ref": "#/definitions/Issue"
  9702. }
  9703. }
  9704. },
  9705. "Label": {
  9706. "description": "Label",
  9707. "schema": {
  9708. "$ref": "#/definitions/Label"
  9709. }
  9710. },
  9711. "LabelList": {
  9712. "description": "LabelList",
  9713. "schema": {
  9714. "type": "array",
  9715. "items": {
  9716. "$ref": "#/definitions/Label"
  9717. }
  9718. }
  9719. },
  9720. "MarkdownRender": {
  9721. "description": "MarkdownRender is a rendered markdown document"
  9722. },
  9723. "Milestone": {
  9724. "description": "Milestone",
  9725. "schema": {
  9726. "$ref": "#/definitions/Milestone"
  9727. }
  9728. },
  9729. "MilestoneList": {
  9730. "description": "MilestoneList",
  9731. "schema": {
  9732. "type": "array",
  9733. "items": {
  9734. "$ref": "#/definitions/Milestone"
  9735. }
  9736. }
  9737. },
  9738. "Organization": {
  9739. "description": "Organization",
  9740. "schema": {
  9741. "$ref": "#/definitions/Organization"
  9742. }
  9743. },
  9744. "OrganizationList": {
  9745. "description": "OrganizationList",
  9746. "schema": {
  9747. "type": "array",
  9748. "items": {
  9749. "$ref": "#/definitions/Organization"
  9750. }
  9751. }
  9752. },
  9753. "PublicKey": {
  9754. "description": "PublicKey",
  9755. "schema": {
  9756. "$ref": "#/definitions/PublicKey"
  9757. }
  9758. },
  9759. "PublicKeyList": {
  9760. "description": "PublicKeyList",
  9761. "schema": {
  9762. "type": "array",
  9763. "items": {
  9764. "$ref": "#/definitions/PublicKey"
  9765. }
  9766. }
  9767. },
  9768. "PullRequest": {
  9769. "description": "PullRequest",
  9770. "schema": {
  9771. "$ref": "#/definitions/PullRequest"
  9772. }
  9773. },
  9774. "PullRequestList": {
  9775. "description": "PullRequestList",
  9776. "schema": {
  9777. "type": "array",
  9778. "items": {
  9779. "$ref": "#/definitions/PullRequest"
  9780. }
  9781. }
  9782. },
  9783. "Reference": {
  9784. "description": "Reference",
  9785. "schema": {
  9786. "$ref": "#/definitions/Reference"
  9787. }
  9788. },
  9789. "ReferenceList": {
  9790. "description": "ReferenceList",
  9791. "schema": {
  9792. "type": "array",
  9793. "items": {
  9794. "$ref": "#/definitions/Reference"
  9795. }
  9796. }
  9797. },
  9798. "Release": {
  9799. "description": "Release",
  9800. "schema": {
  9801. "$ref": "#/definitions/Release"
  9802. }
  9803. },
  9804. "ReleaseList": {
  9805. "description": "ReleaseList",
  9806. "schema": {
  9807. "type": "array",
  9808. "items": {
  9809. "$ref": "#/definitions/Release"
  9810. }
  9811. }
  9812. },
  9813. "Repository": {
  9814. "description": "Repository",
  9815. "schema": {
  9816. "$ref": "#/definitions/Repository"
  9817. }
  9818. },
  9819. "RepositoryList": {
  9820. "description": "RepositoryList",
  9821. "schema": {
  9822. "type": "array",
  9823. "items": {
  9824. "$ref": "#/definitions/Repository"
  9825. }
  9826. }
  9827. },
  9828. "SearchResults": {
  9829. "description": "SearchResults",
  9830. "schema": {
  9831. "$ref": "#/definitions/SearchResults"
  9832. }
  9833. },
  9834. "ServerVersion": {
  9835. "description": "ServerVersion",
  9836. "schema": {
  9837. "$ref": "#/definitions/ServerVersion"
  9838. }
  9839. },
  9840. "Status": {
  9841. "description": "Status",
  9842. "schema": {
  9843. "$ref": "#/definitions/Status"
  9844. }
  9845. },
  9846. "StatusList": {
  9847. "description": "StatusList",
  9848. "schema": {
  9849. "type": "array",
  9850. "items": {
  9851. "$ref": "#/definitions/Status"
  9852. }
  9853. }
  9854. },
  9855. "TagList": {
  9856. "description": "TagList",
  9857. "schema": {
  9858. "type": "array",
  9859. "items": {
  9860. "$ref": "#/definitions/Tag"
  9861. }
  9862. }
  9863. },
  9864. "Team": {
  9865. "description": "Team",
  9866. "schema": {
  9867. "$ref": "#/definitions/Team"
  9868. }
  9869. },
  9870. "TeamList": {
  9871. "description": "TeamList",
  9872. "schema": {
  9873. "type": "array",
  9874. "items": {
  9875. "$ref": "#/definitions/Team"
  9876. }
  9877. }
  9878. },
  9879. "TrackedTime": {
  9880. "description": "TrackedTime",
  9881. "schema": {
  9882. "$ref": "#/definitions/TrackedTime"
  9883. }
  9884. },
  9885. "TrackedTimeList": {
  9886. "description": "TrackedTimeList",
  9887. "schema": {
  9888. "type": "array",
  9889. "items": {
  9890. "$ref": "#/definitions/TrackedTime"
  9891. }
  9892. }
  9893. },
  9894. "User": {
  9895. "description": "User",
  9896. "schema": {
  9897. "$ref": "#/definitions/User"
  9898. }
  9899. },
  9900. "UserHeatmapData": {
  9901. "description": "UserHeatmapData",
  9902. "schema": {
  9903. "type": "array",
  9904. "items": {
  9905. "$ref": "#/definitions/UserHeatmapData"
  9906. }
  9907. }
  9908. },
  9909. "UserList": {
  9910. "description": "UserList",
  9911. "schema": {
  9912. "type": "array",
  9913. "items": {
  9914. "$ref": "#/definitions/User"
  9915. }
  9916. }
  9917. },
  9918. "WatchInfo": {
  9919. "description": "WatchInfo",
  9920. "schema": {
  9921. "$ref": "#/definitions/WatchInfo"
  9922. }
  9923. },
  9924. "empty": {
  9925. "description": "APIEmpty is an empty response"
  9926. },
  9927. "error": {
  9928. "description": "APIError is error format response",
  9929. "headers": {
  9930. "message": {
  9931. "type": "string"
  9932. },
  9933. "url": {
  9934. "type": "string"
  9935. }
  9936. }
  9937. },
  9938. "forbidden": {
  9939. "description": "APIForbiddenError is a forbidden error response",
  9940. "headers": {
  9941. "message": {
  9942. "type": "string"
  9943. },
  9944. "url": {
  9945. "type": "string"
  9946. }
  9947. }
  9948. },
  9949. "notFound": {
  9950. "description": "APINotFound is a not found empty response"
  9951. },
  9952. "parameterBodies": {
  9953. "description": "parameterBodies",
  9954. "schema": {
  9955. "$ref": "#/definitions/DeleteFileOptions"
  9956. }
  9957. },
  9958. "redirect": {
  9959. "description": "APIRedirect is a redirect response"
  9960. },
  9961. "validationError": {
  9962. "description": "APIValidationError is error format response related to input validation",
  9963. "headers": {
  9964. "message": {
  9965. "type": "string"
  9966. },
  9967. "url": {
  9968. "type": "string"
  9969. }
  9970. }
  9971. }
  9972. },
  9973. "securityDefinitions": {
  9974. "AccessToken": {
  9975. "type": "apiKey",
  9976. "name": "access_token",
  9977. "in": "query"
  9978. },
  9979. "AuthorizationHeaderToken": {
  9980. "type": "apiKey",
  9981. "name": "Authorization",
  9982. "in": "header"
  9983. },
  9984. "BasicAuth": {
  9985. "type": "basic"
  9986. },
  9987. "SudoHeader": {
  9988. "description": "Sudo API request as the user provided as the key. Admin privileges are required.",
  9989. "type": "apiKey",
  9990. "name": "Sudo",
  9991. "in": "header"
  9992. },
  9993. "SudoParam": {
  9994. "description": "Sudo API request as the user provided as the key. Admin privileges are required.",
  9995. "type": "apiKey",
  9996. "name": "sudo",
  9997. "in": "query"
  9998. },
  9999. "Token": {
  10000. "type": "apiKey",
  10001. "name": "token",
  10002. "in": "query"
  10003. }
  10004. },
  10005. "security": [
  10006. {
  10007. "BasicAuth": []
  10008. },
  10009. {
  10010. "Token": []
  10011. },
  10012. {
  10013. "AccessToken": []
  10014. },
  10015. {
  10016. "AuthorizationHeaderToken": []
  10017. },
  10018. {
  10019. "SudoParam": []
  10020. },
  10021. {
  10022. "SudoHeader": []
  10023. }
  10024. ]
  10025. }