netbox-community / netbox

The premier source of truth powering network automation. Open source under Apache 2. Try NetBox Cloud free: https://netboxlabs.com/free-netbox-cloud/
http://netboxlabs.com/oss/netbox/
Apache License 2.0
16.28k stars 2.59k forks source link

Add URL field on API responses that provides the NetBox UI URL to an object #15156

Closed ITJamie closed 4 months ago

ITJamie commented 9 months ago

NetBox version

4.0.2

Feature type

New functionality

Proposed functionality

When using the Rest API the URL field on objects has direct API URLs. It would be great if there was a display_url or ui_url to use when referencing the object in external tools.

Removing /api from the the existing url field on API response doesn't always work to get to a valid UI URL.

This could be an optional non-default field that could be requested if needed now that #15087 is possible.

examples of what this could look like:

VM API response:

{
    "id": 361,
    "url": "https://demo.netbox.dev/api/virtualization/virtual-machines/361/",
    "ui_url": "https://demo.netbox.dev/virtualization/virtual-machines/361/",
    "display": "vm1",
    "name": "vm1",
 <truncated>

VM Disk response:

{
    "id": 1,
    "url": "https://demo.netbox.dev/api/virtualization/virtual-disks/1/",
    "ui_url: "https://demo.netbox.dev/virtualization/disks/1/",
    "display": "disk1",
 <truncated>

Use case

When using the API sometimes we send slack alerts or emails for specific issues we find with data for a human to visit and interfact with / fix.

With most objects we can strip /api from the URL and give that URL to users, however not all objects follow that (e.g. virtual disks on VMs)

Example:

Database changes

N/A

External dependencies

N/A

jeremystretch commented 7 months ago

@ITJamie could you please make another pass over your original request for readability. I think I get the gist, but we need to uphold a minimum standard for grammar and punctuation. (Please rewrite the issue title as well.)

Additionally, "feature branch" is not a valid version. Please indicate a specific NetBox release.

jeffgdotorg commented 6 months ago

Hey @ITJamie, I've just made some copy-edits to your title and issue body so that we can get this FR into the product backlog. I wasn't able to puzzle out the meaning of Feature branch as the version, though; would you please change that to a current release which includes the work from #15087?

ITJamie commented 6 months ago

updated further with an example of possible API response

jeffgdotorg commented 6 months ago

Thanks for the update @ITJamie. Since this work will involve adding new API response fields, we'll need to schedule it for a minor-version boundary, hence needs milestone status.