diff --git a/AGENTS.md b/AGENTS.md index 5a6ce2d70b8..c860300686a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -8,7 +8,6 @@ While README.md and CONTRIBUTING.md are mainly written for humans, this file is - Always apply the Apache License to new source files - All versions must be delcared in `gradle/libs.versions.toml`, never build.gradle files - Try first declaring a dependency without a version (the version might already be in a BOM); and if fails to resolve _then_ specify a version -- The build may complain with "Dependency analysis found issues.", a category like "usedUndeclaredArtifacts", and a dependency list. Declare or undeclare these dependencies, as the category will imply. The special 'permit*' configurations are a choice of last resort. - Always run `gradlew updateLicenses resolveAndLockAll collectJarInfos --write-locks` after adding or changing a dependency. See `dev-docs/gradle-help/dependencies.txt` for more info ## Build and Development Workflow @@ -21,6 +20,8 @@ While README.md and CONTRIBUTING.md are mainly written for humans, this file is - Use the project's custom `EnvUtils` to read system properties. It auto converts env.var SOLR_FOO_BAR to system property solr.foo.bar - Be careful to not add non-essential logging! If you add slf4j log calls, make sure to wrap debug/trace level calls in `logger.isXxxEnabled()` clause - Validate user input. For file paths, always call `myCoreContainer.assertPathAllowed(myPath)` before using +- Never use fully-qualified-names when an import statement will resolve ambiguity. +- SolrJ & "api" modules should use the latest Java 17 language features as appropriate. Other modules can use Java 21. ## Running Tests @@ -57,6 +58,13 @@ While README.md and CONTRIBUTING.md are mainly written for humans, this file is - To scaffold a new changelog entry, run `gradlew writeChangelog` (JIRA) or `gradlew writeChangeLogPr` (no JIRA), and then edit the new file located in `changelog/unreleased/`. - Do not add a changelog entry before a JIRA issue or a Github PR is assigned, as one is required. +## Issue Tracking (JIRA) + +Solr issues are tracked at https://issues.apache.org/jira (project key `SOLR`). The anonymous REST API works; no auth or scraping needed: + +- Search: `curl "https://issues.apache.org/jira/rest/api/2/search?jql=&fields=summary,status,resolution&maxResults=10"` with JQL like `project=SOLR AND text~"some phrase" ORDER BY updated DESC` +- Single issue (with comments): `curl "https://issues.apache.org/jira/rest/api/2/issue/SOLR-12345?fields=summary,description,comment"` + ## Security For security findings, follow the project's threat model: