Comments (7)
You could call the all function with a filter searching for the specific project id (there are lot of undocumented features in the api - its worth a try).
from php-redmine-api.
I can confirm this issue. But you can't rely only on the name, as it can be the same for multiple projects. Only the identifier and the ID of a Redmine project are unique.
from php-redmine-api.
we have the same issue here, too!
from php-redmine-api.
As a workaround i check the output against my limit.
if ($project['total_count'][0] >= $project_limit) {
//warning
}
from php-redmine-api.
I've changed the AbstractApi::retrieveAll
method to work around this:
protected function retrieveAll($endpoint, array $params = array())
{
$defaults = array(
'limit' => 100,
'offset' => 0,
);
$params = $this->sanitizeParams($defaults, $params);
$ret = array();
$limit = $params['limit'];
$offset = $params['offset'];
$totalCount = 101;
while ($offset < $totalCount) {
$newDataSet = (array) $this->get($endpoint.'?'.http_build_query($params));
$ret = array_merge_recursive($ret, $newDataSet);
if (empty($newDataSet) || !isset($newDataSet['limit']) || !isset($newDataSet['total_count'])) {
$totalCount = 0;
} else {
$totalCount = $newDataSet['total_count'];
$offset += $limit;
$params['offset'] = $offset;
}
}
return $ret;
}
This solves the issue but many tests fail. Can anyone confirm my solution? If it works for you I will update the tests correctly and create a PR
from php-redmine-api.
@VoidAndAny, it's been a loooong time since you raised this issue... see @ferdynator 's last comment, should this still be needful to you!
from php-redmine-api.
retrieveAll says: "Retrieves all the elements of a given endpoint (even if the total number of elements is greater than 100)."
It doesn't do what it should. Please fix
from php-redmine-api.
Related Issues (20)
- Remove `Redmine\Api\...::all()` methods
- Remove `Redmine\Api\AbstractApi::retrieveAll()`
- Add support for PHP 8.3
- Do not use temporary cache in `Redmine\Api\...::list()` methods
- [Idea] New CommandClient (High-level API), split Client and Configuration
- Rename `Response::getBody()` to `Response::getContent()`
- Add method `UnexpectedResponseException::getResponse()`
- Check Status Code of responses (especially for POST/PUT/DELETE requests)
- Create factory methods in all API classes
- Declare all `Redmine\Api\...` classes as final
- Deprecate `AbstractApi::get()`, `AbstractApi::post()`, `AbstractApi::put()` and `AbstractApi::delete()`
- Wiki page title must be urlencoded
- Third party package support: Could not create XML from array HOT 3
- Fix @deprecated phpdoc syntax
- Deprecate all `\Redmine\Api\Issue::PRIO_*` constants
- Remove `\Redmine\Api\Issue::PRIO_*` constants
- Update to Redmine 5.0.8 and 5.1.2 in tests HOT 1
- Deprecate `getLastResponseStatusCode`, `getLastResponseContentType` and `getLastResponseBody` in Clients
- author_id Params Not Working When Creating New Issue HOT 1
- XML/JSON parameter mismatch in TimeEntry.php HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from php-redmine-api.