-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add bulk import for Contact Assignments #11307
Comments
Please provide more detail in your proposal. What is the specific workflow you envision? What new UI controls, if any, will be needed to accomplish this? |
Dunno how your code build (or if it's actually hard to make), but from user's perspective result must look pretty similar to Interfaces panel in Devices/VMs, in Tenant Section. We already have Contact Assignment in api, just add it's representation in GUI. As result, all already working in GUI flows with bulk change/remove/update for interfaces must work similar for Assigned Contacts, with (almost) same "object" field, bunch of filters (by role, by group, by priority) and ability to change or upload list of updated/new assignments. ID of assignment as key, object not changeable. Contact, role, group and priority updatable. |
my 2 cents:
I think point 1 should be fairly easy (will try (If I find some time)) to look into it. |
Would it be possible to extend the field import list on the racks, devices, virtual machine, and tenant imports to include contact_name, contact_group, contact_role, & contact_priority as optional fields (similar to tenant assignments on devices/racks)? This would allow for the contact assignments to be created or updated via import since we can now update objects via import. |
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. |
Looks like #11584 added working assignment view to 3.5.0. Export also seems fine. @jeremystretch any chance, someone will work on adding import/update functionality to this view in nearby future? P.S. Add button not working on demo, it's internal bug or global? |
That page should not have a |
This has been open for months without any real implementation proposed. @stavr666 would you like to revise your proposal above with sufficient detail, or should we close this out? |
I'm sorry, missed the point, that my FR not readable (does not involved in other projects as much, as with Netbox, you improving really fast). I see realization of Import (with Update) UI similar to how it works with Cables. While Importing, we must have:
|
I didn't get a reply to my previous comment. Is this possible? Would it be possible to extend the field import list on the racks, devices, virtual machine, and tenant imports to include contact_name, contact_group, contact_role, & contact_priority as optional fields (similar to tenant assignments on devices/racks)? This would allow for the contact assignments to be created or updated via import since we can now update objects via import. Also, the Add button on Contact Assignments on the Demo gives you the following error: /tenancy/contact-assignments/add/ |
Should I open a feature request for these additions or is there a better way to update contacts? |
Just to summarize my other post which was rejected due to this similar post:
So, it seams that this functionality might be implemented in "contact assignment" section of netbox, where you could allow a button for importing values from csv file. Relevant table columns should be object-id, contact-id, contact-role-id (because it's now required in gui assignment) and object-type-id (so one could define whether he is assigning contacts to devices or tenants etc). Is this enough info or do you need more details? |
After analyzing the postgresql query (which i explained in #12631) thoroughly, i found the log for database changes and inside it i had discovered my import queries: 2023-05-22 12:21:22.264 UTC [200671] netbox@netbox LOG: statement: INSERT INTO "tenancy_contactassignment" ("created", "last_updated", "content_type_id", "object_id", "contact_id", "role_id", "priority") VALUES ('2023-05-22T12:21:22.264072+00:00'::timestamptz, '2023-05-22T12:21:22.264112+00:00'::timestamptz, 21, 16469, 8050, 2, '') RETURNING "tenancy_contactassignment"."id" 2023-05-22 12:21:22.268 UTC [200671] netbox@netbox LOG: statement: INSERT INTO "extras_objectchange" ("time", "user_id", "user_name", "request_id", "action", "changed_object_type_id", "changed_object_id", "related_object_type_id", "related_object_id", "object_repr", "prechange_data", "postchange_data") VALUES ('2023-05-22T12:21:22.267679+00:00'::timestamptz, 2, 'dakson', 'fb239df2-6274-46da-8088-a33422fcb231'::uuid, 'create', 113, 2073, NULL, NULL, '(11)7550 -> 0CD996908AF1 (85488)', NULL, '{"created": "2023-05-22T12:21:22.264Z", "last_updated": "2023-05-22T12:21:22.264Z", "content_type": 21, "object_id": 16469, "contact": 8050, "role": 2, "priority": ""}') RETURNING "extras_objectchange"."id" In the first log statement i tried an example where i associated tenants (in this case devices) with their contacts using their IDs which are: object_id (id of a device) and contact_id (id of a contact). That query created a new contact-assignment with it's unique id. Regards to the other log statement, thats the data that is written to the log that we see in the GUI, after i imported the necessary data into the contact-assignment query. So if bulk import for Contact Assignments ever gets implament i would be extremely grateful, because it would make my as well as many others peoples work easier.😀 |
@stavr666 can you please explain to us in detail how did you assign contacts via api ? |
Thanx @stavr666. As Dakson13 pointed out, there are few fields that can be used in GUI "contact assignment" section, to assign contacts to objects. Combined with this stavr666's API screenshot, those fields would be: "content_type_id", "object_id", "contact_id", "role_id" and maybe priority.
@jeremystretch I'm sorry, maybe I wasn't clear enough, this question above was meant for you :) |
Please update your description with the proposal. |
"contact assignment" section (organization -> contacts -> contact assignment) should have a new import button, which will allow to bulk import (and probably also update) contact assignments via CSV file. Relevant fields should be: "content_type_id", "object_id", "contact_id", "role_id" and maybe "priority". |
I think we can accept this if it is for the bulk import, that is csv/json/yaml import/update, however the original FR makes it sound like an UI view (i.e. a form) is what is requested. @stavr666 could you clarify the original post? |
I've accepted this with the caveat that I don't know if there's any good reason why it can't be done easily. The accepted FR is only for the bulk import view, that is csv/json/yam import+update. Open for volunteers. |
* adds contact assignment bulk import #11307 * Remove unsupported tags field added by NetBoxModelImportForm --------- Co-authored-by: Jeremy Stretch <[email protected]>
NetBox version
v3.4.1
Feature type
New functionality
Proposed functionality
Add bulk import functionality for Contact Assignments.
Use case
We use contacts to describe the following entities:
Often it turns out, that some contacts changes over time or server usage scenarios changed. So, bunch of assignments must be updated.
For some reason, there is no way to do it in UI, only by API.
Database changes
No response
External dependencies
No response
The text was updated successfully, but these errors were encountered: