Skip to content

Commit 03087e9

Browse files
committed
Fixes #4049: Restore missing tags field in IPAM service serializer
1 parent 943c644 commit 03087e9

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

docs/release-notes/version-2.7.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
## Bug Fixes
44

55
* [#4043](https://github.com/netbox-community/netbox/issues/4043) - Fix toggling of required fields in custom scripts
6+
* [#4049](https://github.com/netbox-community/netbox/issues/4049) - Restore missing `tags` field in IPAM service serializer
67

78
---
89

netbox/ipam/api/serializers.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ def to_representation(self, instance):
237237
# Services
238238
#
239239

240-
class ServiceSerializer(CustomFieldModelSerializer):
240+
class ServiceSerializer(TaggitSerializer, CustomFieldModelSerializer):
241241
device = NestedDeviceSerializer(required=False, allow_null=True)
242242
virtual_machine = NestedVirtualMachineSerializer(required=False, allow_null=True)
243243
protocol = ChoiceField(choices=ServiceProtocolChoices)
@@ -247,10 +247,11 @@ class ServiceSerializer(CustomFieldModelSerializer):
247247
required=False,
248248
many=True
249249
)
250+
tags = TagListSerializerField(required=False)
250251

251252
class Meta:
252253
model = Service
253254
fields = [
254-
'id', 'device', 'virtual_machine', 'name', 'port', 'protocol', 'ipaddresses', 'description',
255+
'id', 'device', 'virtual_machine', 'name', 'port', 'protocol', 'ipaddresses', 'description', 'tags',
255256
'custom_fields', 'created', 'last_updated',
256257
]

netbox/ipam/tests/test_api.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1064,6 +1064,7 @@ def test_create_service(self):
10641064
'name': 'Test Service 4',
10651065
'protocol': ServiceProtocolChoices.PROTOCOL_TCP,
10661066
'port': 4,
1067+
'tags': ['Foo', 'Bar'],
10671068
}
10681069

10691070
url = reverse('ipam-api:service-list')
@@ -1076,6 +1077,8 @@ def test_create_service(self):
10761077
self.assertEqual(service4.name, data['name'])
10771078
self.assertEqual(service4.protocol, data['protocol'])
10781079
self.assertEqual(service4.port, data['port'])
1080+
tags = [tag.name for tag in service4.tags.all()]
1081+
self.assertEqual(sorted(tags), sorted(data['tags']))
10791082

10801083
def test_create_service_bulk(self):
10811084

0 commit comments

Comments
 (0)