Skip to content

Commit 48329c9

Browse files
committed
configurable project limit
Signed-off-by: Markus Blaschke <[email protected]>
1 parent 10e9d35 commit 48329c9

File tree

5 files changed

+6
-2
lines changed

5 files changed

+6
-2
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ Application Options:
4040
--list.query= Pairs of query and project UUIDs in the form: '<queryId>@<projectId>' [$AZURE_DEVOPS_QUERIES]
4141
--request.concurrency= Number of concurrent requests against dev.azure.com (default: 10) [$REQUEST_CONCURRENCY]
4242
--request.retries= Number of retried requests against dev.azure.com (default: 3) [$REQUEST_RETRIES]
43+
--limit.project= Limit number of projects (default: 100) [$LIMIT_PROJECT]
4344
--limit.builds-per-project= Limit builds per project (default: 100) [$LIMIT_BUILDS_PER_PROJECT]
4445
--limit.builds-per-definition= Limit builds per definition (default: 10) [$LIMIT_BUILDS_PER_DEFINITION]
4546
--limit.releases-per-project= Limit releases per project (default: 100) [$LIMIT_RELEASES_PER_PROJECT]
@@ -52,7 +53,6 @@ Application Options:
5253
5354
Help Options:
5455
-h, --help Show this help message
55-
5656
```
5757

5858
Metrics

azure-devops-client/main.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ type AzureDevopsClient struct {
2525
RequestCount uint64
2626
RequestRetries int
2727

28+
LimitProject int64
2829
LimitBuildsPerProject int64
2930
LimitBuildsPerDefinition int64
3031
LimitReleasesPerDefinition int64

azure-devops-client/project.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ func (c *AzureDevopsClient) ListProjects() (list ProjectList, error error) {
2929
c.concurrencyLock()
3030

3131
url := fmt.Sprintf(
32-
"_apis/projects?$top=300&api-version=%v",
32+
"_apis/projects?$top=%v&api-version=%v",
33+
c.LimitProject,
3334
url.QueryEscape(c.ApiVersion),
3435
)
3536
response, err := c.rest().R().Get(url)

config/opts.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ type (
5757
}
5858

5959
Limit struct {
60+
Project int64 `long:"limit.project" env:"LIMIT_PROJECT" description:"Limit number of projects" default:"100"`
6061
BuildsPerProject int64 `long:"limit.builds-per-project" env:"LIMIT_BUILDS_PER_PROJECT" description:"Limit builds per project" default:"100"`
6162
BuildsPerDefinition int64 `long:"limit.builds-per-definition" env:"LIMIT_BUILDS_PER_DEFINITION" description:"Limit builds per definition" default:"10"`
6263
ReleasesPerProject int64 `long:"limit.releases-per-project" env:"LIMIT_RELEASES_PER_PROJECT" description:"Limit releases per project" default:"100"`

main.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ func initAzureDevOpsConnection() {
173173
AzureDevopsClient.SetRetries(opts.Request.Retries)
174174
AzureDevopsClient.SetUserAgent(fmt.Sprintf("azure-devops-exporter/%v", gitTag))
175175

176+
AzureDevopsClient.LimitProject = opts.Limit.Project
176177
AzureDevopsClient.LimitBuildsPerProject = opts.Limit.BuildsPerProject
177178
AzureDevopsClient.LimitBuildsPerDefinition = opts.Limit.BuildsPerDefinition
178179
AzureDevopsClient.LimitReleasesPerDefinition = opts.Limit.ReleasesPerDefinition

0 commit comments

Comments
 (0)