Repository: netbox-community/netbox

Issue:
ability to add custom links to config templates
### NetBox version

v3.6.5

### Feature type

Data model extension

### Proposed functionality

ability to add custom links to config templates .. the custom link 'content-types' selection ( here: https://demo.netbox.dev/extras/custom-links/add/ ) has many netbox object types .. but config-templates is currently not one of them

implementation-wise I think this means adding CustomLinksMixin to ConfigTemplate model amongst other things?

so, proposed functionality here would mean to add "Extras > Config Template" to the custom-link content-types drop down selection

### Use case

my use case is I would like to add a custom link to a config template so that I can render the template using 'general purpose use' https://docs.netbox.dev/en/stable/features/configuration-rendering/ .. in my use case I use templates in situations other than per-device situations .. being able to add a custom-link will let me point to my custom script do perform custom rendering of the config template

### Database changes

_No response_

### External dependencies

_No response_


Discussion:
Thank you for your interest in extending NetBox. Unfortunately, the information you have provided does not constitute an actionable feature request. Per our [contributing guide](https://github.com/netbox-community/netbox/blob/develop/CONTRIBUTING.md), a feature request must include a thorough description of the proposed functionality, including any database changes, new views or API endpoints, and so on. It must also include a detailed use case justifying its implementation. If you would like to elaborate on your proposal, please modify your post above. If sufficient detail is not added, this issue will be closed.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. **Do not** attempt to circumvent this process by "bumping" the issue; doing so will result in its immediate closure and you may be barred from participating in any future discussions. Please see our [contributing guide](https://github.com/netbox-community/netbox/blob/develop/CONTRIBUTING.md).

Resolving patch:
diff --git a/netbox/extras/models/configs.py b/netbox/extras/models/configs.py
--- a/netbox/extras/models/configs.py
+++ b/netbox/extras/models/configs.py
@@ -11,7 +11,7 @@
 from netbox.config import get_config
 from netbox.registry import registry
 from netbox.models import ChangeLoggedModel
-from netbox.models.features import CloningMixin, ExportTemplatesMixin, SyncedDataMixin, TagsMixin
+from netbox.models.features import CloningMixin, CustomLinksMixin, ExportTemplatesMixin, SyncedDataMixin, TagsMixin
 from utilities.jinja2 import ConfigTemplateLoader
 from utilities.utils import deepmerge
 
@@ -26,7 +26,7 @@
 # Config contexts
 #
 
-class ConfigContext(SyncedDataMixin, CloningMixin, ChangeLoggedModel):
+class ConfigContext(SyncedDataMixin, CloningMixin, CustomLinksMixin, ChangeLoggedModel):
     """
     A ConfigContext represents a set of arbitrary data available to any Device or VirtualMachine matching its assigned
     qualifiers (region, site, etc.). For example, the data stored in a ConfigContext assigned to site A and tenant B
@@ -210,7 +210,7 @@ def clean(self):
 # Config templates
 #
 
-class ConfigTemplate(SyncedDataMixin, ExportTemplatesMixin, TagsMixin, ChangeLoggedModel):
+class ConfigTemplate(SyncedDataMixin, CustomLinksMixin, ExportTemplatesMixin, TagsMixin, ChangeLoggedModel):
     name = models.CharField(
         verbose_name=_('name'),
         max_length=100


Test patch: